--流记录

--流记录

我需要从服务器流式传输音频并一次性保存到文件。

我试过这个。

ssh -p 22 SERVER "ffmpeg -f pulse -i default -b:a 32k -f avi -" | mpv - &>/dev/null 1> file.mp3

但是它运行流并且仅保存来自 mpv 的信息,而不是流输出。

我怎样才能做到这一点?

谢谢。

答案1

--流记录

使用--stream-recordmpv

 ssh -p 22 SERVER "ffmpeg -f pulse -i default -b:a 32k -f mp3 -" | mpv --stream-record=output.mp3 -

来自文档

由于它使用 FFmpeg 的 libavformat 来写入输出文件,因此存在一些问题。例如,通常只有当输出格式与输入格式相同时,它才会起作用。即使它与 ffmpeg 工具一起使用也是如此。其中一个原因是 ffmpeg 及其库包含针对这些问题的某些技巧和解决方法,而外部用户无法使用。

三通复用器

或者三通复用器

 ssh -p 22 SERVER "ffmpeg -f pulse -i default -b:a 32k -f mp3 -" | ffmpeg -y -i - -map 0 -c copy -f tee "output.mp3|[f=mp3]pipe:" | mpv pipe:

不太方便,但可能比使用更强大和灵活--stream-record

我没有测试这些命令。

相关内容