[FFmpeg-user] Default output fps vs fps filter @ 30fps
Hans Carlson
forbyta at gmx.com
Mon Oct 21 00:05:29 EEST 2019
I have an h264/vorbis video at 1k fps and want to convert it to mpeg2/ac3
at 30 fps. If I don't use the fps filter ffmpeg appears to automatically
convert the output to 30 fps (which I assume is the default -r value), but
the following warnings are displayed:
More than 1000 frames duplicated
More than 10000 frames duplicated
If I use the fps filter (fps=fps=30), then those warnings are not
displayed and there's no indication of duplicated (or dropped) frames...
although I assume there must have been.
I can't see any obvious difference between the 2 output files (although I
haven't watched both completely through), so I'm just curious if there IS
any appreciable difference for this video.
Is there any advantage (or disadvantage) to using the fps filter vs the -r
option in this particular case?
Here's full output for both commands:
$ ffmpeg -i TEST.mkv -codec:v mpeg2video -b:v 16384k -bufsize 4096k -maxrate 30000k -codec:a ac3 -b:a 448k -ar 48000 -f vob TEST-default.mpg
ffmpeg version N-95488-g09581f7923 Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 7 (GCC)
configuration: --enable-gpl --enable-nonfree --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-openssl
libavutil 56. 35.101 / 56. 35.101
libavcodec 58. 59.102 / 58. 59.102
libavformat 58. 33.100 / 58. 33.100
libavdevice 58. 9.100 / 58. 9.100
libavfilter 7. 63.100 / 7. 63.100
libswscale 5. 6.100 / 5. 6.100
libswresample 3. 6.100 / 3. 6.100
libpostproc 55. 6.100 / 55. 6.100
Input #0, matroska,webm, from 'TEST.mkv':
Metadata:
ENCODER : Lavf57.71.100
Duration: 00:58:41.47, start: 0.000000, bitrate: 2190 kb/s
Stream #0:0: Video: h264 (High), yuv420p(tv, bt709, progressive), 1600x900 [SAR 1:1 DAR 16:9], 1k fps, 30 tbr, 1k tbn, 60 tbc (default)
Metadata:
DURATION : 00:58:41.434000000
Stream #0:1: Audio: vorbis, 48000 Hz, stereo, fltp (default)
Metadata:
DURATION : 00:58:41.474000000
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> mpeg2video (native))
Stream #0:1 -> #0:1 (vorbis (native) -> ac3 (native))
Press [q] to stop, [?] for help
Output #0, vob, to 'TEST-default.mpg':
Metadata:
encoder : Lavf58.33.100
Stream #0:0: Video: mpeg2video (Main), yuv420p, 1600x900 [SAR 1:1 DAR 16:9], q=2-31, 16384 kb/s, 30 fps, 90k tbn, 30 tbc (default)
Metadata:
DURATION : 00:58:41.434000000
encoder : Lavc58.59.102 mpeg2video
Side data:
cpb: bitrate max/min/avg: 30000000/0/16384000 buffer size: 4096000 vbv_delay: N/A
Stream #0:1: Audio: ac3, 48000 Hz, stereo, fltp, 448 kb/s (default)
Metadata:
DURATION : 00:58:41.474000000
encoder : Lavc58.59.102 ac3
More than 1000 frames duplicated 73126kB time=00:03:11.54 bitrate=3127.4kbits/s dup=985 drop=0 speed= 6.8x
More than 10000 frames duplicated510586kB time=00:13:46.84 bitrate=5058.7kbits/s dup=9998 drop=0 speed=6.22x
frame=105644 fps=198 q=2.0 Lsize= 1967088kB time=00:58:41.50 bitrate=4576.0kbits/s dup=31190 drop=0 speed=6.58x
video:1749220kB audio:192582kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.302177%
$ ffmpeg -i TEST.mkv -codec:v mpeg2video -b:v 16384k -bufsize 4096k -maxrate 30000k -codec:a ac3 -b:a 448k -ar 48000 -vf fps=fps=30 -f vob TEST-fpsfilter.mpg
ffmpeg version N-95488-g09581f7923 Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 7 (GCC)
configuration: --enable-gpl --enable-nonfree --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-openssl
libavutil 56. 35.101 / 56. 35.101
libavcodec 58. 59.102 / 58. 59.102
libavformat 58. 33.100 / 58. 33.100
libavdevice 58. 9.100 / 58. 9.100
libavfilter 7. 63.100 / 7. 63.100
libswscale 5. 6.100 / 5. 6.100
libswresample 3. 6.100 / 3. 6.100
libpostproc 55. 6.100 / 55. 6.100
Input #0, matroska,webm, from 'TEST.mkv':
Metadata:
ENCODER : Lavf57.71.100
Duration: 00:58:41.47, start: 0.000000, bitrate: 2190 kb/s
Stream #0:0: Video: h264 (High), yuv420p(tv, bt709, progressive), 1600x900 [SAR 1:1 DAR 16:9], 1k fps, 30 tbr, 1k tbn, 60 tbc (default)
Metadata:
DURATION : 00:58:41.434000000
Stream #0:1: Audio: vorbis, 48000 Hz, stereo, fltp (default)
Metadata:
DURATION : 00:58:41.474000000
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> mpeg2video (native))
Stream #0:1 -> #0:1 (vorbis (native) -> ac3 (native))
Press [q] to stop, [?] for help
Output #0, vob, to 'TEST-fpsfilter.mpg':
Metadata:
encoder : Lavf58.33.100
Stream #0:0: Video: mpeg2video (Main), yuv420p, 1600x900 [SAR 1:1 DAR 16:9], q=2-31, 16384 kb/s, 30 fps, 90k tbn, 30 tbc (default)
Metadata:
DURATION : 00:58:41.434000000
encoder : Lavc58.59.102 mpeg2video
Side data:
cpb: bitrate max/min/avg: 30000000/0/16384000 buffer size: 4096000 vbv_delay: N/A
Stream #0:1: Audio: ac3, 48000 Hz, stereo, fltp, 448 kb/s (default)
Metadata:
DURATION : 00:58:41.474000000
encoder : Lavc58.59.102 ac3
frame=105643 fps=193 q=2.0 Lsize= 1967588kB time=00:58:41.50 bitrate=4577.2kbits/s speed=6.44x
video:1749717kB audio:192582kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.302014%
More information about the ffmpeg-user
mailing list