2012-10-21 40 views

回答

14

您需要运行ffmpeg -protocols以确定在您的ffmpeg版本中是否支持pipe协议(从stdin和stdout读取和写入),然后才能看到支持的格式列表。在下面的摘录中,您将看到输出管道上的注释,它必须可用于某些协议。对于输入协议它没有这样的限制。

man ffmpeg-protocols

PROTOCOLS

协议被配置为在FFmpeg的元件,其允许访问 资源,需要使用特定的协议。

当您配置FFmpeg版本时,默认情况下启用所有支持的协议为 。您可以使用 配置选项--list-protocols列出所有可用的。

您可以使用配置选项 --disable-protocols禁用所有的协议,并有选择地使用 选项--enable-protocol=PROTOCOL启用一个协议,或者您可以禁用使用选项--disable-protocol=PROTOCOL特定 协议。

ff *工具的选项-protocols将显示支持的协议列表 支持的协议。

下面是对当前可用协议的描述。 ...管道
UNIX管道访问协议。

允许从UNIX管道读取和写入。

接受的语法是:

 pipe:[<number>] 

数目是对应于 管的文件描述符的数目(例如,0用于标准输入,1为标准输出,2标准错误)。如果指定的数字不是 ,默认情况下,stdout文件描述符将用于写入 ,stdin用于读取。

请注意,某些格式(通常是MOV)要求输出协议 是可查找的,因此它们将失败并显示管道输出协议。

+0

谢谢,这完全符合我的要求;) –

+14

在我的ffmpeg(1.2.1)版本中,它是'ffmpeg -protocols' –