视频直播的技术原理和实现思路方案整理

视频直播的技术原理和实现思路⽅案整理
包括原理篇/思路篇/实践篇/⽅案篇/前端篇/总结
原理篇
直播模型及其实现
比例电磁铁⼀个通⽤的直播模型⼀般包括三个模块:主播⽅、服务器端和播放端。
⾸先是主播⽅,它是产⽣视频流的源头,由⼀系列流程组成:第⼀,通过⼀定的设备来采集数据;第⼆,将采集的这些视频进⾏⼀系列的处理,⽐如⽔印、美颜和特效滤镜等处理;第三,将处理后的结果视频编码压缩成可观看可传输的视频流;第四,分发推流,即将压缩后的视频流通过⽹络通道传输出去。
其次是播放端,播放端功能有两个层⾯,第⼀个层⾯是关键性的需求;另⼀层⾯是业务层⾯的。先看第⼀个层⾯,它涉及到⼀些⾮常关键的指标,⽐如秒开,在很多场景当中都有这样的要求,然后是对于⼀些重要内容的版权保护。为了达到更好的效果,我们还需要配合服务端做智能解析,这在某些场景下也是关键性需求。再来看第⼆个层⾯也即业务层⾯的功能,对于⼀个社交直播产品来说,在播放端,观众希望能够实时的看到主播端推过来的视频流,并且和主播以及其他观众产⽣⼀定的互动,因此它可能包含⼀些像点赞、聊天和弹幕这样的功能,以及礼物这样更⾼级的道具。
戏弄巧心
直播服务器端提供的最核⼼功能是收集主播端的视频推流,并将其放⼤后推送给所有观众端。除了这个核⼼功能,还有很多运营级别的诉求,⽐如鉴权认证,视频连线和实时转码,⾃动鉴黄,多屏合⼀,以及云端录制存储等功能。另外,对于⼀个主播端推出的视频流,中间需要经过⼀些环节才能到达播放端,因此对中间环节的质量进⾏监控,以及根据这些监控来进⾏智能调度,也是⾮常重要的诉求。
实际上⽆论是主播端还是播放端,他们的诉求都不会仅仅是拍摄视频和播放视频这么简单。在这个核⼼诉求被满⾜之后,还有很多关键诉求需要被满⾜。⽐如,对于⼀个消费级的直播产品来说,除了这三⼤模块之外,还需要实现⼀个业务服务端来进⾏推流和播放控制,以及所有⽤户状态的维持。如此,就构成了⼀个消费级可⽤的直播产品。
思路篇
正如 @姚冬 所说,⼀个完整的直播系统⼤致包含这⼏个环节:采集、前处理、编码、传输、解码和渲染。在两端传输的过程中再加上⼀个服务端处理。⼤致的模型如下:
实践篇
来疯直播安卓控件,⽀持flv,⽀持rtmp,⽀持添加视频特效等等
川音绵阳艺术学院
诺和灵整个项⽬完成了采集、 视⾳频处理、编码、数据发送前处理、数据发送的功能。整个项⽬⽀持flv封包,rtmp上传
LaiFeng IOS Live Kit,H264 and AAC Hard coding,support GPUImage Beauty, rtmp transmission,weak network lost frame,Dynamic switching rate
⽅案篇
各种云⼚商提供的直播云解决⽅案
视频直播
聊天互动
主播端/观众端
前端篇
对于视频播放,可以使⽤ HLS(HTTP Live Streaming)协议播放直播流, ios 和 android 都天然⽀持这
种协议,配置简单,直接使⽤ video 标签即可。
到底什么是HLS协议?
简单讲就是把整个流分成⼀个个⼩的,基于HTTP的⽂件来下载,每次只下载⼀些,前⾯提到了⽤于H5播放直播视频时引⼊的⼀个.m3u8(extended M3U playlist)的⽂件,这个⽂件就是基于HLS协议,存放视频流元数据的⽂件。
WEB 上主流的视频直播⽅案有 HLS 和 RTMP,移动 WEB 端⽬前以 HLS 为主(HLS存在延迟性问题,也可以借助 video.js 采⽤RTMP),PC端则以 RTMP 为主实时性较好
移动端 iOS 和 Android 都天然⽀持HLS协议,做好视频采集端、视频流推流服务之后,便可以直接在H5页⾯配置 video 标签播放直播视频, HLS 在 PC 端仅⽀持safari浏览器,类似chrome浏览器使⽤HTML5 video标签⽆法播放 m3u8 格式,可直接采⽤⽹上⼀些⽐较成熟的⽅案
HTTP Live Streaming (HLS) has become a de-facto standard for streaming video on mobile devices thanks to its native support on iOS and Android. Unfortunately, all the major desktop browsers except for Safari are missing HLS support.
更多参考
总结
如果想最快的实现直播功能, 最好选⽤直播云, 因为其提供了完善的 SDK, 从推流到流服务器再到最终的播放器, ⼀条龙服务下来.
碱的通性如果想⾃⼰搭建整个⼀套, 技术选型可以参考
(主播)采集推流: iOS  Android
(上传)流服务器:
(观众)播放器: App 端  ⽹页端高校实行什么的校长负责制

本文发布于:2024-09-23 19:22:48,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/82168.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:视频   直播   播放   视频流   功能
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议