欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

通过librtmp快速上手RTMP媒体传输

程序员文章站 2022-05-10 23:33:25
...


一、RTMP自测环境搭建


(拓扑样式)数据发送源 + 测试服务器 + VLC客户端

通过librtmp快速上手RTMP媒体传输
数据发送源:Ubuntu 服务器环境下写了一个Send264的发送环境(基于librtmp、雷神的代码改了一下)
测试服务器:centos 服务器环境 + Nginx + Nginx的rtmp外部库,这个作为一个缓存的作用,供播放器拉流
VLC:作为播放器,来将服务器数据进行播放

 

二、测试发送源


这一部分是基于librtmp开源库进行开发,借鉴于雷神的windows的demo,因为网上的很多demo都是基于Windows环境下,
我这边因为没有VS环境就基于ubuntu的系统编写了一个demo
1、下载RTMP的开源库
http://rtmpdump.mplayerhq.hu/download/


2、编译库

(1)下下来之后make;make install
(2)没有make install 权限的兄弟,把拿到得到的.so 放到工程里面编译
(3)有make install 权限的兄弟,可以直接关联.so ,在工程中编译

3、具体代码见下图链接

 

4、整体代码封装包

 


三、测试服务器

1、简介
按照参考链接下载搭建Nginx + RTMP
编辑 nginx.conf 的配置文件打开相关

2、相关注意事项
(1)设置端口,chunk大小,
(2)下方设置中vod 主要是方便本地广播
(3)live 方便“测试发送源”发送数据到“测试服务器”,VLC监控这个地址则可以进行播放

rtmp {                #RTMP service
    server {
        listen 1935;  #port
        chunk_size 4096;   #data size

    application vod {
            play /home/Videos; #video path
        }
    application live {
            live on;
    }

    }
}

// 主要是为了通过web监控rtmp传输的情况

location /stat {     #first location field
    rtmp_stat all;
    rtmp_stat_stylesheet stat.xsl;
}

// root 后接的nginx-rtmp-module ,要填写这个库的安装位置,搞错则不能打开web监控Rtmp的情况
location /stat.xsl { #second location field
    root /home/Work_nginx/nginx-rtmp-module;
}

四:VLC播放器

媒体->打开网络传流->输入设备的RTMP服务器的测试地址

例:rtmp://xx.xxx.xxx.x:1935/live/test

端口为1935(在匹配值文件中打开)

文件地址为:live(application 中定义,test叫其他名字也可以)


五、相关参考链接

1、雷神相关链接

https://blog.csdn.net/leixiaohua1020/article/details/42104893
 

2、Nginx 搭建RTMP
https://www.jianshu.com/p/1cbff1431590

 

 

相关标签: 网络传输