给定一个命令行ffmpeg -f lavfi -i "sine=frequency=1000:duration=5" -ar 8000 -c:a FOO pipe:1
,ffmpeg 可能会抱怨它“无法找到合适的输出格式”。对于某些编解码器,ffmpeg 有默认的容器格式,例如-c:a libmp3lame
将生产MP3。对于其他编解码器,您只需重复一下(某种程度上):-c:a pcm_alaw -f alaw
但是,如果我想流式传输原始编解码器输出,并且没有匹配的内容该怎么办-f
?我可以拿走吗-f alaw
并假设它没有做任何事情? (G711 alaw 是一个简单的编解码器,它产生字节流,所以-f alaw
大概只是复制该字节流)
显然,如果没有容器信息,管道的另一端需要知道如何解释数据流。但假设我已经知道管道的另一端正在等待音频流,以 8 kHz 采样,编码为-c:a FOO
.
是的,原始流就是这样:没有编解码器有效负载的封装。
为了清楚地显示命令语法,您可以使用data
ffmpeg -f lavfi -i "sine=frequency=1000:duration=5" -ar 8000 -c:a FOO -map 0 -f data pipe:1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)