一、前言

实时视频直播是这两年非常火的技术形态,已经渗透到教育、在线互娱等各种业务场景中。但要搭建一套实时视频直播系统,并非易事,下面针对直播系统的的搭建做一下说明:

1.1 通常的直播系统的技术模型图:

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

1.搭建一个rtmp媒体服务器;
2.推流端;
3.拉流端。

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

1.rtmp媒体服务器:推荐使用srs和nginx;
2.推流端:这里使用obs;
3.拉流端:这里使用播放器vlc。

二、SRS 流媒体服务器的搭建

2.1 搭建过程

1.基于Mac操作系统,使用SRS作为流媒体服务器:https://github.com/ossrs/srs。

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

git clone [url=https://github.com/ossrs/srs.git]https://github.com/ossrs/srs.git[/url]
cd srs/trunk

3.然后执行:

./configure —osx

注意: Centos6.x/Ubuntu12 32/64bits用户仅需要执行./configure。

4.最后执行:

make

5.执行成功后,就可以开启我们的服务了:

./etc/init.d/srs start

因为是mac系统,此时会失败,原因是srs.conf中max_connections太大,目录为srs/trunk/conf/srs.conf,可以修改为248(其他操作系统可能无此问题)。

再次回到trunk目录:

./etc/init.d/srs start

到此我们的srs服务器就搭建起来了。

补充说明:Centos、Ubuntu可以参考官网搭建,比较简单。

6.如果你启动过程中还遇到了其他错误,可以查看log信息:

srs/trunk/objs/srs.log

2.2 指令整理

开始 ./etc/init.d/srs start
停止 ./etc/init.d/srs stop
重启 ./etc/init.d/srs restart

2.3 测试服务器

可以使用 rtmp://127.0.0.1/rh/mylive 地址进行直播测试,推流和拉流都可以使用。

三、工具和资料

推荐推流工具

使用OBS推流:https://obsproject.com

使用yasea推流:https://github.com/begeekmyfriend/yasea

使用ffmpeg推流:https://github.com/WritingMinds/ffmpeg-android-java

推荐拉流工具:

使用VLC拉流:http://www.videolan.org/vlc/

参考资料

https://www.cnblogs.com/zhujiabin/p/6812877.html

http://www.52im.net/thread-1154-1-1.html

https://github.com/WritingMinds/ffmpeg-android-java

https://github.com/ossrs/srs

http://blog.csdn.net/ManagerUser/article/details/73840130

https://blog.csdn.net/zjuwwj/article/details/72773704

最新文章

  1. HDInsight 路径问题
  2. 用户列表-投资记录sql
  3. c#Winform程序,让pictureBox显示图像(包含GIF),并且不被占用,能即时删除图片。
  4. POJ 3659 Cell Phone Network (树dp)
  5. redis 中文手册
  6. hnnu 11546 Sum of f(x) (求一个数的全部约数和)
  7. poj2826(线段相交)
  8. 通过Log4net来配置我们需要的日志文件格式
  9. 报表软件公司悬赏 BUG,100块钱1个的真实用意
  10. 第九篇 蓝图 blueprint
  11. mysql 自定义函数与自定义存储过程的调用方法
  12. IIS PHP
  13. 原生JS实现简易转盘抽奖
  14. guxh的python笔记五:面向对象
  15. tp剩余未验证内容-2
  16. 关于react16.4——高阶组件(HOC)
  17. Swift5 语言指南(二十一) 嵌套类型
  18. 华为S5300系列交换机限制特定IP可以登录Web
  19. 使用WPF Application Framework (WAF)框架
  20. centos7下部署elasticSearch集群

热门文章

  1. 一致性哈希(附带C++实现)
  2. ubuntu17.10 python3.6 install plugins for AI
  3. 正"/" 和 反"\"的区别?
  4. PendingIntent
  5. yum源配置的三种方法
  6. java基础之继承(二)
  7. ActiveMq笔记1-消息可靠性理论
  8. <CEPH中国-深圳站-技术交流会演讲PPT> YY云平台Ceph Block应用实践 & 我写的书 《CEPH实战》
  9. DNS 访问 Service - 每天5分钟玩转 Docker 容器技术(138)
  10. Debug格式化输出----基于C语言