ONVIF协议摄像头RTSP拉流转码RTMP,JWPlayer实现网页播放

准备工具:IPCAMERA网页高清摄像头一个,nginx-rtmp-win32-master.zip ,FFMPEG

开始干活:

1、先解压nginx-rtmp-win32-master,这里面集成了,这个比较简单,找个合适的地方,直接解压,解压后的样子是这样的

ONVIF协议摄像头RTSP拉流转码RTMP,JWPlayer实现网页播放_第1张图片

看到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

ONVIF协议摄像头RTSP拉流转码RTMP,JWPlayer实现网页播放_第2张图片

如图:即为安装成功了。

3、重头戏来了,搞摄像头。小弟是一搞android的,由于公司人手有限,才临时客串一下。由于第一次搞,手忙脚乱的,都不知道怎么获取流。接下来我就不厌其烦的问度娘了。

    1),先问度娘摄像头怎么连接我电脑。怎么才能让我连接上去呢。找到一件法器:ONVIF Device Test Tool。百度下载安装就行,点击打开软件,界面是这样的,点击discover devices,在下面就显示设备了,不知道为什么有两个,明明我就一个设备,有大神知道的,可以联系我Q278357251。右边显示一些摄像头的基本信息

点击ONVIF协议摄像头RTSP拉流转码RTMP,JWPlayer实现网页播放_第3张图片

    2)话不多说,直接画步骤:

ONVIF协议摄像头RTSP拉流转码RTMP,JWPlayer实现网页播放_第4张图片

    备注一下:第五步就能看到视频了,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,按照步骤,看到以下界面

ONVIF协议摄像头RTSP拉流转码RTMP,JWPlayer实现网页播放_第5张图片

备注:说明咱们转码推流成功了,由于这是自带的测试demo,界面不要就怎么改了。索性不改了。

打开我的phpstudy。找个jwplayer,,然后复制一下rtmp拉流地址,运行如下:代码一会附上

 ONVIF协议摄像头RTSP拉流转码RTMP,JWPlayer实现网页播放_第6张图片


ok,完毕

所用到部分资源,其他的可以百度下载到:

https://download.csdn.net/download/qq_22802643/10332752

你可能感兴趣的:(音视频研究)