首页 网站首页 商业信息 推流 查看内容

手把手带你实现srs流媒体推流和拉流操作

电商运营 2022-12-28 21:43 10175人围观 推流

大师早晨好,明天给大师来一个简单的流媒体的推流和拉流的现实操纵,空话不多说,赶紧上车!

二,srs流媒体办事器

1,什么是srs流媒体办事器:

srs(Simple Realtime Server),简单实时办事器,它支持是一个流媒体集成,支持RTMP / HLS / FLV,高效,稳定,易用,简单而愉快。SRS是RTMP / HLS / FLV流式集成,高效,稳定,简单。它是一个国内大佬写的一个很是优异的一个流媒体办事器,它的开源地址在github和gitee上都有:

  • github地址:
https://github.com/ossrs/srs
  • gitee地址:
https://gitee.com/winlinvip/srs.oschina

从这个github上大要我领会到,现在srs临时支持3.0版本,4.0版本应当快公布了,在3.0版本的wiki教程中有一部分视频教程在b站上,关注的小伙伴可以看看:



  • 3.0版本中文wiki教程:
https://github.com/ossrs/srs/wiki/v3_CN_Home

2安装srs流媒体办事器:

  • 我们间接下载3.0版本:
git clone https://gitee.com/winlinvip/srs.oschina.git cd srs.oschina
  • 下载来后:
root@ubuntu:/home/txp/share/srs# cd srs.oschina/
root@ubuntu:/home/txp/share/srs/srs.oschina# ls
AUTHORS.txt LICENSE README.md trunk
  • 检察当前版本能否是3.0版本:
root@ubuntu:/home/txp/share/srs/srs.oschina# git branch -a
* develop
remotes/origin/2.0release
remotes/origin/3.0release
remotes/origin/4.0release
remotes/origin/HEAD -> origin/develop
remotes/origin/develop
remotes/origin/feature/h265
remotes/origin/master
remotes/origin/min
  • 切换到3.0版本:
root@ubuntu:/home/txp/share/srs/srs.oschina# git checkout -b 3.0 remotes/origin/3.0release
Branch 3.0 set up to track remote branch 3.0release from origin.
Switched to a new branch '3.0'

root@ubuntu:/home/txp/share/srs/srs.oschina# git branch -a
* 3.0
develop
remotes/origin/2.0release
remotes/origin/3.0release
remotes/origin/4.0release
remotes/origin/HEAD -> origin/develop
remotes/origin/develop
remotes/origin/feature/h265
remotes/origin/master
remotes/origin/min
  • 起头编译安装:
root@ubuntu:/home/txp/share/srs/srs.oschina# cd trunk/


root@ubuntu:/home/txp/share/srs/srs.oschina/trunk# ./configure


root@ubuntu:/home/txp/share/srs/srs.oschina/trunk# make

  • 设置启动文件:
root@ubuntu:/home/txp/share/srs/srs.oschina/trunk# ls
3rdparty auto conf configure doc etc ide Makefile modules objs research scripts src usr
root@ubuntu:/home/txp/share/srs/srs.oschina/trunk# vim conf/rtmp.conf

#现在前期的版本不用设置,默许就是已经设置好的
# the config for srs to delivery RTMP
# @see https://github.com/ossrs/srs/wiki/v1_CN_SampleRTMP
# @see full.conf for detail config.

listen 1935;
max_connections 1000;
vhost __defaultVhost__ {
}

  • 启动者:
