移植rtmp到rtsp摄像机的过程记录(sdk2rtmp软件)
2016-08-21 09:20
411 查看
srs是Simple Flash media Server的简写。我们用srs+nginx来搭建流服。实现点播、存储和回放功能。安装布署在云服务器上面。
rtmppush是运行在嵌入式ipc(hisi-hi3518E + ov9712)上面的。但也放在docker image中了,方便编译。
docker是linux上面的虚拟机,编译及安装环境都在docker image中。
加载docker image:
rtmpipc_centos7.tar是开发版本,包括srs和nginx及第三方lib的源代码。docker load <rtmpipc_centos7.tar就得到docker image.
建立container的方法(研发,compile)
docker run --name rtmpipc -p 10080:10080 -p 11935:11935 -p 8080:8080 -p 1935:1935 -v /home:/mnt -ti 8ebe5aff0b4b /bin/bash
编译srs:
cd /home/LiveSvr/trunk
./ build.x86.nginx
编译nginx:
cd /home/VodSvr/hlssvr
./build.sh
make
编译ffmpeg:
cd /home/VodSvr/third/ffmpeg-2.6.3
./build.x86.x264
编译srs-librtmp和rtmppush:
cd cd /home/rtmpipc/
source set_hisi
cd /home/rtmpipc/rtmppush
make
布署的时候,建议换一个docer image,因为开发用的docker image比较大。
[root@2e50c4e4788f home]# cat livevod_run.sh
#playback server
/home/VodSvr/bin/bin/hlssvr -p /home/VodSvr/bin/www/
//这个是回放的进程!
#liveview & recording server
cd /home/LiveSvr/bin
./srs -c srs.conf.vod //这个是启动直播和录像进程!
问题1:看不到流!!
解决办法:
首先,启动/home/livevod_run.sh //这个脚本会启动两个进程:srs和hlssvr。
然后,模拟向server推流。
/home/LiveSvr/bin/push.sh /home/VodSvr/bin/media/44d1.mp4
//这是用文件流化来模拟推流到server(FMS),以诊断问题。
现在开始试看流:
web进入http://110.185.210.89:10080 //选中jwplayer播放器
播放hls: http://110.185.210.89:10080/live/main.m3u8
播放rtmp: rtmp://110.185.210.89:1935/live/main
NOTE:1. 观看时,推流不能中断。2.vi /home/LiveSvr/bin/push.sh看一下,修改其中的ip你的服务器ip。
问题2:FMS可以用了,但从IPC推流仍然有问题,如何办?
进入:/home/rtmpipc/rtmppush/srs-librtmp/这个下面,可以生成srs-push,这是一个将录好的demo file push到FMS的程序。
用法:./srs-push 720p.h264.raw rtmp://127.0.0.1:1935/live/main
观看方法同问题2。
如果这样可以看,就说明问题出在推流环节(采集+push)。server(FMS)没有问题。
问题3:FMS可以到采集并push过来的流了,但播放不正确!
仔细检查,发现一个问题:
dts=pts=stStream.pstPack[0].u64PTS/1000; //unit is ms, comments by freeman
因为海思平台u64PTS的单位是us。而我们的PTS单位是ms。
rtmppush是运行在嵌入式ipc(hisi-hi3518E + ov9712)上面的。但也放在docker image中了,方便编译。
docker是linux上面的虚拟机,编译及安装环境都在docker image中。
加载docker image:
rtmpipc_centos7.tar是开发版本,包括srs和nginx及第三方lib的源代码。docker load <rtmpipc_centos7.tar就得到docker image.
建立container的方法(研发,compile)
docker run --name rtmpipc -p 10080:10080 -p 11935:11935 -p 8080:8080 -p 1935:1935 -v /home:/mnt -ti 8ebe5aff0b4b /bin/bash
编译srs:
cd /home/LiveSvr/trunk
./ build.x86.nginx
编译nginx:
cd /home/VodSvr/hlssvr
./build.sh
make
编译ffmpeg:
cd /home/VodSvr/third/ffmpeg-2.6.3
./build.x86.x264
编译srs-librtmp和rtmppush:
cd cd /home/rtmpipc/
source set_hisi
cd /home/rtmpipc/rtmppush
make
布署的时候,建议换一个docer image,因为开发用的docker image比较大。
[root@2e50c4e4788f home]# cat livevod_run.sh
#playback server
/home/VodSvr/bin/bin/hlssvr -p /home/VodSvr/bin/www/
//这个是回放的进程!
#liveview & recording server
cd /home/LiveSvr/bin
./srs -c srs.conf.vod //这个是启动直播和录像进程!
问题1:看不到流!!
解决办法:
首先,启动/home/livevod_run.sh //这个脚本会启动两个进程:srs和hlssvr。
然后,模拟向server推流。
/home/LiveSvr/bin/push.sh /home/VodSvr/bin/media/44d1.mp4
//这是用文件流化来模拟推流到server(FMS),以诊断问题。
现在开始试看流:
web进入http://110.185.210.89:10080 //选中jwplayer播放器
播放hls: http://110.185.210.89:10080/live/main.m3u8
播放rtmp: rtmp://110.185.210.89:1935/live/main
NOTE:1. 观看时,推流不能中断。2.vi /home/LiveSvr/bin/push.sh看一下,修改其中的ip你的服务器ip。
问题2:FMS可以用了,但从IPC推流仍然有问题,如何办?
进入:/home/rtmpipc/rtmppush/srs-librtmp/这个下面,可以生成srs-push,这是一个将录好的demo file push到FMS的程序。
用法:./srs-push 720p.h264.raw rtmp://127.0.0.1:1935/live/main
观看方法同问题2。
如果这样可以看,就说明问题出在推流环节(采集+push)。server(FMS)没有问题。
问题3:FMS可以到采集并push过来的流了,但播放不正确!
仔细检查,发现一个问题:
dts=pts=stStream.pstPack[0].u64PTS/1000; //unit is ms, comments by freeman
因为海思平台u64PTS的单位是us。而我们的PTS单位是ms。
相关文章推荐
- EasyNVR网页/微信播放RTSP摄像机HLS/RTMP播放时出现起播等待问题的优化过程
- WifiDog移植到Ralink_ApSoC_SDK_4210过程记录
- EasyNVR网页/微信播放RTSP摄像机HLS/RTMP播放时出现起播等待问题的优化过程
- SNMP++软件包的编译过程记录
- wifi移植全过程记录
- 拇指接龙游戏从WIN32向Android移植过程问题记录(1)
- 深入进货单-记录进货过程--宇然电脑公司管理软件
- 软件开发过程中的C语言细节记录
- linux的maven+turbine+turque java项目移植到windows eclipse的过程记录
- 移植opencv2.4.9到android过程记录
- 关于Advanced Installer 11.0打包软件过程一些记录
- 【DM8168学习笔记4】ezsdk安装过程记录
- webWMS开发过程记录(一)- 软件开发的流程
- wifi移植全过程记录【转】
- 全球独家原创:linux-3.4.5内核移植到MPC880过程记录
- QT-everywhere-opensource-src-4.8.0 移植arm飞凌6410 过程记录(ubuntu11.10+arm-linux-gcc-4.3.2)
- 移植x264过程记录1
- ubuntu下安装一些简单软件的过程记录
- ISO9000软件项目评审过程记录_亲历记录
- 拇指接龙游戏从WIN32向Android移植过程问题记录(2)