I'm trying to convert 30 fps videos to 24 fps. I've been playing with a lot of
methods for removing what I think may be known as lag spikes, spurious
duplicate frames which fall outside the usual pattern of 4 unique frames and 1
duplicate of the 4th. I tried the following command and find that it eliminates
the spurious dups, but it also eliminates many dups in succession, virtually
cutting out all passages where there is a black screen or any group of
consecutive frames having precisely the same content. I've already tried many
variations of this command line. Is there a way to alter the command so that no
more than 1 consecutive dup will be eliminated?
I have one more related question.
If I omit "mpdecimate,setpts=N/24/TB" from the filter chain on a video of a
duration greater than a few minutes, the results are very good except that the
audio sync deteriorates gradually, apparently because the audio is being
encoded with a shorter duration than video at the specified frame rate. Is
there a way I can alter the command so that the audio will remain synced? (I've
also tried copying the audio with no encoding, which has similar results.)
Thanks.
Here's my command line and output:
ffmpeg -i 30_fps.ts -map 0:0 -vf
decimate=cycle=5,mpdecimate,setpts=N/24/TB,crop=1920:800:0:140 -c:v
h264_videotoolbox -b:v 3600k -color_primaries:v bt709 -color_trc:v bt709
-colorspace:v bt709 -metadata:s:v "title=" -disposition:v default -map 0:1
-c:a:0 ac3 -b:a 640k -metadata:s:a:0 "title=" -disposition:a:0 default
-metadata:g "title=" -r 24 -movflags disable_chpl 30_fps_to_24.mp4
ffmpeg -i 30_fps.ts -map 0:0 -vf
decimate=cycle=5,mpdecimate,setpts=N/24/TB,crop=1920:800:0:140 -c:v
h264_videotoolbox -b:v 3600k -color_primaries:v bt709 -color_trc:v bt709
-colorspace:v bt709 -metadata:s:v "title=" -disposition:v default -map 0:1
-c:a:0 ac3 -b:a 640k -metadata:s:a:0 "title=" -disposition:a:0 default
-metadata:g "title=" -r 24 -movflags disable_chpl 30_fps_to_24.mp4
ffmpeg version 7.0.1 Copyright (c) 2000-2024 the FFmpeg developers
built with Apple clang version 15.0.0 (clang-1500.3.9.4)
configuration: --prefix=/opt/homebrew/Cellar/ffmpeg/7.0.1 --enable-shared
--enable-pthreads --enable-version3 --cc=clang --host-cflags=
--host-ldflags='-Wl,-ld_classic' --enable-ffplay --enable-gnutls --enable-gpl
--enable-libaom --enable-libaribb24 --enable-libbluray --enable-libdav1d
--enable-libharfbuzz --enable-libjxl --enable-libmp3lame --enable-libopus
--enable-librav1e --enable-librist --enable-librubberband --enable-libsnappy
--enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtesseract
--enable-libtheora --enable-libvidstab --enable-libvmaf --enable-libvorbis
--enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265
--enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig
--enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb
--enable-libopencore-amrwb --enable-libopenjpeg --enable-libspeex
--enable-libsoxr --enable-libzmq --enable-libzimg --disable-libjack
--disable-indev=jack --enable-videotoolbox --enable-audiot
oolbox --enable-neon
libavutil 59. 8.100 / 59. 8.100
libavcodec 61. 3.100 / 61. 3.100
libavformat 61. 1.100 / 61. 1.100
libavdevice 61. 1.100 / 61. 1.100
libavfilter 10. 1.100 / 10. 1.100
libswscale 8. 1.100 / 8. 1.100
libswresample 5. 1.100 / 5. 1.100
libpostproc 58. 1.100 / 58. 1.100
Input #0, mpegts, from '30_fps.ts':
Duration: 00:01:00.15, start: 1.400000, bitrate: 15068 kb/s
Program 1
Metadata:
service_name : Service01
service_provider: FFmpeg
Stream #0:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv,
bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 30 fps, 30 tbr, 90k tbn
Stream #0:1[0x101]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side),
fltp, 640 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> h264 (h264_videotoolbox))
Stream #0:1 -> #0:1 (ac3 (native) -> ac3 (native))
Press [q] to stop, [?] for help
Output #0, mp4, to '30_fps_to_24.mp4':
Metadata:
encoder : Lavf61.1.100
Stream #0:0: Video: h264 (avc1 / 0x31637661), yuv420p(tv, bt709,
progressive), 1920x800 [SAR 1:1 DAR 12:5], q=2-31, 3600 kb/s, 24 fps, 12288 tbn
(default)
Metadata:
encoder : Lavc61.3.100 h264_videotoolbox
Stream #0:1: Audio: ac3 (ac-3 / 0x332D6361), 48000 Hz, 5.1(side), fltp, 640
kb/s (default)
Metadata:
encoder : Lavc61.3.100 ac3
[out#0/mp4 @ 0x6000006bc000] video:19462KiB audio:4688KiB subtitle:0KiB other
streams:0KiB global headers:0KiB muxing overhead: 0.069524%
frame= 808 fps=107 q=-0.0 Lsize= 24167KiB time=00:00:33.62
bitrate=5887.7kbits/s speed=4.46x
Thanks again!
L. Lee
_______________________________________________
ffmpeg-user mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user
To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".