root@ubuntu:/home/txp/share/srs/srs.oschina/trunk# ./objs/srs -c conf/rtmp.conf
[2021-03-13 23:14:46.387][Trace][1974][0] XCORE-SRS/3.0.156(OuXuli)
[2021-03-13 23:14:46.387][Trace][1974][0] config parse complete
[2021-03-13 23:14:46.387][Trace][1974][0] you can check log by: tail -f ./objs/srs.log (@see https://github.com/ossrs/srs/wiki/v1_CN_SrsLog)
[2021-03-13 23:14:46.387][Trace][1974][0] please check SRS by: ./etc/init.d/srs status

我们可以检察日志来看启动进程中具体的信息:

root@ubuntu:/home/txp/share/srs/srs.oschina/trunk# tail -f ./objs/srs.log
[2021-03-13 23:14:46.389][Trace][1976][0] son(daemon) process running.
[2021-03-13 23:14:46.390][Trace][1974][0] grandpa process exit.
[2021-03-13 23:14:46.390][Trace][1976][0] st_init success, use epoll
[2021-03-13 23:14:46.390][Trace][1976][764] server main cid=764, pid=1976, ppid=1568, asprocess=0
[2021-03-13 23:14:46.390][Error][1976][764][11] srs is already running!(Resource temporarily unavailable)
[2021-03-13 23:14:46.390][Error][1976][764][11] Failed, code=1035 : run : daemon run master : acquire pid file : srs is already running
thread [1976][764]: do_main() [src/main/srs_main_server.cpp:186][errno=11]
thread [1976][764]: run() [src/main/srs_main_server.cpp:448][errno=11]
thread [1976][764]: run_master() [src/main/srs_main_server.cpp:467][errno=11]
thread [1976][764]: acquire_pid_file() [src/APP/srs_app_server.cpp:824][errno=11](Resource temporarily unavailable)

留意上面的提醒说我的办事器已经在运转了,不能再运转了,我们把它给封闭了来:

root@ubuntu:/home/txp/share/srs/srs.oschina/trunk# sudo lsof -i:1935
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
srs 1601 root 8u IPv4 20067 0t0 TCP *:1935 (LISTEN)

经过检察srs的端口被一个进程给占用了,所以我们现在把这个进程给杀死掉来:

root@ubuntu:/home/txp/share/srs/srs.oschina/trunk# sudo kill -9 1601

  • 重新启动srs:
root@ubuntu:/home/txp/share/srs/srs.oschina/trunk# ./objs/srs -c conf/rtmp.conf
[2021-03-13 23:25:49.235][Trace][2037][0] XCORE-SRS/3.0.156(OuXuli)
[2021-03-13 23:25:49.235][Trace][2037][0] config parse complete
[2021-03-13 23:25:49.235][Trace][2037][0] you can check log by: tail -f ./objs/srs.log (@see https://github.com/ossrs/srs/wiki/v1_CN_SrsLog)
[2021-03-13 23:25:49.235][Trace][2037][0] please check SRS by: ./etc/init.d/srs status
root@ubuntu:/home/txp/share/srs/srs.oschina/trunk# tail -f ./objs/srs.log
[2021-03-13 23:25:49.238][Trace][2037][0] start daemon mode...
[2021-03-13 23:25:49.239][Trace][2038][0] father process exit
[2021-03-13 23:25:49.239][Trace][2039][0] son(daemon) process running.
[2021-03-13 23:25:49.239][Trace][2039][0] st_init success, use epoll
[2021-03-13 23:25:49.239][Trace][2039][236] server main cid=236, pid=2039, ppid=1568, asprocess=0
[2021-03-13 23:25:49.240][Trace][2039][236] write pid=2039 to ./objs/srs.pid success!
[2021-03-13 23:25:49.240][Trace][2037][0] grandpa process exit.
[2021-03-13 23:25:49.240][Trace][2039][236] RTMP listen at tcp://0.0.0.0:1935, fd=8
[2021-03-13 23:25:49.240][Trace][2039][236] signal installed, reload=1, reopen=10, fast_quit=15, grace_quit=3
[2021-03-13 23:25:49.241][Trace][2039][236] http: api mount /console to ./objs/nginx/html/console

三,实战演示推流和拉流操纵:

1,利用ffmpeg停止推流和ffplay停止拉流:

所谓的推流,简单了解就是把流媒体文件上传到流媒体办事器上去;所以拉流,也可以简单了解就是从流媒体办事器上获得流媒体文件。视频流上传到srs上去:





E:\ffmpeg\bin>ffmpeg -re -i test.flv -vcodec copy -acodec copy -f flv -y rtmp://192.168.0.104/live/livestream

上传上去后,我们可以利用ffplay来停止拉流:



E:\ffmpeg\bin>ffplay rtmp://192.168.0.104/live/livestream

留意:这里拉流的时辰,你的虚拟机最好搞成插入形式,和当地的物理机窗口在同一个网段;而且上面192.168.0.104代表的是我安装srs流媒体办事器的那台ubunut机械的ip地址




2,利用vlc来停止拉流:

vlc下载地址:

<!--StartFragment--><https://get.videolan.org/vlc/3.0.12/win64/vlc-3.0.12-win64.exe><!--EndFragment-->




3,利用OBS停止推流

OBS下载地址:

https://pc.qq.com/detail/4/detail_23604.html



下面是OBS推流演示(两种方式,别的一种是利用电脑摄像头来获得):

  • 当地文件推流:










  • 摄像头捕捉推流











四,总结

好了,本次的分享就到这里竣事了,下面我将起头更多音视频方面的进修总结更新,敬请期待!

参考:

https://gitee.com/winlinvip/srs.oschina

https://ke.qq.com/webcourse/index.html#cid=468797&term_id=100561187&taid=4217056589719357&vid=5285890

高端人脉微信群

高端人脉微信群

人脉=钱脉,我们相信天下没有聚不拢的人脉,扫码进群找到你所需的人脉,对接你所需的资源。

商业合作微信

商业合作微信

本站创始人微信,13年互联网营销经验,擅长引流裂变、商业模式、私域流量,高端人脉资源丰富。

精彩点评

相关推荐

详解RTSP推流实战(1)

详解RTSP推流实战(1)

0.引言本篇文章主要讲解RTSP推流实战,整体推流流程与RTMP推流流程类似。如果对于RTSP

视频号推流直播是什么?怎么玩?(附最全操作流程!)

视频号推流直播是什么?怎么玩?(附最全操作流程!)

随着视频号直播的不断完善,美颜、抽奖、推流直播等功能纷纷上线,【附近的直播和人】

抖音直播间推流机制是什么?怎么做能让直播间一直有流量 ... ...

抖音直播间推流机制是什么?怎么做能让直播间一直有流量 ... ...

很多人直播间没有人,就是因为搞不懂抖音直播间推流机制。不明白推流机制就找不到正确

python利用ffmpeg进行rtmp推流直播

python利用ffmpeg进行rtmp推流直播

思路:opencv读取视频 — 将视频分割为帧 — 将每一帧进行需求加工后 — 将此帧写入pi

OBS推流如何实现多平台推流

OBS推流如何实现多平台推流

500强直播策划,策划过多起直播。经常会遇到需要全平台推流的情况,但是OBS的原生软件

这篇微头条是3个月前写的,最近几天被再次推流,它有何特别之处

这篇微头条是3个月前写的,最近几天被再次推流,它有何特别之处

#头条文章养成计划#根据我400多天创作的亲身体验,文章推荐的时间比较长,而微头条的

头条的推流机制,原来是这样的

头条的推流机制,原来是这样的

#头条创作挑战赛#头条推流的机制是怎样的?在头条写作了31天,小编一直被这个问题困扰

在电脑上使用OBS在各大平台 直播 推流的方法

在电脑上使用OBS在各大平台 直播 推流的方法

Open Broadcaster Software(简称 OBS)是一款好用的第三方开源程序直播流媒体内容制

视频和视频帧:ffmpeg的RTMP推流

视频和视频帧:ffmpeg的RTMP推流

写在前面本文将介绍以下内容:什么是推流?将介绍推流常见的协议RTMP,HLS等。怎么用f

西瓜媒体直播教程:30秒学会推流直播

西瓜媒体直播教程:30秒学会推流直播

头条直播换到西瓜后台啦! 推流还是一样方便快捷! 功能更多更

视频号如何推流直播?推流直播详细教程

视频号如何推流直播?推流直播详细教程

​最近有很多同学问我视频号推流直播怎么做,这种三两句话回答不清楚,今天特意写了详

推流与拉流简概

推流与拉流简概

推流:将直播内容推送至服务器的过程拉流:为服务器已有直播内容,用指定地址进行拉取

一篇文章突然停止推流,我只做了2件事,结果收益200元

一篇文章突然停止推流,我只做了2件事,结果收益200元

我是依伊,一个全职写作的创作人,点击右上角关注,为你分享【新媒体写作变现】和【个

OBS直播多平台同时推流解决方法,简单粗暴

OBS直播多平台同时推流解决方法,简单粗暴

用OBS作为电脑直播推流,是很多人使用的一款开源软件。我们使用OBS时,它默认的是只能

3分钟带你了解抖音推流机制!

3分钟带你了解抖音推流机制!

你是否也遇到过辛辛苦苦拍了视频,但结果却还不如跳舞的小姐姐?为什么别人随便拍的视

千万级直播运营必须掌握的OBS推流直播技能

千万级直播运营必须掌握的OBS推流直播技能

专业直播操盘手必须掌握的OBS推流直播技能私域直播母東東,业绩增长分分钟Hello,各位

如何获取抖音直播的推流地址?

如何获取抖音直播的推流地址?

想在直播间中直播游戏,那就需要用到2个东西,分别是推流码和obs软件。那抖音直播推流

视频号问题系列(一):视频号如何开通推流直播

视频号问题系列(一):视频号如何开通推流直播

缘起: 最近工作比较忙、文章也没怎么更新,不过最近 一段时间过来问我视频号问题的朋

玩转直播,直播推流软件你选对了吗?

玩转直播,直播推流软件你选对了吗?

随着近几年互联网技术高速发展,人们对社交形式多样化的需求不断增加,从一开始的文字

直播推流和拉流方法-VLC 播放器专题

直播推流和拉流方法-VLC 播放器专题

直播目前处于一个风口期,很多直播开始跨平台跨地域直播,如何实现异地直播,跨平台直

商业洽谈 文章投递 寻求报道
电话咨询: 15924191378
关注微信