快速搭建视频直播平台
2017-11-19 13:21
267 查看
快速搭建直播服务
大体架构
srs+ffmpeg+第三方(阿里云,腾讯云等),因为不是专门做直播平台,所以借助第三方平台(服务器,带宽,cdn可以省不少心)。当然如果你想自建一个视频直播平台也是可以的~~
srs用来接收从手机客户端推来的rtmp流,ffmpeg用来对视频进行处理,比如增加logo或滤镜等,在各种技术尝试中,走过不少弯路,接收流方面还使用过netty,nginx-rtmp,流处理方面使用过javaCV,但效果有些不理想.,java太吃内存,cpu。
下面我们来看一下大致的流程吧
srs的文档简单全面,附上git地址
https://github.com/ossrs/srs/wiki/v2_CN_Home
第一步,获取SRS。
或者使用git更新已有代码:
第二步,编译SRS。
第三步,编写SRS配置文件。
将以下内容保存为文件,譬如
第四步,启动SRS。
以上是基本配置,
安装成功后文件路径如下
下面是完整配置
vhost后面要写对应的推流地址或者ip.
http_api 与vhost中的http_hooks为一组配置,当srs接收,停止到推流时会调用配置文件中所填地址,并且将各种参数包括streamId,appid传到后台中。
hvhost中的dvr功能是本地录制,dvr_plan有多种录制计划
session:按照session来关闭flv文件,即编码器停止推流时关闭flv,整个session录制为一个flv。
segment:按照时间分段录制,flv文件时长配置为dvr_duration和dvr_wait_keyframe。注意:若不按关键帧切flv(即dvr_wait_keyframe配置为off),所以会导致后面的flv启动时会花屏。
至此srs服务器的搭建结束.ffmpeg下期继续介绍
大体架构
srs+ffmpeg+第三方(阿里云,腾讯云等),因为不是专门做直播平台,所以借助第三方平台(服务器,带宽,cdn可以省不少心)。当然如果你想自建一个视频直播平台也是可以的~~
srs用来接收从手机客户端推来的rtmp流,ffmpeg用来对视频进行处理,比如增加logo或滤镜等,在各种技术尝试中,走过不少弯路,接收流方面还使用过netty,nginx-rtmp,流处理方面使用过javaCV,但效果有些不理想.,java太吃内存,cpu。
下面我们来看一下大致的流程吧
srs的文档简单全面,附上git地址
https://github.com/ossrs/srs/wiki/v2_CN_Home
第一步,获取SRS。
git clone https://github.com/ossrs/srs cd srs/trunk
或者使用git更新已有代码:
git pull
第二步,编译SRS。
./configure && make
第三步,编写SRS配置文件。
将以下内容保存为文件,譬如
conf/rtmp.conf,服务器启动时指定该配置文件(srs的conf文件夹有该文件)。
# conf/rtmp.conf listen 1935; max_connections 1000; vhost __defaultVhost__ { }
第四步,启动SRS。
./objs/srs -c conf/rtmp.conf
以上是基本配置,
安装成功后文件路径如下
下面是完整配置
listen 1935; max_connections 1000; daemon off; #srs_log_tank console; srs_log_tank file; srs_log_file ./objs/srs.log; http_api { enabled on; listen 8085; crossdomain on; } vhost test.xx.com { dvr { enabled on; #dvr_path ./objs/nginx/html/[app]/[stream].[timestamp].flv; dvr_path ./objs/nginx/html/[stream]/[timestamp].flv; dvr_plan session; dvr_duration 30; dvr_wait_keyframe on; } http_hooks { enabled on; on_connect http://127.0.0.1:8383/lss/liveItem/LiveItemAction!streamStatus.do ; on_close http://127.0.0.1:8383/lss/liveItem/LiveItemAction!streamStatus.do ; on_publish http://127.0.0.1:8383/lss/liveItem/LiveItemAction!streamStatus.do ; on_unpublish http://127.0.0.1:8383/lss/liveItem/LiveItemAction!streamStatus.do ; on_dvr http://127.0.0.1:8085/api/v1/dvrs; #on_play http://127.0.0.1:8085/api/v1/sessions ; #on_stop http://127.0.0.1:8085/api/v1/sessions ; } }
vhost后面要写对应的推流地址或者ip.
http_api 与vhost中的http_hooks为一组配置,当srs接收,停止到推流时会调用配置文件中所填地址,并且将各种参数包括streamId,appid传到后台中。
hvhost中的dvr功能是本地录制,dvr_plan有多种录制计划
session:按照session来关闭flv文件,即编码器停止推流时关闭flv,整个session录制为一个flv。
segment:按照时间分段录制,flv文件时长配置为dvr_duration和dvr_wait_keyframe。注意:若不按关键帧切flv(即dvr_wait_keyframe配置为off),所以会导致后面的flv启动时会花屏。
至此srs服务器的搭建结束.ffmpeg下期继续介绍
相关文章推荐
- 大牛揭秘:如何快速在阿里云搭建视频直播平台
- 如何快速搭建一套完整的网络直播平台
- 如何快速搭建运营级的网络直播平台
- 音视频直播技术--10分钟搭建好直播平台
- 云豹直播系统-帮您快速搭建在线直播平台
- 视频直播开发:开发搭建独立的直播平台
- 云豹直播系统帮您快速搭建在线直播平台
- 如何快速搭建运营级的网络直播平台
- 基于开源Red5搭建的视频直播平台
- 快速搭建linux下视频点播,直播网站。
- 使用开源软件快速搭建数据分析平台
- 快速搭建sonar代码质量管理平台
- 基于feng streaming server 搭建Android直播测试平台
- 利用nginx搭建RTMP视频点播、直播、HLS服务器
- windows平台简易直播系统搭建
- iOS平台基于ffmpeg的视频直播技术揭秘
- 五分钟搭建 Flash 视频直播站
- 使用logstash+elasticsearch+kibana快速搭建日志平台
- EasyPHP 3 + Mantis 1.2 快速搭建安装免费开源的中文缺陷管理平台(图)