FFmpeg支持流媒体时不仅仅支持RTMP、HTTP这类高层协议,同样也支持UDP、TCP这类底层协议,而且还可以支持UDP、TCP流媒体的录制与发布,下面就来参考一下TCP与UDP支持的相关参数。

TCP与UDP参数说明

​FFmpeg对于TCP与UDP操作也支持很多参数进行组合,可以通过ffmpeg --help full查看FFmpeg支持的UDP与TCP的参数。

TCP参数列表

#yyds干货盘点#FFmpeg录制和发布UDP / TCP流_流媒体

UDP参数列表

#yyds干货盘点#FFmpeg录制和发布UDP / TCP流_参数说明_02

FFmpeg既支持TCP、UDP作为客户端,又支持FFmpeg作为服务器端。

TCP参数使用举例

./ffmpeg -listen l -f flv -i tcp://127.0.0.1:1234/live/stream -c copy -f flv output.flv

执行完命令行之后,FFmpeg会进入端口监听模式,等待客户端连接到本地的1234端口。

TCP请求发布流

./ffmpeg -re -i input.mp4 -c copy -f flv tcp://127.0.0.1:1234/live/stream

TCP监听端口为1234,这里请求的端口即为1234,并且指定输出的格式为FLV格式,因为TCP监听接收流时指定了接收FLV格式的流。输出成功,推流成功,推流格式为FLV,推流地址为tcp://127.0.0.1:1234/live/stream。当这里发布流成功后,在端口监听一端同样也会有数据的输出,因为在前面介绍端口监听时,输入为FLV格式,输出为output.flv的FLV格式