山

我想通过 ffmpeg 在本地网络中开发在线转换器的服务。

该服务接收要转换的文件的地址,并将转换后的文件的输出地址放入其中。

ffmpeg 可以在本地网络中的另一个系统中保存输出文件吗?

或者我必须先保存输出文件然后移动到另一个系统?

答案1

文件系统挂载选项:

  1. NFS 在 UNIX/Linux 世界中更为常见
  2. SMB 在 Windows 世界中更为常见。

目前尚不清楚您处于哪种情况。对于其中任何一种情况都没有任何具体信息ffmpeg

远程控制

如果您身处 UNIX/Linux 世界或在 Windows 下模拟 Linux,另一个选项是通过 进行流式传输。如果您指定输出文件,ssh大多数命令都会将其输出发送到 STDOUT 。因此,您可以执行以下操作:-

ffmpeg <your options> - | ssh user@remote 'cat > /tmp/ffmpeg.out'

(我经常使用该技术tar作为输入。)ffmpeg 文档说最后一个参数是输出文件,因此,尽管这可能很奇怪,但您应该在指定所有其他选项之后,-将带有空格的(破折号)作为最后一个参数。ffmpeg

表现

将输出写入远程系统可能会导致原始系统上的处理速度变慢,因为由于 IO 速度较慢,缓冲区会更快填满。如果所有缓冲区都填满,则该ffmpeg进程将不得不等待,直到可以处理更多内容。如果您可以并行运行更多进程,这可能会有所帮助,但迟早您可能会使网络连接饱和,而更多的进程/CPU 也无济于事。

答案2

是的,您可以将远程系统安装到目录。并将输出文件保存到安装的目录中。

相关内容