文章标题
来源:互联网 发布:在哪买淘宝店铺好 编辑:程序博客网 时间:2024/06/06 05:38
对于直播的个人理解,
视频直播分为,采集,前处理,编码,传输,服务器处理,解码,渲染
关于采集,iOS因为硬件适配好,所以有些直播平台基本都做iOS端的直播视频
软编码的话图像质量更加清晰,但是耗电太大,会烫到摄像头
采集端框架
VideoCore和LiveVideoCoreSDK
关于前处理来说,主要功能就是美颜,视频模糊,水印,用的框架是GPUImage
GPUimageBeautifyFiter类进行美颜
高斯磨皮,双边滤波,
编码,难点就是分辨率,帧率,码率,GOP等参数找平衡点,在iOS8后推出了VideoToolBox.framework直接可以进行硬编解码,也就是为什么iOS最低支持iOS8
传输就交个CDN服务商,他只负责带宽和服务商之间的传输,发送端和接收端的网络连接抖动缓存还是得自己思想,网宿是最大的CDN服务商
服务商处理的话那就是RTMP,处理时间实在1到3秒
RTMP处理时间延迟低,基于TCP的超链接,数据处理及时
HLS呢,延迟高,短链接,集合了一段时间的视频输入出个下载播放
流媒体分为伪流媒体和实时流媒体
伪流媒体呢,不是实时播放的,先把视频放下数据库,再提供客户端访问的,边下边存,文件能保存,遵循的是HTTP协议,实现简单,成本低
实时流媒体,真正的流媒体,边下边放,但是不保存文件,只能实时播放,成本高,实现复杂
解码渲染
推流框架那就是LFLiveKit和LiveVideoCoreSDK
播放端就是RTMP优化过的IJKPlayer或者FFPeg
LFLiveKit关键类是LFLiveSession
推流前的工作,采集,处理,编码
推流中的工作,封装,打包,上传
封装数据成FLV,通过RTMP协议打包上传,从主播端到服务器端即基本完成推流
FLV是一种新的视频格式,全称是FiashVideo
加速快,文件小
整体来看的话就是
推流端
,RTMP推流 - 源站,RTMP拉流 - CDN节点 -CDN节点 - 播放端
- 文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题 文章标题 文章标题 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- Java之代码性能优化
- 数组的复制,要求新数组不包含重复元素和长度浪费
- mysql缓存开启及使用(一)
- 子数组之和
- hdu 5113 我不是四色定理 dfs+剪枝
- 文章标题
- QT 5.5 creator 连接MYSQL
- 关于二维数组和指针与传参
- Linux进程与程序管理
- tjut 5927
- Yii2验证码使用,不改源码实现验证码刷新
- 解决Maven项目相互依赖/循环依赖/双向依赖的问题
- 微信开发的环境配置
- Java ArrayList遍历时删除元素