视频直播小白知识科普
封装google的webrtc能运行的demo
https://github.com/stasel/WebRTC-iOS
视频流类型:主码流,辅码流
主码流质量高,主要用于本地网络。子码流主要用于数据网络。
https://cloud.tencent.com/developer/article/1630104
https://blog.csdn.net/Top_hxl_dq/article/details/75278855
音频编码格式
音频编码的主要作用是将音频采样数据(PCM等)压缩成为音频码流,从而降低音频的数据量,偏于存储和传输。
音频的裸数据格式就是脉冲编码调制(Pulse Code Modulation,PCM)数据。
描述一段PCM数据一般需要以下几个概念:量化格式(sampleFormat)、采样率(sampleRate)、声道数(channel)。
音频编码主要分为有损和无损两种:
有损压缩就是通过删除一些已有数据中不太重要的数据来达到压缩目的。
无损压缩就是通过优化排列方式来达到压缩目的。
大概可以这样去看:有损压缩就像我们在一篇文章中删除一些不重要的助词,达到目的,解压缩后,已删除的内容无法恢复;而无损则是通过排版方式达到的,解压缩之后,还能获得完整的PCM数据
https://zhuanlan.zhihu.com/p/69901270
语音对讲
全双工对讲:可以边听边录。
半双工:类似对讲机,一端讲完,另一端才能将。
播放器状态
空闲状态:播放器未设置数据源并且未播放时处于该状态
缓冲状态:播放器正在缓冲。状态变更事件如:开始播放时缓冲、seekTo()后重新缓冲、网络不佳引起点播缓冲
播放中状态:播放器已经有内容在播放。状态变更事件如:首帧数据已经渲染、seekTo()缓冲完成开始播放新内容。对于卡录像点播播放器,若已seekTo()或播放到文件结尾,则会回调ILVPlayerCallback.onCompletion()方法,状态切换到ENDED
结束状态:播放器已结束播放。播放出错或stop()或播放结束后会切换到该状态
前卷
WebRTC ICE
https://zhuanlan.zhihu.com/p/351105085
ICE的全称是Interactive Connectivity Establishment,即交互式连接建立。它是一种端到端交互的技术,可以让两个终端相互知道对方的公网IP,可以不借助一个公网server完成端到端(Peer to peer,P2P)的通信。