通过srs实现直播

最终效果

效果图

环境配置

服务器:centos:7, nodejs:10.16.3

客户端:windows10

推流服务器

通过SRS实现流媒体, 它支持RTMP/HLS/WebRTC/SRT/GB28181

srs实现流媒体服务器

Step 1: 获取 SRS

(1)如果服务器上有git的话

git clone https://gitee.com/winlinvip/srs.oschina.git srs &&

cd srs/trunk && git remote set-url origin https://github.com/ossrs/srs.git && git pull

(2)由于本人机子配置不高,没有安装git,所以直接下载了最新的包来上传到服务器上

Step 2: 编译 SRS

./configure && make

可能遇到的问题:

当前目录权限不够

修改http.flv.live.conf配置

文件在安装目录下的/trunk/conf(这里需要放行1935端口)

listen              1935;

max_connections     1000;

daemon              off;

srs_log_tank        console;

http_server {

enabled         on;

listen          8080;

dir             ./objs/nginx/html;

}

vhost __defaultVhost__ {

#http_remux {

#   enabled     on;

#  mount       [vhost]/[app]/[stream].flv;

#}

}

Step 3: 运行 SRS

./objs/srs -c conf/srs.conf

安装ffmpeg

由于centos没有可以直接安装的rpm依赖,所以需要使用第三方的Nux Dextop yum源来安装

更新系统

sudo yum install epel-release -y

sudo yum update -y

sudo shutdown -r now

如果你是centos7的话

sudo rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro

sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm

如果是centos6的话

sudo rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro

sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el6/x86_64/nux-dextop-release-0-2.el6.nux.noarch.rpm

安装ffmpeg和ffmpeg开发依赖

sudo yum install ffmpeg ffmpeg-devel -y

测试是否安装成功

ffmpeg -h

有输出对应的帮助信息的话,则安装成功

通过ffmpeg将案例进行推流

也可以通过obs,这里只是测试效果

ffmpeg -re -i /www/wwwroot/srs/trunk/doc/source.200kbps.768x320.flv -vcodec copy -acodec copy -f flv rtmp://139.xxx.x.82/live/livestream

/www/wwwroot/为你的路径,139.xxx.x.82 为你的公网ip。

在线测试推流效果

只需将url替换成你上面的rtmp://139.xxx.x.82/live/livestream 地址即可

obs实现客户端推流

设置推流来源为上面的地址,主要服务器的地址不需要livestream,串流秘钥为livestream。

obs

转载请标明出处:

srs直播 java开发,通过srs实现直播相关推荐

  1. srs直播 java开发,使用 SRS/OBS/VLC 快速搭建直播服务系统

    环境准备 推流服务器 我用 SRS 运行在 Debian/Jessie 下 v2.0.209 . 编译安装 ./configure --prefix=/opt/srs --with-stat --wi ...

  2. 直播软件开发教程之在直播系统源码中设置任务奖励

    直播软件开发是当下流行的视频社交类软件开发类型的一种,直播平台也是年轻人喜爱的网络平台之一,许多直播平台为了增加用户粘性,推出了任务奖励的功能,这是怎么实现的呢? 接下来以云豹直播系统源码为例,为大家 ...

  3. 【每日面试】YY直播 Java开发 一面

    作者:许y愿 链接:https://www.nowcoder.com/discuss/735887?source_id=discuss_experience_nctrack&channel=- ...

  4. 如何实现悬浮窗,看直播软件开发怎么做

    使用阿里云直播sdk demo进行直播软件开发,支持直播,点播 视频直播与悬浮窗小窗口无缝衔接切换(一般拉流格式 rtmp m3u8等) 直播点播提示,监听,各种状态返回以及各种提示 视频播放基础库 ...

  5. 直播APP开发成品案例

    直播APP开发,直播APP开发成品案例.直播是现在较为盛行的互动型內容展现,很多人会融合自己的需要挑选相比于的直播内容开展观看,直播的火爆也促使直播APP开发慢慢兴起. 一.直播APP开发功能设计 针 ...

  6. 一对一视频直播APP开发要点

    每个时代都有每个时代的印记,季节轮回交替,生命生生不息.科学技术蓬勃发展的今天,你记住了这个时代的什么呢?这是个色彩斑斓的世界,每一刻都值得被记录. 在这场激烈的竞争之中,少不了程序大神的付出,代码的 ...

  7. 直播鉴黄?直播商城开发是如何实现的

    截图鉴黄配置的方式有哪些? 直播商城开发最重要的一步,就是实现直播鉴黄的功能,那么接下来就和我一起看看直播鉴黄是如何实现的吧. 方式:1,通过API设置:2,在[控制台][功能模板]进行配置. 直播商 ...

  8. 直播APP开发技术原理分享

    直播APP的火热,令直播APP开发技术也不断向着更快.更好的方向发展,直播APP开发技术的原理也正在被广大群众所了解. 那么直播APP开发技术在实现直播平台过程中具体是怎样搭建的呢?小编就来带您仔细看 ...

  9. 直播软件开发Android直播悬浮窗实现

    直播软件开发时Android游戏直播有时候需要跨应用去操作一些东西,比如打开摄像头,暂停直播等,比较不影响体验的一种方式就是加入一个悬浮窗,通过悬浮窗的按钮去跟直播软件应用交互.下面我就来简单介绍下如 ...

最新文章

  1. android 退出程序解决内存释放so的问题
  2. MySQL主从复制简单设置
  3. 无重复字符的最长子串—leetcode3
  4. 【原创】2009个性签名和流行语搜集
  5. # 自定义异常类 问题: 请使用代码实现 每一个学生(Student)都有学号,姓名和分数,分数永远不能为负数 如果老师给学生赋值一个负数,抛出一个自定异常
  6. Linux中的mysql.redis
  7. Spring 使用Cache(转)
  8. 如何制作歌单 0202 winform
  9. 诗与远方:无题(四十)
  10. ISAServer***检测及配置
  11. Oracle 11.2.0.2 Patch 说明
  12. github 建立博客
  13. B2B2C商城系统源码 多商户商城源码 Wap+App+小程序源码
  14. 3dMax2020 渲染后保存图片时卡住解决方法
  15. 全国24省50万亿元投资在路上:后疫情时代碰撞新基建,AI难再“一招鲜”
  16. 雷声大雨点小,廖翔廖翔你真diao
  17. C# OpenCvSharp 连通区域最小衔接矩形+最小标注信息(minx,miny,Width,Height)
  18. 铁乐学Python_day05-字典dict
  19. 怎样控制键盘按键自动填写网页表单
  20. 绩效考核管理系统使用说明1

热门文章

  1. 计算机毕设(附源码)JAVA-SSM基于Internet快递柜管理系统
  2. 从0到ros2玩rmf
  3. 视频教程-Python疫情监控完整项目实战-Python
  4. springboot 配置文件的所有属性
  5. Hadoop3x,Hadoop2x新特性
  6. Android 绘制电池图标
  7. excel 设置隔行变色功能
  8. 游戏手柄之自定义按钮控制海龟
  9. 有赞2019校招及社招内推
  10. 贝叶斯统计推断_统计推断对决:频繁主义者与贝叶斯主义者