美文网首页
音视频流媒体开发【四十五】RTMP流媒体1-RTMP流媒体服务器

音视频流媒体开发【四十五】RTMP流媒体1-RTMP流媒体服务器

作者: AlanGe | 来源:发表于2023-04-13 20:23 被阅读0次

    音视频流媒体开发-目录
    iOS知识点-目录
    Android-目录
    Flutter-目录
    数据结构与算法-目录
    uni-pp-目录

    服务器:SRS(Simple RTMP Server,⽀持RTMP、HTTP-FLV,HLS)
    推流端:ffmpeg + OBS
    拉流端:ffplay +VLC + srs播放器

    1 安装和测试srs流媒体服务器

    1.1 安装srs流媒体服务器

    srs官⽹:https://github.com/ossrs/srs

    码云的源速度快:https://gitee.com/winlinvip/srs.oschina.git
    github的源速度慢:https://github.com/ossrs/srs.git

    选择当前最新的release版本3.0

    第⼀步,获取SRS。详细参考GIT获取代码
    git clone https://gitee.com/winlinvip/srs.oschina.git
    cd srs.oschina
    #使⽤当前最新的3.0版本
    git checkout -b 3.0 remotes/origin/3.0release
    cd trunk
    
    第⼆步,编译SRS。详细参考Build
    ./configure && make
    
    第三步,编写SRS配置⽂件。详细参考RTMP分发

    将以下内容保存为⽂件,譬如 conf/rtmp.conf ,服务器启动时指定该配置⽂件(srs的conf⽂件夹有该⽂件)。
    vim conf/rtmp.conf

    # conf/rtmp.conf
    listen 1935;
    max_connections 1000;
    vhost __defaultVhost__ {
    }
    
    第四步,启动SRS。详细参考RTMP分发
    ./objs/srs -c conf/rtmp.conf
    

    1.2 测试srs流媒体服务器

    第五步,启动推流编码器。详细参考RTMP分发

    使⽤FFMPEG命令推流:

    ffmpeg -re -i rtmp_test_hd.flv -vcodec copy -acodec copy -f flv -y
    rtmp://192.168.1.11/live/livestream
    

    注: 上述命令中的flv完整路径,以及srs server ip,⼤家根据情况⾃⾏替换为实际值。 另外:默认情况下srs的rtmp采⽤1935端⼝,如果该端⼝被占⽤或修改了srs.conf中的端⼝,注意根据情况调整;防⽕墙如果开了,也要检测下1935是否允许访问。

    第六步,观看RTMP流。详细参考RTMP分发

    RTMP流地址为: rtmp://192.168.1.11/live/livestream
    可以使⽤VLC观看。
    或者使⽤在线SRS播放器播放:srs-player
    备注:请将所有实例的IP地址192.168.1.11都换成部署的服务器IP地址。

    2 使⽤OBS推流

    ffmpeg的命令⾏⽅式不太友好,推荐使⽤主流的OBS开源推流软件,可从官⽹https://obsproject.com/下载最新版本,⽬前很多⽹络主播都是⽤它做直播。该软件⽀持本地视频⽂件以及摄像头推流。或者使⽤:https://pc.qq.com/detail/4/detail_23604.html 去下载。

    2.1 ⽂件推流

    1. 先添加⼀个:“媒体源”
    1. 然后新建⼀个名称(随便输⼊)
    1. 选择本机视频⽂件
    1. 接下来是关键的部分,进⼊设置:
    1. 在串流->服务器这⾥,输⼊srs的地址:rtmp://192.168.1.11:1935/live (注意这⾥不要带livestream), 然后在串流密钥这⾥,才是输⼊livestream
    1. 设置好以后,就可以点击“开始推流”了。如果顺利,下⾯的状态栏,会显示⼀些实时数据:

    注意:OBS进⾏推流占⽤率⽐较⾼,原因在于osb在推流时对源⽂件进⾏了解码再编码的操作。

    2.2 摄像头推流

    跟上⾯的其实差不多,区别只是添加“视频捕捉设备”

    然后选择本机检测到的摄像头设备(⽐如:下图为Dell笔记本⾃带的Integrated Webcam)

    接下来的操作就⼀样了:

    2.3 更多设置

    参⻅:OBS 推流 https://cloud.tencent.com/document/product/267/32726

    3 使⽤VLC拉流

    拉流:即从流媒体服务器读取视频流(说⽩了:就是播放)

    推荐使⽤开源的VLC播放器 (当然其它任何⽀持⽹络媒体源播放的player其实都⾏),File -> Open Network,输⼊地址 rtmp://192.168.1.11:1935/live/livestream

    4 使⽤srs播放器拉流

    http://ossrs.net/srs.release/trunk/research/players/srs_player.html

    相关文章

      网友评论

          本文标题:音视频流媒体开发【四十五】RTMP流媒体1-RTMP流媒体服务器

          本文链接:https://www.haomeiwen.com/subject/mzomddtx.html