Ser*_*rge 20
您需要运行ffmpeg -protocols以确定pipe您的ffmpeg版本中是否支持协议(stdin和stdout的读取和写入),然后ffmpeg -formats查看支持的格式列表.在下面的摘录中,您将看到关于输出管道的注释,它必须可以为某些协议寻找.对于输入协议,它没有这样的限制.
来自man ffmpeg-protocols:
PROTOCOLS
协议是FFmpeg中配置的元素,允许访问需要使用特定协议的资源.
配置FFmpeg构建时,默认情况下会启用所有支持的协议.您可以使用configure选项列出所有可用的列表
--list-protocols.您可以使用configure选项禁用所有协议
--disable-protocols,并使用该选项有选择地启用协议--enable-protocol=PROTOCOL,或者您可以使用该选项禁用特定协议--disable-protocol=PROTOCOL.
-protocolsff*工具的选项将显示支持的协议列表.下面是对当前可用协议的描述....管道
UNIX管道访问协议.允许从UNIX管道读取和写入.
接受的语法是:
Run Code Online (Sandbox Code Playgroud)pipe:[<number>]number是与管道的文件描述符对应的数字(例如,对于stdin为0,对于stdout为1,对于stderr为2).如果未指定number,则默认情况下stdout文件描述符将用于写入,stdin用于读取.
请注意,某些格式(通常为MOV)要求输出协议是可搜索的,因此它们将使用管道输出协议失败.