即时通讯开发如何搭建简单的直播系统

实时视频直播是这两年非常火的技术形态,已经渗透到教育、在线互娱等各种业务场景中。但要搭建一套实时视频直播系统,并非易事,当然相关的直播技术理论在论坛的其它文章里已经写的非常详细,本文不再展开。

基于对新技术的好奇心,我立马实践了下,所以首先给大家分享下整个搭建的流程。本人的操作系统为mac,其他系统的同学可以根据提示,自行安装软件。

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

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


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

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

rtmp媒体服务器的搭建

这里使用srs,

首先clone到本地,进入到trunk目录:
 
git clone [url=https://github.com/ossrs/srs.git]https://github.com/ossrs/srs.git[/url]  
cd srs/trunk

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

最后执行:
    
make

执行成功后,就可以开启我们的服务了:
    
./etc/init.d/srs start
如果是mac系统,此时会失败,原因是srs.conf中max_connections太大,目录为srs/trunk/conf/srs.conf,可以修改为248(其他操作系统可能无此问题)。即时通讯聊天软件app开发可以加蔚可云的v:weikeyun24咨询

再次回到trunk目录:
    
./etc/init.d/srs start
到此我们的srs服务器就搭建起来了。

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

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

其他指令:
    
停止 ./etc/init.d/srs stop  
重启 ./etc/init.d/srs restart

有了服务器之后,我们就准备开始我们的推流端。如果你实在搭建不成功,可以先拿116.196.121.20这个ip做测试,我在京东云上搭建的,配置较低,主要用于大家临时测试,可能不稳定,看一眼就行,后续会关掉,所以还是尽可能自己搭建成功吧。

使用第三方推流SDK

最简单的方式,就是可以借助于第三方的推流SDK,大多情况下第三方SDK完整方案都是收费的,不过他们的推流Android SDK倒是可以下载无需付费情况下来学习使用的。

利用ffmpeg推流

大家可以自己下载ffmepg的源码,然后按照网上的方式去编成so,简单的一点而且比较实用的,就是编出可以执行ffmpeg 命令的so,这样就能干很多事情了。

直接导入,该项目支持直接运行ffmpeg的命令。

ffmpeg命令很多,例如下面这些命令。

将.avi转成gif动画(未压缩):
ffmpeg -i video_origine.avi gif_anime.gif

合成视频和音频:
ffmpeg -i son.wav -i video_origine.avi video_finale.mpg

其中有一个命令就是支持推流,这里将手机上的zixia.mp4作为输入:
ffmpeg -re -i /storage/emulated/0/zixia.mp4  
    -vcodec libx264  
    -acodec aac  
    -f flv  
    -strict -2 rtmp://192.168.1.102/zhy/mylive=

那么这个库是支持在手机上运行ffmpeg命令的,那就简单了:

猜你喜欢

转载自blog.csdn.net/weikeyuncn/article/details/128018196