首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >基于编解码器而非流标识符的ffmpeg音频编码

基于编解码器而非流标识符的ffmpeg音频编码
EN

Stack Overflow用户
提问于 2022-04-20 09:18:42
回答 1查看 305关注 0票数 0

我有一个RTSP流与一个视频流和三个音频流作为来源。两个音频流用.mp2编码,一个用.ac-3编码。我想将.mp2流转换为AAC。如果每次启动ffmpeg时,.mp2流具有相同的流标识符,这将很容易,但不幸的是,流标识符会发生变化。这意味着有时两个.mp2流是0:a:00:a:1,下一次它们是0:a:10:a:2

是否有选项只重新编码.mp2流并保持.ac-3流不受影响?

我还应该提到,这种编码是用于直播电视的,因此不能选择生成中间文件或有几个ffmpeg命令。

EN

回答 1

Stack Overflow用户

发布于 2022-04-20 14:53:23

试一试

代码语言:javascript
运行
复制
ffprobe -show_entries stream_tags -select_streams a INPUT_URL

并查看是否存在区分mp2流的流标记(元数据)。然后可以使用元数据流说明符选择性地设置重新编码:

代码语言:javascript
运行
复制
ffmpeg ... -c copy -c:a:m:{name}:{value} ac3 ...

其中{name}{value}分别是标记的名称和值。

关于流说明符的参考:https://ffmpeg.org/ffmpeg.html#Stream-specifiers-1

如果没有任何可用的标记,那么您唯一的解决方案可能是在运行ffprobe之前先运行ffmpeg来标识流#。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71937124

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档