ffmpeg - 如何将 .mp3 添加到 .webm 文件?

标签 ffmpeg

我正在尝试将音频(重复直到视频结束)添加到 .webm 文件。但得到一个错误-
我正在使用的代码是-

   ffmpeg -i 1.webm -stream_loop -1 -i 1.mp3 -c copy -shortest -map 0:v:0 -map 1:a:0  output.webm
我得到的错误是-
    Only VP8 or VP9 or AV1 video and Vorbis or Opus audio and WebVTT subtitles are supported for WebM.
Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
在写这篇文章之前,我已经检查了其他帖子,但这些解决方案对我不起作用。
有什么办法让它工作吗?

最佳答案

WebM 容器不支持旧的 MP3 音频编解码器。
请改用 Opus。对于相同的质量,您需要不到一半的比特率。这里我选择 96Kbit/s 比特率,在 MP3 中应该等于大约 200。调整该参数。 -mapping_family 0 是 ffmpeg 使用大多数 opus 优化所必需的,standard -1 will deactivate most of them .如果输入源有超过 2 个 channel ,则使用 mapping_family 1。

 ffmpeg -i 1.webm -stream_loop -1 -i 1.mp3 -vcodec copy -acodec libopus -mapping_family 0 -b:a 96k -shortest -map 0:v:0 -map 1:a:0  output.webm
如果你真的想使用旧的 MP3,你也可以只使用 .mkv 容器。 MKV 几乎支持一切。
 ffmpeg -i 1.webm -stream_loop -1 -i 1.mp3 -c copy -shortest -map 0:v:0 -map 1:a:0  output.mkv

关于ffmpeg - 如何将 .mp3 添加到 .webm 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67034367/

相关文章:

c++ - 使用 ffmpeg 将图像写入 RTP

ffmpeg - Linux 上的专有编解码器。什么是合法的?

python-2.7 - 从 Popen 内部(扭曲的) timer.LoopingCall() 运行 ffmpeg

Android:在Android中录制音频然后将音频读入python

android - 在 Android apk 中打包 linux 二进制文件

python ffmpeg moov atom在处理输入时找不到无效数据

video - 如何使用最新版本的 FFMPEG 在视频录制中创建时间间隔?

node.js - ffprobe 无法读取 AWS 上 Node JS createWriteStream() 生成的文件

FFMPEG 将两个命令合二为一

python - 在 python 中使用 ffmpeg 将音频文件转换为 mp3