![OBS+VLC 工作流程后,可以使用 ffmpeg 将编码文件大小缩小回原始大小吗?](https://linux22.com/image/1561479/OBS%2BVLC%20%E5%B7%A5%E4%BD%9C%E6%B5%81%E7%A8%8B%E5%90%8E%EF%BC%8C%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%20ffmpeg%20%E5%B0%86%E7%BC%96%E7%A0%81%E6%96%87%E4%BB%B6%E5%A4%A7%E5%B0%8F%E7%BC%A9%E5%B0%8F%E5%9B%9E%E5%8E%9F%E5%A7%8B%E5%A4%A7%E5%B0%8F%E5%90%97%EF%BC%9F.png)
想知道 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”的帧速率为 30fps。“original.mp4”中的音频流是 aac,以@48kHz 录制,而 OBS 重新编码的音频流以@44.1kHz 录制。然而,文件大小“OBS_VLC_replay.mp4” 是明显更大(数量级),比“original.mp4”大。我认为,问题出在视频流的编码(以及由于帧速率较高而产生的额外帧)上。
“original_video.mp4”是使用 Kdenlive 制作的,然后使用 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”吗?