如何使用 ffmpeg 在计算机之间进行流式传输?

如何使用 ffmpeg 在计算机之间进行流式传输?

我正在使用 ffmpeg 和 ffplay 在两台计算机之间传输原始 H.264 视频。传输命令行如下所示:

ffmpeg -i input.h264 -f mpegts udp:10.0.2.101:1234

这是接收方:

ffplay -f h264 -f mpegts udp://127.0.0.1:1234

问题是,接收端的播放质量比我在发送端播放源文件时看到的质量差很多。网络实际上是我电脑上的模拟网络(两个虚拟机),所以没有任何数据包丢失或任何问题。

我做错了什么?

答案1

您正在重新编码视频流。请注意,如果您不指定视频编解码器,ffmpeg 将为您选择一个 - 在您的例子中,MPEG-2 的默认设置,这确实看起来很糟糕。

如果您计划复制比特流,请将该-c:v copy选项添加到发送命令中。

相关内容