自研视频直播技术点分析及使用LFLiveKit,ijkplayer

本文探讨了自研视频直播技术的成本,包括人力、硬件资源、时间投入和运维挑战。介绍了RTMP协议及其变种,并讨论了直播中的聊天室功能。同时,推荐了LFLiveKit作为推流工具,它集成了GPUImage框架提供美颜功能,以及ijkplayer作为跨平台的播放器框架,广泛应用于直播App。
摘要由CSDN通过智能技术生成

一、自研成本很大,如下:
1、人力:保守计算,客户端两人、后端两人、运维一人、而且这几位人员都是在视频技术上有过经验的
2、硬件资源:服务器、带宽、CDN
3、时间成本:自己开发肯定是要比接入第三方时间长的,等自己开发好后,但是错过了直播的爆发期,这个成本是耗不起的
4、直播所涉及的开发量是很大的,比如直播中的聊天室功能、美颜算法、视频点播。。。。。
5、运维:运维其实就是填坑,直播的技术如果不完善的话,会出现无数坑等着来填,而此时再考虑迁移到第三方已经来不及了

二、常见的视频直播相关协议:
附:MAC -安装了Homebrew实现搭建本地Nginx+RTMP 推流
1、RTMP(Real Time Messaging Protocol,实时消息传送协议)
RTMP是Adobe Systems公司为Flash播放器和服务器之间音频、视频和数据传输开发的开放协议。它有三种变种:
1)、工作在TCP之上的明文协议,使用端口1935;
2)、RTMPT封装在HTTP请求之中,可穿越防火墙;
3)、RTMPS类似RTMPT,但使用的是HTTPS连接;
RTMP协议是被Flash用于对象、视频、音频的传输。这个协议建立在TCP协议或者轮询HTTP协议之上。RTMP协议就像一个用来装数据包的容器,这些数据既可以是AMF格式的数据,也可以是FLV中的视音频数据。一个单一的连接可以通

Android可以通过使用RTSP(Real-Time Streaming Protocol)拉取音视频流,以实现实时播放。RTSP是一种用于互联网上会话层(application layer)的协议,可以支持实时流媒体播放和控制。在Android中,可以使用MediaCodec和MediaExtractor等API来解码和播放RTSP流。首先,需要创建一个RTSP的URL,以指定要拉取的音视频资源的位置和格式。然后,可以使用MediaPlayer类或ExoPlayer库来创建一个播放器对象,将RTSP URL传递给播放器,然后开始播放。播放器会自动处理RTSP流的解码和渲染。 另一方面,Android也可以通过RTMP(Real-Time Messaging Protocol)推送音视频流至服务器。RTMP是一种用于实现实时通信的协议,常用于实时流媒体的发布和交互。要在Android中实现RTMP推流,可以使用第三方库,如libRtmp或LFLiveKit。首先,需要创建一个RTMP的推流URL,以指定要推送的服务器和流的名称。然后,可以使用库提供的API,将音视频数据发送到服务器。可以使用Camera API或MediaCodec API来获取音视频数据,并将其编码为RTMP可接受的格式,然后通过网络发送。服务器将接收到的数据进行处理和分发,以实现实时流媒体播放或与其他用户进行交互。 总而言之,Android可以通过使用RTSP拉取音视频流,以实现实时播放,并可以通过RTMP推送音视频流至服务器,实现实时的流媒体发布和交互。这种功能在许多应用程序(例如视频播放器、实时直播视频会议等)中都会用到。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值