将 ffmpeg 输出通过管道传输到其他进程

将 ffmpeg 输出通过管道传输到其他进程

我想将 ffmpeg 输出通过管道传输到其他进程,如下所示: ffmpeg -video_size 1920x1080 -framerate 25 -f x11grab -i :0.0 - | process。我明白了Unable to find a suitable output format for 'pipe:' pipe:: Invalid argument。如何实现管道传输?

答案1

您必须提供格式-f,例如:

ffmpeg … -f matroska - | process
  • 有关可用格式的列表,请参阅ffmpeg -formats
  • 请注意,某些格式(通常是 MOV)要求输出协议可寻址,因此它们将无法使用管道输出协议。
  • 另请参阅FFmpeg 文档:管道协议

答案2

在这种情况下,FFmpeg 无法推断所需的输出格式,-使用前必须明确指定输出格式-f fmt(替换fmt为所需的格式)。

ffmpeg -video_size 1920x1080 -framerate 25 -f x11grab -i :0.0 -f fmt - | process

相关内容