多媒体

流媒体技术基础-流媒体编码与协议

2021-06-16  本文已影响0人  Mr_Michael

一、流媒体传输协议

各类协议详解

1.实时传输协议RTP

2.实时传输控制协议RTCP

3.实时流协议RTSP

4.资源预定协议RSVP

5.实时消息传输协议RTMP/RTMPS

6.微软媒体服务器协议MMS

7.HTTP Live Streaming [IOS设备直播]

8.WebRTC [音视频互通]

网页即时通信(Web Real-Time Communication),是一个支持网页浏览器进行实时语音对话或视频对话的API。无需安装任何插件就可以实现在网页浏览器中的实时通信。WebRTC还具备跨平台属性。

应用场景:

9.HTTP-FLV

HttpFlv 就是 http+flv ,将音视频数据封装成FLV格式,然后通过 HTTP 协议传输给客户端。

FLV (Flash Video) 是 Adobe 公司推出的另一种视频格式,是一种在网络上传输的流媒体数据存储容器格式。

优点:可以通过 HTTP 传输,基于 HTTP/80 传输,有效避免被防火墙拦截,支持使用 HTTPS 加密传输,也能够兼容支持 Android,iOS 的移动端。

缺点:由于它的传输特性,会让流媒体资源缓存在本地客户端,在保密性方面不够好。因为网络流量较大,它也不适合做拉流协议。

10.Websocket-FLV

基于WebSocket传输FLV,依赖浏览器支持播放FLV。WebSocket建立在HTTP之上,建立WebSocket连接前还要先建立HTTP连接。

11.SRT

12.流媒体协议对比

流媒体协议 协议 视频封装 播放器 延时 数据分段 HTML5 场景
RTSP+RTP TCP+UDP VLC, WMP 2s 连续流 不支持 IPTV
RTMP TCP flv tag Flash 2s 连续流 不支持 互联网直播,点播
HLS HTTP m3u8/ts Video 10s+ 切片 支持 H5,互联网直播,点播
HTTP-FLV HTTP flv Video 2s 连续流 支持 H5,互联网直播,点播
Websocket-FLV WebSocket flv Video 2s 连续流 支持 H5,互联网直播,点播
WebRTC 实时音视频对话

备注:FLV里所包含的视频编码必须是H.264,音频编码必须是AACMP3

13.直播运行流程

  1. 如果拉取RTSP音视频流,需要先将RTSP的H264 音视频源
  2. 主播端在采集到一段时间的音视频原数据后,因为音视频原数据庞大需要先压缩数据:
    • YUV视频数据过视频编码压缩为H264视频数据
    • PCM音频数据通过音频编码压缩为AAC音频数据
  3. 压缩完后再通过FLV容器格式封装压缩后的数据,封装成一个FLV TAG
  4. 再把FLV TAG通过RTMP协议编码再推流到音视频服务器,音视频服务器再从RTMP协议里解析出FLV TAG。
  5. 音视频服务器再通过HTTP协议通过和浏览器建立的长链接流式把FLV TAG传给浏览器。
  6. flv.js 获取FLV TAG后解析出压缩后的音视频数据喂给Video播放。
2021-06-09 19-03-54 的屏幕截图.png

14.直播平台参数对比

视音频编解码技术零基础学习方法

直播即互联网视音频平台直接将视频内容实时发送给用户

名称 协议 封装 视频编码 音频编码 播放器
华数TV RTMP FLV H.264 AAC Flash
六间房 RTMP FLV H.264 AAC Flash
中国教育电视台 RTMP FLV H.264 AAC Flash
北广传媒移动电视 RTMP FLV H.264 AAC Flash
上海IPTV RTSP+RTP TS H.264 MP2 机顶盒

15.点播平台参数对比

点播即根据用户的需要播放相应的视频节目

名称 协议 封装 视频编码 音频编码 播放器
CNTV HTTP MP4 H.264 AAC Flash
CNTV(部分) RTMP FLV H.264 AAC Flash
华数TV HTTP MP4 H.264 AAC Flash
优酷网 HTTP FLV H.264 AAC Flash
土豆网 HTTP F4V H.264 AAC Flash
56网 HTTP FLV H.264 AAC Flash
音悦台 HTTP MP4 H.264 AAC Flash
乐视网 HTTP FLV H.264 AAC Flash
新浪视频 HTTP FLV H.264 AAC Flash

二、音视频编码格式

1.视频播放器原理

过程如图所示:

image

2.视频的原始数据格式

3.视频的编码格式

4.音频的原始数据格式

5.音频的编码格式

名称 推出机构 推出时间 目前使用领域
AAC MPEG 1997 各个领域(新)
AC-3 Dolby Inc. 1992 电影
MP3 MPEG 1993 各个领域(旧)
WMA Microsoft Inc. 1999 微软平台

6.视频封装格式

封装格式包含视频编码和音频编码,封装容器对音频编码和视频编码的组合方式放的很开,封装格式是不影响画质。

封装容器 机构 流媒体 视频流编码格式 音频流编码格式 领域
AVI Microsoft Inc. 不支持 几乎所有格式 几乎所有格式 BT下载
Matroska(MKV) CoreCodec Inc. 支持 几乎所有格式 几乎所有格式 互联网视频网站
TS MPEG 支持 MPEG-1, MPEG-2, MPEG-4, H.264 MPEG-1 Layers I, II, III, AAC, IPTV,数字电视
MP4 MPEG 支持 MPEG-2, MPEG-4, H.264, H.263等 AAC, MPEG-1 Layers I, II, III, AC-3等 互联网视频网站
FLV Adobe Inc. 支持 Sorenson, VP6, H.264 MP3, ADPCM, Linear PCM, AAC等 互联网视频网站
MVB Real Networks Inc. 支持 RealVideo 8, 9, 10 AAC, Cook Codec, RealAudio Lossless BT下载影视
3GP H.263 AAC

7.图片压缩格式

格式 压缩模式 透明支持
JPEG(JPG) 有损压缩 不支持
PNG 无损压缩 支持
BMP 无压缩 不支持

占用空间:BMP > PNG > JPG

上一篇 下一篇

猜你喜欢

热点阅读