FFmpeg支持流媒体时不仅仅支持RTMP、HTTP这类高层协议,同样也支持UDP、TCP这类底层协议,而且还可以支持UDP、TCP流媒体的录制与发布,下面就来参考一下TCP与UDP支持的相关参数。
TCP与UDP参数说明
FFmpeg对于TCP与UDP操作也支持很多参数进行组合,可以通过ffmpeg --help full查看FFmpeg支持的UDP与TCP的参数。
TCP参数列表
UDP参数列表
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格式