0

DNxHD encoding

Hi,

 

I would like to convert a RV playlist file to a DNxHD 115 QT file using RVIO 4.0.12 on Linux 64.
I know that DNxHD can be read/write through recompiling the code... and that's actually done in our facilities.  (EDIT - RV/RVIO has supported DNxHD out-of-the-box since the 6.2.3 release of June 2015)

The problem is that I don't understand how to enter the FFMpeg encoding arguments in the RVIO command.
My actual RVIO command is: rvio -v playlist.rv -outfps 24 -outres 1920 1080 -codec dnxhd -o movie.mov
Resulting in the following error: ERROR: Movie FFMpeg: video parameters incompatible with DNxHD. And I receive the DNx profiles list.

Thanks in advance for your answer.
Best regards,


Loïc Poës
Mikros Image Liège (BE)

 

3 comments

  • 0
    Avatar
    Jon Morley

    Hi Lpo,

    Using "-codec dnxhd" is a little tricky because that codec is limited to a range of specific resolution + bit depth + bit rate combinations. If you get it wrong it will barf a long list of acceptable combinations at least, but it isn't always obvious why the command you used failed.

    You have to make sure that your target output fps, resolution, and bit rate are all supported. When you get it wrong you will see the following:

    ERROR [16]: MovieFFMpeg: video parameters incompatible with DNxHD. Valid DNxHD profiles:
    ERROR [16]: MovieFFMpeg: Frame size: 1920x1080p; bitrate: 175Mbps; pixel format: yuv422p10; framerate: 24000/1001
    ERROR [16]: MovieFFMpeg: Frame size: 1920x1080p; bitrate: 185Mbps; pixel format: yuv422p10; framerate: 25/1
    ERROR [16]: MovieFFMpeg: Frame size: 1920x1080p; bitrate: 365Mbps; pixel format: yuv422p10; framerate: 50/1
    ERROR [16]: MovieFFMpeg: Frame size: 1920x1080p; bitrate: 440Mbps; pixel format: yuv422p10; framerate: 60000/1001
    ERROR [16]: MovieFFMpeg: Frame size: 1920x1080p; bitrate: 115Mbps; pixel format: yuv422p; framerate: 24000/1001
    ERROR [16]: MovieFFMpeg: Frame size: 1920x1080p; bitrate: 120Mbps; pixel format: yuv422p; framerate: 25/1
    ERROR [16]: MovieFFMpeg: Frame size: 1920x1080p; bitrate: 145Mbps; pixel format: yuv422p; framerate: 30000/1001
    ERROR [16]: MovieFFMpeg: Frame size: 1920x1080p; bitrate: 240Mbps; pixel format: yuv422p; framerate: 50/1
    ERROR [16]: MovieFFMpeg: Frame size: 1920x1080p; bitrate: 290Mbps; pixel format: yuv422p; framerate: 60000/1001
    ERROR [16]: MovieFFMpeg: Frame size: 1920x1080p; bitrate: 175Mbps; pixel format: yuv422p; framerate: 24000/1001
    ERROR [16]: MovieFFMpeg: Frame size: 1920x1080p; bitrate: 185Mbps; pixel format: yuv422p; framerate: 25/1
    ERROR [16]: MovieFFMpeg: Frame size: 1920x1080p; bitrate: 220Mbps; pixel format: yuv422p; framerate: 30000/1001
    ERROR [16]: MovieFFMpeg: Frame size: 1920x1080p; bitrate: 365Mbps; pixel format: yuv422p; framerate: 50/1
    ERROR [16]: MovieFFMpeg: Frame size: 1920x1080p; bitrate: 440Mbps; pixel format: yuv422p; framerate: 60000/1001
    ERROR [16]: MovieFFMpeg: Frame size: 1920x1080i; bitrate: 185Mbps; pixel format: yuv422p10; framerate: 25/1
    ERROR [16]: MovieFFMpeg: Frame size: 1920x1080i; bitrate: 220Mbps; pixel format: yuv422p10; framerate: 30000/1001
    ERROR [16]: MovieFFMpeg: Frame size: 1920x1080i; bitrate: 120Mbps; pixel format: yuv422p; framerate: 25/1
    ERROR [16]: MovieFFMpeg: Frame size: 1920x1080i; bitrate: 145Mbps; pixel format: yuv422p; framerate: 30000/1001
    ERROR [16]: MovieFFMpeg: Frame size: 1920x1080i; bitrate: 185Mbps; pixel format: yuv422p; framerate: 25/1
    ERROR [16]: MovieFFMpeg: Frame size: 1920x1080i; bitrate: 220Mbps; pixel format: yuv422p; framerate: 30000/1001
    ERROR [16]: MovieFFMpeg: Frame size: 1280x720p; bitrate: 90Mbps; pixel format: yuv422p10; framerate: 24000/1001
    ERROR [16]: MovieFFMpeg: Frame size: 1280x720p; bitrate: 90Mbps; pixel format: yuv422p10; framerate: 25/1
    ERROR [16]: MovieFFMpeg: Frame size: 1280x720p; bitrate: 180Mbps; pixel format: yuv422p10; framerate: 50/1
    ERROR [16]: MovieFFMpeg: Frame size: 1280x720p; bitrate: 220Mbps; pixel format: yuv422p10; framerate: 60000/1001
    ERROR [16]: MovieFFMpeg: Frame size: 1280x720p; bitrate: 90Mbps; pixel format: yuv422p; framerate: 24000/1001
    ERROR [16]: MovieFFMpeg: Frame size: 1280x720p; bitrate: 90Mbps; pixel format: yuv422p; framerate: 25/1
    ERROR [16]: MovieFFMpeg: Frame size: 1280x720p; bitrate: 110Mbps; pixel format: yuv422p; framerate: 30000/1001
    ERROR [16]: MovieFFMpeg: Frame size: 1280x720p; bitrate: 180Mbps; pixel format: yuv422p; framerate: 50/1
    ERROR [16]: MovieFFMpeg: Frame size: 1280x720p; bitrate: 220Mbps; pixel format: yuv422p; framerate: 60000/1001
    ERROR [16]: MovieFFMpeg: Frame size: 1280x720p; bitrate: 60Mbps; pixel format: yuv422p; framerate: 24000/1001
    ERROR [16]: MovieFFMpeg: Frame size: 1280x720p; bitrate: 60Mbps; pixel format: yuv422p; framerate: 25/1
    ERROR [16]: MovieFFMpeg: Frame size: 1280x720p; bitrate: 75Mbps; pixel format: yuv422p; framerate: 30000/1001
    ERROR [16]: MovieFFMpeg: Frame size: 1280x720p; bitrate: 120Mbps; pixel format: yuv422p; framerate: 50/1
    ERROR [16]: MovieFFMpeg: Frame size: 1280x720p; bitrate: 145Mbps; pixel format: yuv422p; framerate: 60000/1001
    ERROR [16]: MovieFFMpeg: Frame size: 1920x1080p; bitrate: 36Mbps; pixel format: yuv422p; framerate: 24000/1001
    ERROR [16]: MovieFFMpeg: Frame size: 1920x1080p; bitrate: 36Mbps; pixel format: yuv422p; framerate: 25/1
    ERROR [16]: MovieFFMpeg: Frame size: 1920x1080p; bitrate: 45Mbps; pixel format: yuv422p; framerate: 30000/1001
    ERROR [16]: MovieFFMpeg: Frame size: 1920x1080p; bitrate: 75Mbps; pixel format: yuv422p; framerate: 50/1
    ERROR [16]: MovieFFMpeg: Frame size: 1920x1080p; bitrate: 90Mbps; pixel format: yuv422p; framerate: 60000/1001
    

    The biggest thing to look out for is what you set "vcc:bitrate" to. Because in the table you see the shorthand representation #Mbps, but RVIO and ffmpeg's library underneath are expecting the fully written out value. In other words 36Mbps becomes 36000000 (literally 36 million).

    Here is an example command line:

    rvio_hw smptebars,start=1,end=50,1080p25.movieproc -o DNxHD_test.mov -vv -codec dnxhd -outfps 25 -outparams pix_fmt=yuv422p10 vcc:b=185000000
  • 0
    Avatar
    Jon Morley

    Great!

  • 0
    Avatar
    Loïc Poës

    Thank you for the example command line. I'm now able to output a working MOV file.

Please sign in to leave a comment.