m3u8 hls 使用ffmpeg一步到wav

m3u8 hls stream to wav in one step with ffmpeg

我正在使用 ffmpeg 分两步从 m3u8 hls 流中提取 WAV 音频中的 10" 片段,如下所示:

ffmpeg -i XXXX.m3u8 -t 10 -c copy -bsf:a aac_adtstoasc -vn output.acc
ffmpeg -i output.acc output.wav

如何一步完成以避免中间文件并可能加快进程?

我尝试用 -c:a pcm_s24le 之类的东西直接对输出进行编码,但这失败并出现 'codec not supported by bitstream filter' 错误。

我还尝试将第一个命令的输出通过管道传递给下一个命令,如下所示:

ffmpeg -i XXX.m3u8 -t 10 -c copy -bsf:a aac_adtstoasc -vn pipe: | ffmpeg  -i pipe: output.wav

我收到 'pipe:: Invalid data found when processing input' 错误。

有任何迹象表明我做错了什么,或有任何其他想法吗?

这很简单,

ffmpeg -i XXXX.m3u8 -t 10 output.wav