ffmpeg:哪些文件格式支持标准输入?
Posted
技术标签:
【中文标题】ffmpeg:哪些文件格式支持标准输入?【英文标题】:ffmpeg: which file formats support stdin usage? 【发布时间】:2012-10-11 13:39:05 【问题描述】:我知道 ffmpeg 能够从 stdin
读取数据,而不是使用 ffmpeg -i -
从磁盘读取数据。是否支持所有文件格式?如果不是,是否有支持哪些文件格式的列表?
【问题讨论】:
你怎么知道的?它在文档中吗? 【参考方案1】:您需要运行ffmpeg -protocols
以确定您的ffmpeg 版本是否支持pipe
协议(从标准输入和标准输出读取和写入),然后运行ffmpeg -formats
以查看支持的格式列表。在下面的摘录中,您将看到输出管道上的注释,它必须可用于某些协议。对于输入协议,它没有这样的限制。
来自man ffmpeg-protocols
:
协议
协议是 FFmpeg 中允许访问的配置元素 需要使用特定协议的资源。
当你配置你的 FFmpeg 构建时,所有支持的协议都是 默认启用。您可以使用列出所有可用的 配置选项
--list-protocols
。您可以使用配置选项禁用所有协议
--disable-protocols
,并使用 选项--enable-protocol=PROTOCOL
,或者您可以禁用特定的 协议使用选项--disable-protocol=PROTOCOL
。ff*工具的选项
-protocols
会显示列表 支持的协议。以下是对当前可用协议的描述。 ... 管道 UNIX 管道访问协议。
允许从 UNIX 管道读取和写入。
接受的语法是:
pipe:[<number>]
number 是对应的文件描述符的编号 管道(例如,0 表示标准输入,1 表示标准输出,2 表示标准错误)。如果号码不是 指定,默认情况下标准输出文件描述符将用于 写作,阅读的标准输入。
请注意,某些格式(通常是 MOV)需要输出协议 是可搜索的,因此它们将因管道输出协议而失败。
【讨论】:
谢谢,这完全符合我的要求;) 在我的 ffmpeg (1.2.1) 版本中是ffmpeg -protocols
以上是关于ffmpeg:哪些文件格式支持标准输入?的主要内容,如果未能解决你的问题,请参考以下文章