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


一、RTMP自测环境搭建


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

通过librtmp快速上手RTMP媒体传输_第1张图片
数据发送源: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

 

 

你可能感兴趣的:(网络传输)