[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