将数据传输到标准输出时收到 FFMPEG 错误 -22

将数据传输到标准输出时收到 FFMPEG 错误 -22

我正在尝试使用 FFMPEG 将 avi 文件转码为 mp4,并使用以下命令将数据传输到 stdout(技术上是通过 NodeJS,但我在命令行上直接执行以下命令时收到相同的错误):

ffmpeg -i myavi.avi -vcodec libx264 -acodec libvo_aacenc -f mp4 pipe:1

会出现这个错误:

Could not write header for output file #0 (incorrect codec parameters ?): Error number -22 occurred.

当我执行下一个命令时,一切都按预期进行:

ffmpeg -i myavi.avi -vcodec libx264 -acodec libvo_aacenc -f mp4 newmp4.mp4

请注意,我在 Windows 上使用(或尝试)FFMPEG——对于这里发生的事情有什么想法吗?

编辑:最后一点说明,我使用的 FFMPEG 版本是 N-63439-g96470ca,构建于 2014 年 5 月 25 日(适用于 Windows 静态文件的最新版本的 FFMPEGhttp://ffmpeg.zeranoe.com/builds/)。

答案1

mp4 容器需要能够在文件内进行查找。管道是一种流,无法在内部进行查找。尝试使用 ts 或 flv 等流媒体容器。

相关内容