如何对音频流进行一次转码,但在两个输出中使用也分别转码的视频流?
发布时间:2022-08-08 11:41:38 213
相关标签: # 信息
我希望优化视频转码的过程。确切地说,我需要使用相同的音频流选项获得两种不同的视频分辨率,但现在我对音频流进行了两次转码(因为我认为 ffmpeg 有效)。
源视频有这样的音频流:
ffprobe /v
/v: Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 5.1, fltp, 437 kb/s (default)
现在,我使用这些选项将一个视频转换为两种质量:
ffmpeg -to 00:00:10 -i /v \
-c:a mp3 -ab 42k -vcodec libx264 -s 1920x1080 -b:v 4000k -preset fast -vprofile main -g 50 -f flv 1.mp4 \
-c:a mp3 -ab 42k -vcodec libx264 -s 1280x720 -b:v 2000k -preset fast -vprofile main -g 50 -f flv 2.mp4
如你们所见,我为每个输出定义了两次音频流设置,我认为ffmpeg会对音频流进行两次转码(他这样做了吗?)。我得到了预期的音频流参数:
ffprobe 1.mp4
ffprobe 2.mp4
1.mp4: Stream #0:1: Audio: mp3, 48000 Hz, stereo, fltp, 42 kb/s
2.mp4: Stream #0:1: Audio: mp3, 48000 Hz, stereo, fltp, 42 kb/s
我希望对音频流进行一次转码并将其输出用于两个输出文件。怎么做?我试过了,但得到了不同的音频流参数:
ffmpeg -to 00:00:10 -i /v \
-c:a mp3 -ab 42k \
-vcodec libx264 -s 1920x1080 -b:v 4000k -preset fast -vprofile main -g 50 -f flv 1.mp4 \
-vcodec libx264 -s 1280x720 -b:v 2000k -preset fast -vprofile main -g 50 -f flv 2.mp4
ffprobe 1.mp4
ffprobe 2.mp4
1.mp4: Stream #0:1: Audio: mp3, 48000 Hz, stereo, fltp, 42 kb/s
2.mp4: Stream #0:1: Audio: mp3, 48000 Hz, stereo, fltp, 128 kb/s
如您所见,2.mp4 的音频比特率为 128 Kb/s 而不是 42 Kb/s。我尝试阅读有关 -map 和 -filter_complex 的信息,但希望得到您的帮助。
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报