返回

如何对音频流进行一次转码,但在两个输出中使用也分别转码的视频流?

发布时间:2022-08-08 11:41:38 204
# 信息

我希望优化视频转码的过程。确切地说,我需要使用相同的音频流选项获得两种不同的视频分辨率,但现在我对音频流进行了两次转码(因为我认为 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 的信息,但希望得到您的帮助。

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(1)
按点赞数排序
用户头像
下一篇
ruby on rails-角度静态站点生成器 2022-08-08 09:39:39