Android 自己搭建一个直播系统吧
服务端
用 SRS(Simple Rtmp Server),在这里下载
simple-rtmp-server
需要Linux系统最好是Ubuntu,装个Ubuntu虚拟机就行了
在Linux里,解压缩SRS 安装包,运行
> sudo ./INSTALL
> sudo /etc/init.d/srs start
一个RTMP的媒体服务器就运行起来了,无需改配置,默认端口是 1935
推流端
用obs-studio,在这里下载
Open Broadcaster Software
在设置->串流 输入 URL rtmp://<your ubuntu ip>/mylive
在 来源 里指定一个视频源,测试的话用窗口捕获就行了
播放测试
用 VLC 在这里下载
http://www.videolan.org/vlc/
打开网络串流,输入你刚才推流的 URL 即可。
开发
播放测试通过后,就可以自己开发App来播放发布直播流了
推荐用 librtmp,纯C实现的RTMP协议封装,用在Android上需要用NDK
GitHub - yixia/librtmp: librtmp for Android and iOS
这里有做好的 NDK makefile
祝你成功
也可以看这篇文章:快速集成iOS基于RTMP的视频推流
利用ffmpeg+nginx来做推流端,我测试了本地的几种视频和音乐都可以推。
---
刚才小伙伴给了一个测试用的固定推流连接,是HKS电视台的,用来测试客户端感觉不错
http://live.hkstv.hk.lxdns.com/live/hks/playlist.m3u8
人家是练手,推流链接没有,拉流链接到是很多,推流地址都是自己在本地搭一个服务器,这就涉及到后端了,你就简单搭一个能推就好,这个可以参考填 SRS 或 nginx-rtmp,遇到问题 google,估计半小时内你能搭好,祝你好运
GitHub - arut/nginx-rtmp-module: NGINX-based Media Streaming Server
不建议自己搭建,可以使用腾讯云 阿里云之类的直播服务,奥点云也可以。
Android 自己搭建一个直播系统吧的更多相关文章
- 超强教程:如何搭建一个 iOS 系统的视频直播 App?
现今,直播市场热火朝天,不少人喜欢在手机端安装各类直播 App,便于随时随地观看直播或者自己当主播.作为开发者来说,搭建一个稳定性强.延迟率低.可用性强的直播平台,需要考虑到部署视频源.搭建聊天室.优 ...
- [km] 如何判断一个直播系统是否使用的是RTMP
如何判断一个直播系统是否使用的是RTMP from: http://peiqiang.net/2016/03/21/how-to-judge-whether-rtmp-is-used-by-a-liv ...
- 使用monit搭建一个监控系统
上周用monit搭建或者说定制了一个监控系统,来监控服务器发生事情.当然了主要是监控异常,因为我们的产品属于服务器类型,很多进程都daemon,要不停的运行.我们搭建监控目的不过是出现问题能够及时的知 ...
- 快速搭建一个直播Demo
缘由 最近帮朋友看一个直播网站的源码,发现这份直播源码借助 阿里云 .腾讯云这些大公司提供的SDK 可以非常方便的搭建一个直播网站.下面我们来给大家讲解下如何借助 腾讯云 我们搭建一个简易的 直播示例 ...
- 使用ffmpeg搭建HLS直播系统
[时间:2018-04] [状态:Open] [关键词:流媒体,stream,HLS, ffmpeg,live,直播,点播, nginx, ssegment] 0 引言 本文作为HLS综述的后续文章. ...
- Android 从零开始搭建一个主流项目框架—RxJava2.0+Retrofit2.0+OkHttp
我这里的网络请求是用的装饰者模式去写的,什么是装饰者模式呢?在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能.它是通过创建一个包装对象,也就是装饰来包裹真实的对象.我的理解就是一个接口, ...
- 基于HTTP Live Streaming(HLS) 搭建在线点播系统
1. 为何要使用HTTP Live Streaming 可以参考wikipedia HTTP Live Streaming(缩写是 HLS)是一个由苹果公司提出的基于HTTP的流媒体 网络传输协议.是 ...
- 如何开发一个直播APP
一.个人见解(直播难与易) 直播难:个人认为要想把直播从零开始做出来,绝对是牛逼中的牛逼,大牛中的大牛,因为直播中运用到的技术难点非常之多,视频/音频处理,图形处理,视频/音频压缩,CDN分发,即时通 ...
- 转: 基于nginx的hls直播系统
转自:http://blog.csdn.net/cjsafty/article/details/9108587 看点: 1. 详细解解答了 nginx rtmp配置过程. 前写了一篇基于nginx的h ...
随机推荐
- Leetcode 122.买卖股票的最佳时机II
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格. 设计一个算法来计算你所能获取的最大利润.你可以尽可能地完成更多的交易(多次买卖一支股票). 注意:你不能同时参与多笔交易(你必须在再次 ...
- [luoguP1316] 丢瓶盖(二分答案)
传送门 二分答案再判断即可 ——代码 #include <cstdio> #include <iostream> #include <algorithm> #def ...
- python之MD5、base64\base32解密
# -*- coding:utf-8 -*- import hashlib import base64 # 求最大公约数gys # def gys(m, n): # c = 1 # while(c ! ...
- bzoj 1664 (贪心)
[Usaco2006 Open]County Fair Events 参加节日庆祝 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 487 Solved: ...
- 洛谷 P1991 无线通讯网
P1991 无线通讯网 题目描述 国防部计划用无线网络连接若干个边防哨所.2 种不同的通讯技术用来搭建无线网络: 每个边防哨所都要配备无线电收发器:有一些哨所还可以增配卫星电话. 任意两个配备了一条卫 ...
- FreeMarker与Servlet结合示例
一.最原始示例 1.引入POM依赖 <!-- https://mvnrepository.com/artifact/org.freemarker/freemarker --> <de ...
- QQ加群组件-iPhone、Android、网页上加入QQ群
iPhone代码: - (BOOL)joinGroup:(NSString *)groupUin key:(NSString *)key{ NSString *urlStr = [NSString s ...
- 发现所有的字都被加上了 <font> 标签,导致样式全部错乱
经检查,发现我的浏览器默认打开了翻译软件!!!!!!!
- EditText 光标的颜色
EditText有一个属性:android:textCursorDrawable,这个属性是用来控制光标颜色的 android:textCursorDrawable="@null&quo ...
- 【POJ 3263】 Tallest Cow
[题目链接] http://poj.org/problem?id=3263 [算法] 若A和B两头牛可以互相看见,那么说明中间的牛的高度都至少比它们少1,因此,我们可以引入一个差分数组c 对于每组关系 ...