轻松入门Android直播相关技术 从0搭建直播系统

本文介绍如何从零开始搭建Android直播系统,包括rtmp媒体服务器的搭建,使用OBS推流,VLC拉流。通过第三方推流SDK、开源项目和ffmpeg推流,提供初学者入门指南。
摘要由CSDN通过智能技术生成
                       
 

本文已在我的公众号hongyangAndroid原创首发。
  转载请标明出处: 
  http://blog.csdn.net/lmj623565791/article/details/77937483 
  本文出自张鸿洋的博客

   

本文已在我的公众号hongyangAndroid原创首发,文章合集

公众号后台很多关注者给我留言,想学习直播相关技术,但是无从下手,其实我也非直播专业人士,不过可以提供点入门的方案,希望以此做到一定的引导作用。

首先搜索了一波,发现了知乎上还有个类似的提问:

https://www.zhihu.com/question/49160322/answer/114587604

文章中第一个回答就是指导如何搭建一个直播系统。

从0开始搭建一个直播系统

我立马实践了下,所以首先给大家分享下整个搭建的流程:

 

本人的操作系统为mac,其他系统的同学可以根据提示,自行安装软件。

一个简易的直播系统,大致可以由三部分组成:

  • 搭建一个rtmp媒体服务器
  • 推流端
  • 拉流端

现在目标是快速搭建起来,所以当然是借助开源项目和一些软件:

  • rtmp媒体服务器:这里使用srs
  • 推流端:这里使用obs
  • 拉流端:这里使用播放器vlc

rtmp媒体服务器的搭建

这里使用srs,srs的链接为:
https://github.com/ossrs/srs

首先clone到本地,进入到trunk目录:

git clone https://github.com/ossrs/srs.gitcd srs/trunk
  
  
  
  • 1
  • 2

然后执行:

./configure --osx
  
  
  
  • 1
一: 使用javacv来实现,最终也是用过ffmpeg来进行编码和推流,javacv实现到可以直接接收摄像头的帧数据 需要自己实现的代码只是打开摄像头,写一个SurfaceView进行预览,然后实现PreviewCallback将摄像头每一帧的数据交给javacv即可 javacv地址:https://github.com/bytedeco/javacv demo地址:https://github.com/beautifulSoup/RtmpRecoder/tree/master 二: 使用Android自带的编码工具,可实现硬编码,这里有一个国内大神开源的封装很完善的的库yasea,第一种方法需要实现的Camera采集部分也一起封装好了,进行一些简单配置就可以实现编码推流,并且yasea目前已经直接支持摄像头的热切换,和各种滤镜效果 yasea地址(内置demo):https://github.com/begeekmyfriend/yasea 服务器 流媒体服务器我用的是srs,项目地址:https://github.com/ossrs/srs 关于srs的编译、配置、部署、在官方wiki中已经写的很详细了,并且srs同样是国内开发人员开源的项目,有全中文的文档,看起来很方便 这里有最基本的简单编译部署过程 Android直播实现(二)srs流媒体服务器部署 播放器 android端的播放使用vitamio,还是国内的开源播放器,是不是感觉国内的前辈们越来越屌了^~^! vitamio支持几乎所有常见的的视频格式和流媒体协议 vitamio地址(内置demo):https://github.com/yixia/VitamioBundle 这里使用的是yaesa库,先介绍一下直播实现的流程:
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值