伴随着直播市场的快速发展,特别是“一对一视频聊天”的社交软件也越加火爆。对于直播市场来说,“一对一视频"的形式冲击了整个市场,更是削弱了直播软件的流量。“一对一”是相对“一对多”直播而存在,这样的方式更加真实化和精准化。那么一对一直播程序的技术要求也越来越高,说到底技术难点无非就体现在了直播录制这一块。
1、一个典型的直播流程:录制->编码->网络传输(推流->服务器处理->CDN分发)->解码->播放
2、IPB:一种常用的视频压缩方案,用I帧表示关键帧,B帧表示前向差别帧,P帧表示双向差别帧
3、GOP (Group of Pictures):GOP 越长(I帧之间的间隔越大),B 帧所占比例越高,编码的率失真性能越高。虽然B帧压缩率高,但解码时CPU压力会更大。
4、音视频直播质量好坏的主要指标: 内容延时 、 卡顿(流畅度) 、 首帧时长
音视频直播需要克服的主要问题:网络环境、多人连麦、主辅路、浏览器兼容性、CDN支持等
MSE (Media Source Extensions):
W3C 标准API,解决 HTML5 的流问题(HTML5 原生仅支持播放 mp4/webm 非流格式,不支持 FLV),允许JavaScript动态构建
1、文件格式/封装格式/容器格式 :一种承载视频的格式,比如flv、avi、mpg、vob、mov、mp4等。而视频是用什么方式进行编解码的,则与Codec相关。举个栗子,MP4格式根据编解码的不同,又分为nMP4、fMP4。nMP4是由嵌套的Boxes 组成,fMP4格式则是由一系列的片段组成,因此只有后者不需要加载整个文件进行播放。
2、Codec :多媒体数字信号编码解码器,能够对音视频进行压缩(CO)与解压缩( DEC ) 。CODEC技术能有效减少数字存储占用的空间,在计算机系统中,使用硬件完成CODEC可以节省CPU的资源,提高系统的运行效率。
3、常用视频编码 :MPEG、H264、RealVideo、WMV、QuickTime。
4、常用音频编码 :PCM、WAV、OGG、APE、AAC、MP3、Vorbis、Opus。
二、现有方案比较
RTMP协议
1、基于TCP
2、adobe垄断,国内支持度高
3、浏览器端依赖Flash进行播放
4、2---5秒的延迟
RTP协议
1、Real-time Transport Protocol,IETF于1996提出的一个标准
2、基于UDP
3、实时性强
4、用于视频监控、视频会议、IP电话
5、CDN厂商、浏览器不支持
HLS 协议
1、Http Live Streaming,苹果提出的基于HTTP的流媒体传输协议
2、HTML5直接支持(video),适合APP直播,PC断只有Safari、Edge支持
3、必须是H264+AAC编码
4、因为传输的是切割后的音视频片段,导致内容延时较大
flv.js
1、Bilibli开源,解析flv数据,通过MSE封装成fMP4喂给video标签
2、编码为H264+AAC
3、使用HTTP的流式IO(fetch或stream)或WebSocket协议流式的传输媒体内容
4、2---5秒的延迟,首帧比RTMP更快
WebRTC协议
1、Google力推,已成为W3C标准
2、现代浏览器支持趋势,X5也支持(微信、QQ)
3、基于UDP,低延迟,弱网抗性强,比flv.js更有优势
4、支持Web上行能力
5、编码为H264+OPUS
6、提供NAT穿透技术(ICE)
在这个“事事可直播,人人可主播”的时代,我相信,不管是直播还是一对一视频交友,都必须要保证直播平台是在一个足够稳定、安全的情况,才能给予用户、主播及游客的良好使用体验才能够让平台获得更多大流量,也能为主播带来更多的人气,毕竟只有牢固的基才能够做更多实际性意义的事。否则如果是在平台运营过程中出现的任何状况都可能给平台带来不可挽回的损失。
总而言之,在多重因素的作用下,网络直播未来发展前景依然广阔,行业规模仍有大幅增长的潜力,引领行业发展的三巨头也必然会成为最大的受益者。(文/布谷科技,一对一交友、短视频源码、直播系统、区块链、小程序。原生开发源码可进行无限二次开发,专业定制一条龙服务 QQ:2484556775,微信:15753857573 ,价格公道,合作共赢!)