[Libav-user] bitrate and file size issue with nvidia nvenv encoder

Sreenath BH bhsreenath at gmail.com
Fri Mar 4 18:06:48 CET 2016


Hi All,

Any comments on my below query?

Also, is there any other group specifically for nvidia codec for ffmpeg?

thanks,
Sreenath

On 3/3/16, Sreenath BH <bhsreenath at gmail.com> wrote:
> Hi all,
>
> I am trying to use nvidia's nvenc codec to transcode video files.
> ffmpeg has been built
> with both libx264 and nvenc codecs enabled.
>
> ffmpeg when run using nvenc codec creates a file that is almost double
> the size of input
> mp4 file and bitrate almost double the size of input file.
>
> This is output of ffprobe on the input file:
>
> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'large.mp4':
>  Metadata:
>  Duration: 01:49:12.30, start: 0.000000, bitrate: 391 kb/s
>   Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p,
> 768x432 [SAR 1:1 DAR 16:9], 292 kb/s, 30 fps, 30 tbr, 30 tbn, 60 tbc
> (default)
>   Metadata:
>     creation_time   : 2013-11-15 18:04:27
>     handler_name    : Apple Video Media Handler
>
> -----     Command used with libx264:
> ffmpeg -i large.mp4 -loglevel quiet -c:a aac -c:v libx264 -pix_fmt
> yuv420p -movflags +faststart out.mp4
>
> output file has size of : 313818971  bytes
> ffprobe output on the output file:
>
>  Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'out.mp4':
>  Metadata:
>    encoder         : Lavf57.25.100
>    Duration: 01:49:12.30, start: 0.023220, bitrate: 383 kb/s
>   Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p,
> 768x432 [SAR 1:1 DAR 16:9], 245 kb/s, 30 fps, 30 tbr, 15360 tbn, 60
> tbc (default)
>  Metadata:
>   handler_name    : VideoHandler
>
> --------  Command using nvenv codec:
> ffmpeg -i large.mp4 -loglevel quiet -c:a aac -c:v nvenc -pix_fmt
> yuv420p -movflags +faststart out.mp4
>
> Size of output file:
> 646598462  bytes (640 MB)
>
> ffprobe output on the output files are as follows:
>
>   Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'out.mp4':
>   Metadata:
>    encoder         : Lavf57.25.100
>    Duration: 01:49:12.30, start: 0.023220, bitrate: 789 kb/s
>    Stream #0:0(eng): Video: h264 (Main) (avc1 / 0x31637661),
> yuv420p(tv), 768x432 [SAR 1:1 DAR 16:9], 654 kb/s, 30 fps, 30 tbr,
> 15360 tbn, 60 tbc (default)
>   Metadata:
>    handler_name    : VideoHandler
>
> So the differences between the two appear to be:
>
> (1) pixel format :  yuv420p(tv) with nvidia whereas it is yuv420p with
> libx264
> (2) h264 (Main)  with nvidia whereas it is Video: h264 (High)
> (3) bitrate: 789 kb/s with nvidia whereas it is  383 kb/s with lib264.
>
> What is causing nvidia codec to double the bitrate? As can be seen, I
> am not specifying any bitrate to use. So I expect ffmpeg to retain the
> same bitrate.
>
> I would like to retain the same bitrate and it would be good is the
> file size if not so large.
>
> Any help appreciated,
>
> thanks,
> Sreenath
>


More information about the Libav-user mailing list