视频直播系统的完整处理流程

完整的视频直播过程

采集
处理
编码
封装
推流
传输
转码
分发
解码
播放

一、采集

音频采集 音频的采集过程主要通过设备将环境中的模拟信号采集成 PCM 编码的原始数据,然后编码压缩成 MP3
等格式的数据分发出去。常见的音频压缩格式有:MP3,AAC,HE-AAC,Opus,FLAC,Vorbis (Ogg),Speex 和 AMR等。
图像采集 图像的采集过程主要由摄像头等设备拍摄成 YUV 编码的原始数据,然后经过编码压缩成 H.264
等格式的数据分发出去。常见的视频封装格式有:MP4、3GP、AVI、MKV、WMV、MPG、VOB、FLV、SWF、MOV、RMVB 和 WebM 等。

二、处理

视频或者音频完成采集之后得到原始数据,为了增强一些现场效果或者加上一些额外的效果,我们一般会在将其编码压缩前进行处理。
视频:美颜、水印、路径、自定义
音频:混音、降噪、特效、自定义

三、编码

对流媒体传输来说,编码非常重要,它的编码性能、编码速度和编码压缩比会直接影响整个流媒体传输的用户体验和传输成本。
常见的视频编码器:
1)H.264/AVC
2)HEVC/H.265
3)VP8
4)VP9
5)FFmpeg
音频编码器:Mp3, AAC等。

四、封装

把编码器生成的多媒体内容(视频,音频,字幕,章节信息等)混合封装在一起
几种常见的封装格式:
1)AVI 格式(后缀为 .avi)
2)DV-AVI 格式(后缀为 .avi)
3)QuickTime File Format 格式(后缀为 .mov)
4)MPEG 格式(文件后缀可以是 .mpg .mpeg .mpe .dat .vob .asf .3gp .mp4等)
5)WMV 格式(后缀为.wmv .asf)
6)Real Video 格式(后缀为 .rm .rmvb)
7)Flash Video 格式(后缀为 .flv)
8)Matroska 格式(后缀为 .mkv)
9)MPEG2-TS 格式 (后缀为 .ts)
目前,我们在流媒体传输,尤其是直播中主要采用的就是 FLV 和 MPEG2-TS 格式,分别用于 RTMP/HTTP-FLV 和 HLS 协议。

五、推流

推流是指使用推流工具等内容抓取软件把直播内容传输到服务器的过程。
推送协议主要有三种:
RTSP(Real Time Streaming Protocol):实时流传送协议,是用来控制声音或影像的多媒体串流协议, 由Real
Networks和Netscape共同提出的;
RTMP(Real Time Messaging Protocol):实时消息传送协议,是Adobe公司为Flash播放器和服务器之间音频、视频和数据传输
开发的开放协议;
HLS(HTTP Live Streaming):是苹果公司(Apple Inc.)实现的基于HTTP的流媒体传输协议;
RTMP是目前主流的流媒体传输协议,广泛用于直播领域,市面上绝大多数的直播产品都采用了这个协议。
RTMP协议基于 TCP,是一种设计用来进行实时数据通信的网络协议,主要用来在 flash/AIR 平台和支持 RTMP
协议的流媒体/交互服务器之间进行音视频和数据通信。支持该协议的软件包括 Adobe Media Server/Ultrant Media Server/red5
等。
它有三种变种:
RTMP工作在TCP之上的明文协议,使用端口1935;
RTMPT封装在HTTP请求之中,可穿越防火墙;
RTMPS类似RTMPT,但使用的是HTTPS连接;
RTMP协议就像一个用来装数据包的容器,这些数据可以是AMF格式的数据,也可以是FLV中的视/音频数据。一个单一的连接可以通过不同的通道传输多路网络流。这些通道中的包都是按照固定大小的包传输的。

六、传输

推送出去的流媒体需要传输到观众,整个链路就是传输网络。

七、转码

视频直播播流端的码率是根据推流端决定的,即播流端的码率是与推流端的码率一致的。但是遇到以下场景会造成直播效果较差:
推流端码率与播流端带宽不相匹配。当推流端码率较高而客户端带宽资源有限就会导致播放出现卡顿,而当推流端码率较低但是客户端对于直播效率要求较高时会导致播放效果较差。
播放器插件需要实现多码率切换。前端播放器插件常可以设置码率切换,这就需要同一路推流可以同时提供多种码率的播流地址。
因此,视频直播提供了实时转码功能对同一路推流地址同时提供多路不同码率播流地址提供服务。

八、分发

流媒体服务器的作用是负责直播流的发布和转播分发功能。

九、解码

编码器(Encoder):压缩信号的设备或程序
解码器(Decoder):解压缩信号的设备或程序
编解码器(Codec):编解码器对

十、播放器流播放

主要是实现直播节目在终端上的展现。因为这里使用的传输协议是RTMP, 所以只要支持 RTMP 流协议的播放器都可以使用。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Feelink iShow v2.1 Beta版安装说明 iShow商业用户需签署使用协议,ishow用户不得利用ishow从事涉黄涉毒及其他违反国家法律法规的活动! 免费版用户需在申请免费用户后的3个工作日内,发送<<ishow使用协议>>到 邮箱:[email protected], 否则立即停止免费授权! <<ishow使用协议>>下载地址:http://ishow.xknet.net/1.doc 功能更新 1.新增了播放录像功能,房主可在自己的房间进行设置,支持flv和mp4格式 2.新增1对1的视频私聊,在房间内,可点击用户名查看,"邀请视频私聊" 3.新增首页对推荐主播的调用 4.新增对主播直播状态的检测,主页可实时显示,主播的直播状态 5.新增了对局域网内的完全支持,在局域网内视频可在后台全局设置中设置 6.新增房间密码功能,房主可在自己房间进行设置 7.新增对视频清晰度的控制,后台全局设置中可设置,清晰度越高,耗用带宽越大,反之同理 8.优化了后台逻辑,修复众多bug 9.优化了UC整合接口 10.优化了财付通接口逻辑 11.新增一套模板 12.新增提现功能 13.新增直播缓冲广告动画 14.新增房间的直播状态监测 15.优化了系统缓存文件的逻辑 安装环境: ASP+SQLServer 安装步骤: 1.解压压缩包,将所有文件上传到服务器 2.确保自己的数据库是MsSqlServer2000或2005 3.在浏览器中输入: http://你的域名/install 4.根据提示进行安装,确保自己的网站目录有可写入权限 5.安装完毕后,如果购买的是虚拟主机,请到虚拟主机web管理系统中,设置404错误页面,如果支持自定义404地址,请填写 /i/v2/room.html,如果不支持自定义404地址,只支持根目录404.htm的空间,请复制/i/v2/room.html文件到网站根目录,并修改根目录下的room.html文件名为 404.htm 即可 6.这是网站已经可以正常访问,网站会提示到m.xknet.net进行注册,正常注册后,您的ishow网站即可开启所有功能 如果有其他问题,请到bbs.xknet.net交流 测试使用网址:http://ishow.xknet.net

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值