RTMP, RTSP, SRT 推流和拉流那些事

27 篇文章 3 订阅
1 篇文章 0 订阅

---------------------------------------------------------------------------------------------------------------------------------

一分钟快速搭建 rtmpd 服务器: https://blog.csdn.net/freeabc/article/details/102880984

软件下载地址: http://www.qiyicc.com/download/rtmpd.zip

github 地址:https://github.com/superconvert/smart_rtmpd

---------------------------------------------------------------------------------------------------------------------------------


RTMP 推流和输出流格式

RTSP 推流和输出流格式 

SRT 推流和输出流格式 

此外还支持录像, VOD 点播等功能。 

推流和拉流脚本例子

RTMP 推流

ffmpeg -re -stream_loop -1 -i 33.mp4 -vcodec libx264 -acodec aac -f flv rtmp://192.168.1.102:1935/rec/stream

RTMP 推流 ( HEVC )

ffmpeg -re -i 1.mp4 -c:a copy -c:v libx265 -f flv rtmp://192.168.1.102:1935/live/hevc

怎么让 ffmpeg 支持 hevc 推流 怎么编译 ffmpeg 让其支持 hevc(h265) - superconvert的个人空间 - OSCHINA - 中文开源技术交流社区

RTSP 推流

ffmpeg -re -stream_loop -1 -i 1.mp4 -vcodec libx264 -acodec aac -f rtsp rtsp://192.168.1.102:8554/live/stream

RTSP 推流 ( HEVC )

ffmpeg -re -stream_loop -1 -i video-h265.mkv -vcodec libx265 -acodec aac -f rtsp rtsp://192.168.1.102:8554/live/stream

SRT 推流

ffmpeg -re -i 22.mp4 -vcodec libx264 -acodec aac -f mpegts srt://192.168.1.102:9000?streamid=192.168.1.102:9000/live/stream,role=publisher

SRT 推流 ( HEVC )

ffmpeg -stream_loop -1 -re -i video-h265.mkv -vcodec libx265 -acodec aac -f mpegts srt://192.168.1.102:9000?streamid=192.168.1.102:9000/live/stream,role=publisher

SRT 推流 ( OBS  版本号大于 25 )

SRT 推流 ( vMix 推流 ) 

按上述红圈的步骤,进行设置,第 3 步填写服务器地址和端口, 第 4 步填写流的地址,比如:

192.168.1.104:9000/live/stream,role=publisher

设置完毕后,点视频播放即可,这样 vMix 就能正确推流了。

RTMP 拉流

ffplay rtmp://192.168.1.102:1935/live/stream

HTTP-HLS 拉流

ffplay http://192.168.1.102:8080/live/stream.m3u8

HTTP-DASH 拉流

ffplay http://192.168.1.102:8080/live/stream.mpd

RTSP 拉流

ffplay rtsp://192.168.1.102:8554/live/stream

SRT 拉流 ( ffplay )

ffplay srt://192.168.1.102:9000?streamid=192.168.1.102:9000/live/stream,role=player

SRT 拉流 ( OBS 版本号大于 25 )

SRT 拉流 ( vMix )

 按图中的步骤添加播放方式,既可以播放 SRT 的流

RTMP(Real-Time Messaging Protocol)是一种基于TCP的实时流传输协议,主要用于音视频数据的传输。RTMP客户端可以推流(将音视频数据上传至服务器),也可以拉流(从服务器获取音视频数据)。下面分别介绍RTMP客户端推流和拉流的步骤: 1. RTMP客户端推流过程步骤: (1)建立TCP连接:RTMP客户端需要先与服务器建立TCP连接。这个过程和HTTP协议中的TCP连接建立是类似的。 (2)协议握手:TCP连接建立后,客户端需要向服务器发送一个握手请求,服务器返回握手响应。这个过程用来确保客户端和服务器的通信协议是一致的。 (3)发送元数据:在握手完成后,客户端需要向服务器发送元数据(也称为元信息),包括视频的宽度、高度、帧率、编码方式等信息。 (4)发送音视频数据:当元数据发送完成后,客户端开始发送音视频数据。音视频数据按照一定的格式进行打包,然后通过RTMP协议发送到服务器。 (5)关闭连接:当推流完成后,客户端需要向服务器发送一个关闭连接的请求,服务器返回确认响应,然后关闭TCP连接。 2. RTMP客户端拉流过程步骤: (1)建立TCP连接:RTMP客户端需要先与服务器建立TCP连接。 (2)协议握手:TCP连接建立后,客户端需要向服务器发送一个握手请求,服务器返回握手响应。 (3)发送元数据请求:在握手完成后,客户端需要向服务器发送元数据请求,请求服务器发送音视频数据的元数据。 (4)接收音视频数据:当客户端收到服务器返回的元数据后,就可以开始接收音视频数据了。服务器按照一定的格式打包音视频数据,然后通过RTMP协议发送到客户端。 (5)关闭连接:当拉流完成后,客户端需要向服务器发送一个关闭连接的请求,服务器返回确认响应,然后关闭TCP连接。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值