ONVIF协议摄像头RTSP拉流转码RTMP,JWPlayer实现网页播放
准备工具:IPCAMERA网页高清摄像头一个,nginx-rtmp-win32-master.zip ,FFMPEG
开始干活:
1、先解压nginx-rtmp-win32-master,这里面集成了,这个比较简单,找个合适的地方,直接解压,解压后的样子是这样的
看到nginx.exe了不,二话不说。直接运行就ok了,忘了 说一句,nginx默认配置需要用到8080和1935端口,如果想改端口,在conf目录下边有nginx.conf这个文件,打开之后,就能看到了,改完端口以后,记得重新重新启动一下nginx服务器。貌似没有重新启动这一项啊,那就点击stop.bat,然后再点击nginx.exe。附上nginx.conf:
worker_processes 4;
#切换自动推送(多 worker 直播流)模式。默认为 off
rtmp_auto_push on;
#当 worker 被干掉时设置自动推送连接超时时间。默认为 100 毫秒
rtmp_auto_push_reconnect 1s;
error_log logs/error.log debug;
worker_rlimit_nofile 51200;
events {
worker_connections 51200;
}
rtmp {
server {
listen 1935;
application live {
#live on;
live on;
hls on;
hls_path temp/hls;
hls_fragment 20s;
hls_playlist_length 3000s;
hls_cleanup off;
idle_streams off;
publish_notify on;
drop_idle_publisher 70s;
record_unique off;
#record keyframes;
wait_video off;
interleave on;
wait_key off;
record all;
record_path temp/hls;
record_interval 3600s;
}
application hls {
live on;
hls on;
hls_path temp/hls;
hls_fragment 1s;
}
}
}
http {
server {
listen 8080;
location / {
root html;
}
location /stat {
rtmp_stat all;
rtmp_stat_stylesheet stat.xsl;
}
location /stat.xsl {
root html;
}
location /hls {
#server hls fragments
types{
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
}
alias temp/hls;
expires -1;
}
}
}
2、接下来就来安装ffmpeg.没啥好说的,找个合适的位置,直接下一步就ok。安装完成记得看看环境变量里面有没有ffmpeg的配置。安装完成以后,cmd里面直接输入ffmpeg
如图:即为安装成功了。
3、重头戏来了,搞摄像头。小弟是一搞android的,由于公司人手有限,才临时客串一下。由于第一次搞,手忙脚乱的,都不知道怎么获取流。接下来我就不厌其烦的问度娘了。
1),先问度娘摄像头怎么连接我电脑。怎么才能让我连接上去呢。找到一件法器:ONVIF Device Test Tool。百度下载安装就行,点击打开软件,界面是这样的,点击discover devices,在下面就显示设备了,不知道为什么有两个,明明我就一个设备,有大神知道的,可以联系我Q278357251。右边显示一些摄像头的基本信息
点击
2)话不多说,直接画步骤:
备注一下:第五步就能看到视频了,1920x1080,高清无码,咳咳,说多了。第六步拿到rtsp流地址。咱们就要这玩意。
3、拿到视频流了,咱们就该转码播放了,rtsp目前在不安装插件的情况下是不可以直接在网页上面播放的,需要转成网页上可以播放的视频格式才可以。
1)转码,把rtsp转成rtmp推送到nginx的服务器1935上面
在cmd里面输入:
ffmpeg -i rtsp://192.xxx.xxx.103:554/live1.264 -c:a copy -c:v libx264 -f flv rtmp://127.0.0.1:1935/live/stream
命令具体参数客户参考官网 :http://ffmpeg.org/documentation.html
2)打开 http://127.0.0.1:8080,按照步骤,看到以下界面
备注:说明咱们转码推流成功了,由于这是自带的测试demo,界面不要就怎么改了。索性不改了。
打开我的phpstudy。找个jwplayer,,然后复制一下rtmp拉流地址,运行如下:代码一会附上
ok,完毕
所用到部分资源,其他的可以百度下载到:
https://download.csdn.net/download/qq_22802643/10332752
下一篇: Mininet简介、安装与调试