关于直播类app中的推流、拉流技术(转载)

关于直播类app中的推流、拉流技术
from:https://blog.csdn.net/lzllzllhl/article/details/80249069

图像处理:iOS端一般会用到GPUImage处理图像,安卓端一般使用Google的grafika(图形处理库)

推拉流:EasyDarwin

推流(录制视频):【iOS和Android】ijkPlayer 开源框架(bilibili的)(集成FFmpeg,iOS的播放器也基于此) 斗鱼直播也基于此实现
编码标准:H.265 H.264 VP8 VP9 音频:AAC Opus、
传输协议:RTMP RTSP HLS
拉流(播放视频):LFLiveKit 支持H264和AAC编码,支持美颜和水印效果,传输协议是RTMP,支持弱网丢帧,记载网络环境差的情况下,为了保证视频的通常,会自动丢弃个别帧。

注意:RTMP协议中,视频必须是H264编码,音频必须是AAC或MP3编码,且多以flv格式封包。

缺点:RTMP有着一个最大的不足——不支持浏览器【2017年的信息,当下并未友好支持 需要费一番功夫】

浏览器:可考虑 WebRTC 协议

安卓端:使用javacv来实现,最终也是用过ffmpeg来进行编码和推流,javacv实现到可以直接接收摄像头的帧数据

需要自己实现的代码只是打开摄像头,写一个SurfaceView进行预览,然后实现PreviewCallback将摄像头每一帧的数据交给javacv即可

使用Android自带的编码工具,可实现硬编码,这里有一个国内大神开源的封装很完善的的库yasea,第一种方法需要实现的Camera采集部分也一起封装好了,进行一些简单配置就可以实现编码推流,并且yasea目前已经直接支持摄像头的热切换,和各种滤镜效果

安卓端播放器:vitamio、支持几乎所有常见的的视频格式和流媒体协议

安卓端流程

一:使用yaesa进行摄像头采集、编码然后向srs服务器rtmp推流
二:部署srs流媒体服务器
三:使用vitamio取流播放

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值