想知道ffmpeg是否可以帮助我缩小名为“OBS_VLC_replay.mp4”的结果文件的大小,该文件是由于使用VLC以x1.3速度播放视频而产生的(使用音频音调校正以保持x1.0播放速度音频用于捕获桌面和扬声器输出的“original_video.mp4”和OBS(OpenBroadcase Studio)。
注意,“original.mp4”和“OBS_VLC_replay.mp4”的帧大小/分辨率是相同的,即全高清@ 1920x1080,尽管“original.mp4”的帧速率是25fps,而“OBS_VLC_replay.mp4”的帧速率是25fps。是30fps。 “original.mp4”中的音频流是aac,记录为@ 48kHz,而OBS重新编码的是@ 44.1kHz。然而 文件大小 “OBS_VLC_replay.mp4”是 显着更大 (数量级),而不是“original.mp4”。我认为,应该归咎于视频流的编码(以及由于更高的帧速率而产生的额外帧)。
使用Kdenlive生成“original_video.mp4”,然后使用ffmpeg进行修剪。 ffprobe
在“original_video.mp4”上说:
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf58.3.100
Duration: 00:03:48.46, start: 0.000000, bitrate: 316 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709/unknown/bt709), 1920x1080 [SAR 1:1 DAR 16:9], 127 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 182 kb/s (default)
Metadata:
handler_name : SoundHandler
ffprobe
在“OBS_VLC_replay.mp4”上说:
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf57.84.100
Duration: 00:12:14.47, start: 0.067000, bitrate: 2657 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080, 2499 kb/s, 30 fps, 30 tbr, 90k tbn, 60 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 145 kb/s (default)
Metadata:
handler_name : SoundHandler
所以问题是,我可以在“OBS_VLC_replay.mp4”上使用ffmpeg来回到25fps和类似级别/类型的编码,以便将生成的mp4文件大小带回“original.mp4”附近吗?
这是非常低效的工作流程,只需使用ffmpeg和橡皮带滤波器。
—
Gyan
再次感谢。实际上,这种工作流程非常低效,但使用橡皮带滤波器支持重新编译ffmpeg会更加耗时。所以,我只是使用ffmpeg修剪了最初的1秒和“OBS_VLC_replay.mp4”的尾随1秒,并且它的文件大小显着下降(比“original.mp4”小5%)!
—
icarus74