直播平台开发,常用流媒体和视频传递方法
一、直播平台开发关于流媒体的基础知识
1.流媒体开发,负责网络层的传输,协议层负责网络打包,封装层负责编解码数据的封装,编码层负责图像、音频压缩
2.帧数,每一帧代表一副静止的画面
3.GOP,画面组,一个GOP就是一组连续的画面,每个画面都是一帧,一个GOP就是多个帧数的合集。直播平台开发的直播数据中,其实就是在传递一组图片,包括I帧、P帧、B帧等,当用户第一次观看时,会寻找I帧,而播放器回到服务器寻找到最近的I帧反馈给用户,因此GOP增加了端到端之间的延迟
4.码率,图片进行压缩后每秒显示的数据量
5.帧率,每秒显示的图片数,影响画面流畅度,与画面流畅度成正比,也就是说,帧率越大、画面越流畅;帧率越小,画面越卡。在游戏、直播平台开发中,画面帧数只要保持在30帧左右就不会觉得画面卡顿,最低的帧数也要在16帧以上,再低了就会明显感觉到画面不流畅了
6.分辨率,图片的尺寸,最常见的分辨率是1920x1080,指的是图片的长度x宽度
7.视频文件格式,文件的后缀代表了文件的格式,如avi、mp4等,根据格式不同,打开的方式也不同,为了方便用户观看,直播平台开发会统一把视频更改成mp4格式
二、直播平台开发视频传递方法
1.画面采集,通过屏幕捕捉或手机摄像头等设备进行画面采集
2.视频处理,视频最终是通过GPU一帧一帧的渲染到屏幕上,可以采用opengles对视频帧进行加工处理,从而达到不同的视频效果
3.编码,视频压缩编码标准,对视频进行压缩的编码技术,比如H.264常用的视频编码技术,将视频像素数据压缩成视频码流,从而降低视频的数据量,不经压缩的视频体积过大会影响传输的速度
4.推流,常用的流媒体传输协议RTMP,足以应对现在各个播放端口需要的播放协议,也是直播平台开发最常用的传输协议
直播平台开发用到的流媒体、视频传递等方面的知识远不止这些,不过对想要初步了解直播平台开发的运营商来说已经足够了。
声明:以上内容为云豹科技作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任