Android 流媒体技术见解

一、技术关键点

1. 音频采集:设置合理的采样参数,包括采样率、通道数、采样深度。

2. 视频采集:手机摄像头采集输出的格式(NV12/NV21/YV12),要注意相互间的转换,以及采集出来图像的方向应该根据那种策略进行旋转,尤其在android设备需要做更多的兼容性测试。

3. 编码和解码:熟悉的使用ffmpeg可以方便我们快速完成视频编解码的功能,但是这种方式会过多的消耗CPU而使得性能大大降低,因此采用硬编码通过GPU加速可以提升一个档次;需要注意的是IOS的硬编码兼容性会远大于Android的硬编码,所以在Android设备上做硬编码同样要采用一个有效的策略,提高其兼容性;硬解码整体的兼容性问题会少很多;

4. 协议以及网络传输:对于标准协议,用的相对较多的是RTSP/RTMP/SIP,这三种属于应用交互层的协议;在完成交互协议之后,才会使用到传输协议(TCP/UDP/RTP)

5. 技术延伸:包括点对点传输、后期视频特效处理、图像识别;

二、相关开源项目

https://github.com/appunite/AndroidFFmpeg

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值