使用nginx+nginx-rtmp-module+ffmpeg搭建流媒体server笔记

Posted zhchoutai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用nginx+nginx-rtmp-module+ffmpeg搭建流媒体server笔记相关的知识,希望对你有一定的参考价值。

第十部分 -- 开发板測试

前几天已经分别将nginx和ffmpeg移植到了开发板上面。可是还是没有进行不论什么的測试并不知道移植后的效果怎样。

今天分别做了两个測试。证明移植的结果是可用的。


1、測试ffmpeg

对于nginx的測试在移植完毕后就已经进行过了。当然就是简单的可以显示nginx欢迎界面而已,可是对我来讲,nginx能用即可,并没有对他进行深一步的測试。

可是对于ffmpeg不測试下总感觉不放心。尽管移植时执行显示能够,可是还不知道它能不能工作,所以首先用它进行了视频格式转换的測试。

測试非常easy,将sd卡中的一个.264文件转换成mp4格式:

[email protected]:/sdcard/Movies # cd /data/misc/ffmpeg/                            
[email protected]:/data/misc/ffmpeg # ll
-rwxrwxrwx root     root      9145536 2015-03-10 10:48 ffmpeg-android
<pre name="code" class="plain">[email protected]:/data/misc/ffmpeg #./ffmpeg-android -i /sdcard/Movies/test.264 /sdcard/Movies/output.mp4                             


技术分享

<pre name="code" class="plain">[email protected]:/data/misc/ffmpeg # cd /sdcard/Movies/                            
[email protected]:/sdcard/Movies # ll
-rw-rw-r-- root     sdcard_rw  4473874 2015-03-12 23:51 output.mp4
-rw-rw-r-- root     sdcard_rw  6193066 2015-01-16 14:22 test.264


结果成功将将sd卡中test.264文件转换成output.mp4格式。

我还尝试过将.264文件还原成.yuv格式,结果震惊了:

上述的test.264大小为6.2M。转换成.yuv格式之后大小为1.6G,着实吃了一惊。这压缩的太厉害了。


2、測试流媒体server工作情况

最关键的地方到了,成败在此一举阿。

(1)开启nginx

[email protected]:/data/misc/nginx-rtmp/sbin #./nginx -p /data/misc/nginx-rtmp -c conf/nginx.conf

(2)ffmpeg推流到nginx

[email protected]:/data/misc/ffmpeg #./ffmpeg-android -i  rtsp://admin:[email protected]  -vcodec copy -acodec copy -s 640x480 -f flv rtmp://192.168.1.88:1935/hls/test2

结果:

技术分享

程序成功执行。可是存在问题如上图所看到的,临时还不知道怎么回事并没有对监控视频获取产生影响,在chrom浏览器中输入地址

    http://192.168.1.88:80/hls/test2.m3u8 
能够成功显示出监控视频。

技术分享

我的摄像机和开发板是用网线直接连接起来的,开发板搭载android系统,使用上面的chrom浏览器播放监控视频:

技术分享

经过一段时间的測试:延时比在pc机上面測试时要多一点。延时大约在35s左右。这可能会与开发板性能有关系。


3、总结

到今天为止。最终在arm板上搭建成功了支持hls的流媒体server,总结一句话:

~~~~移植真蛋疼~~~~











以上是关于使用nginx+nginx-rtmp-module+ffmpeg搭建流媒体server笔记的主要内容,如果未能解决你的问题,请参考以下文章

centos使用一键lnmp+nginx-rtmp-module插件,使用obs推流到nginx

obs nginx-rtmp-module搭建流媒体服务器实现直播 ding

./configure: 没有这样的文件或目录 - 在 Mac OS X 上构建 nginx-rtmp-module

nginx-rtmp-module搭建直播

nginx-rtmp-module--------------WIKI

OpenCV+nginx-rtmp-module实现图像推流