快速搭建直播服务

大体架构

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下期继续介绍

快速搭建视频直播平台相关推荐

  1. 微软视频直播服务器,使用微软云媒体服务快速搭建视频直播

    原标题:使用微软云媒体服务快速搭建视频直播 2020庚子鼠年假期结束,众多企业开始进入开工模式,但"战疫" 仍在进行中,大家仍以居家办公.避免外出及商务会面为主.在大量传统线下交流 ...

  2. 漫谈直播,从0认识直播并快速搭建专属直播平台

    漫谈直播,从零开始认识直播并快速搭建专属直播平台 author:pasca time:2018/12/05 目录 文章目录 漫谈直播,从零开始认识直播并快速搭建专属直播平台 目录 一.直播科普 1.直 ...

  3. 漫谈直播:从零开始认识直播并快速搭建专属直播平台

    autor:贺志兵 一.直播科普 1.直播是什么 在之前一篇文章详细解答过关于视频的结构,这里就直接上个思维导图. 理解视频的结构有助于我们更好的去理解直播.从本质上讲,直播就是一帧帧的数据加上时序标 ...

  4. 【解决方案】如何基于EasyDSS直播点播系统快速搭建VR直播平台?

    一.项目背景 随着互联网的发展,传统的视频直播已经无法满足客户的个性化需求.而基于AI和VR的直播系统是未来直播发展的趋势.AR也就是增强现实(Augmented Reality)技术,可以运用三维建 ...

  5. 详解音视频直播平台搭建中的低延时

    详解音视频直播平台搭建中的低延时 音视频实时通讯的应用场景已经随处可见,从"吃鸡"的语音对讲.直播连麦.直播答题组队开黑,再到银行视频开户等.对于开发者来讲,除了关注如何能快速实现 ...

  6. 音视频开发(23)---音视频直播技术--10分钟搭建好直播平台

    音视频直播技术--10分钟搭建好直播平台 前言 今天给大家讲一下如何搭建最简单的音视频直播平台.在之前的文章中我已经给大家介绍过音视频直播技术架构,没看过的同学可以看一下.了解了直播的技术架构,我们就 ...

  7. 快速搭建私有视频播放平台--搭建类YouTube/Youku/BiliBili等视频分享网站

    转载来源:http://demo.cumulusclips.org/?preview_theme=newsroom  https://hub.docker.com/r/quantumobject/do ...

  8. 现场直播信号进播出服务器,网络视频直播平台是如何搭建的

    最近学校准备办一个晚会,想通过网络进行视频直播,视频信号由校电视台提供(压缩号了),我们需要想办法如何让小内的学生在宿舍里通过网络看到晚会. 通俗的讲,网络视频直播是把活动现场的音频或视频压信号压缩, ...

  9. 架构 | 如何从零开始搭建高性能直播平台?

    GitChat 作者:七夜 前言 现在直播已经成为移动互联网时代一个新的重要流量入口,从YY.斗鱼到花椒直播,直播已经成为人们分享交流的新方式,应用场景众多,主要分为: 金融类直播:金融直播可应用于实 ...

  10. 如何从零开始搭建高性能直播平台?

    本文转自https://segmentfault.com/a/1190000010724280 前言 现在直播已经成为移动互联网时代一个新的重要流量入口,从YY.斗鱼到花椒直播,直播已经成为人们分享交 ...

最新文章

  1. Block Token 原理分析
  2. docker 虚拟机搭建mongodb一主一从一复制_Docker最全教程——MongoDB容器化(十三)...
  3. python包导入细节_python循环导入是一个实现细节吗?
  4. 讲述CCF-腾讯犀牛鸟基金项目成长故事
  5. 【数据挖掘导论】——数据质量
  6. Notepad设置sql语法高亮
  7. oracle连接eclipse的包,【求助】eclipse导入了Oracle的驱动包连不上Oracle
  8. matdem矩阵维度必须一致_「数据仓库篇」Kimball维度建模方案
  9. WinEdt LaTex(五)—— 内容的排版
  10. 【收藏】这个时候才是最好的自学时间!深度学习-机器学习-GNN-NLP等AI课程超级大列表汇总,拿走不谢...
  11. uvalive3983Robtruck
  12. 三维模型 检索 代码_文章导读|一种基于拉普拉斯算子和联合贝叶斯模型的三维形状检索方法...
  13. AD2017破解步骤
  14. sensor 驱动调试小结
  15. 软件测试-正交试验法
  16. PDF编辑技巧 PDF怎么修改文字
  17. 3D模型欣赏:《magician》次时代 美女 精灵
  18. 管理部门使用计算机属于固定资产核算吗,固定资产核算管理内容
  19. 5. Carla中Recorder(记录器)的使用
  20. 聊天气泡图片的动态拉伸、适配与镜像

热门文章

  1. 微信配网airkiss
  2. 机器人读懂人心的九大模型
  3. Pspice仿真实验 B-3
  4. Java枚举类的使用说明
  5. spurious wakeup -- 多线程之虚假唤醒
  6. 外显子测序数据分析流程
  7. 卸载office 2016 报错:错误1321
  8. MEGA-X 3D打印机教程:05_更换步进电机驱动
  9. 计算机 交换机连接设置方法,怎么用串口线连接电脑和交换机 连接步骤教程
  10. java 图层,图层Layers的介绍