视频流传输协议

秋风阁——北溪入江流:https://focus-wind.com/
秋风阁——视频流传输协议

常见视频传输协议

协议httpflvrtmprtsphlsdash
传输方式http流tcp流tcp流httphttp
视频封装格式flvflv tagts mp4Ts文件Mp4 3gp webm
延时
数据分段连续流连续流连续流切片文件切片文件
Html5播放可通过html5解封包播放(flv.js)不支持不支持可通过html5解封包播放(hls.js)如果dash文件列表是mp4webm文件,可直接播放

监控行业常见的视频传输协议:RTSP,RTMP(以RTSP流为主)

RTSP与RTMP比较

  • RTSP:低时延,实现难度大,适合视频聊天和视频监控
  • RTMP:浏览器支持好,加载flash插件后能直接播放(高版本浏览器目前已禁止flash插件)

直播常见协议:RTMP,HTTP

  • RTMP:只支持flashplayer,目前已被淘汰
  • HTTP:flv,m3u8,ts
  • flv:flash video,需要flash支持,使用flv.js可支持播放(B站视频)
  • m3u8:切片文件,有延迟,实时性不如RTSP协议,如果压缩过小,可能导致客户端网络原因变卡,如果压缩过大,可能导致视频延迟过高
  • ts:切片文件,同m3u8
### 视频流传输中TCP协议的原理 在网络环境中,TCP(Transmission Control Protocol)是一种面向连接、可靠的传输协议。当应用于视频流传输时,TCP通过三次握手建立稳定的数据通道,在此过程中确保每一个数据包都能被接收方确认并按序重组[^1]。 对于视频流而言,采用TCP作为底层通信机制意味着即使遇到丢包情况也能重传丢失部分直至成功传递给客户端。这种特性使得基于HTTP的自适应码率调整技术成为可能,比如HLS(HTTP Live Streaming)和DASH(Dynamic Adaptive Streaming over HTTP),它们依赖于TCP来保障服务质量以及流畅度[^2]。 然而值得注意的是,尽管TCP提供了高可靠性,但对于实时性强的应用场景来说可能会引入较大延迟,因为其内在纠错机制会增加额外处理时间。因此并非所有类型的多媒体应用都会优先考虑TCP;例如即时通讯中的语音聊天更多倾向于使用RTP/RTCP这样的组合以换取更低延时性能表现[^3]。 ### 基于FFmpeg利用TCP播放视频流的方法展示 为了更好地理解如何具体实施上述理论概念,下面给出一段简单示例代码,展示了怎样借助开源工具FFmpeg从指定地址拉取并通过本地回环接口输出TCP上的视频内容: ```bash ffmpeg -i tcp://source_address:port?listen -f mpegts http://localhost:8090/feed.ffm ``` 这段命令行脚本指示FFmpeg监听来自`tcp://source_address:port`位置输入源发送过来的数据流,并将其转换成MPEG-TS格式再经由HTTP推送至运行在同一台机器上的Web服务器上供进一步分发或直接观看。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北溪入江流

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值