java+ngnix+ffmpeg在windows系统上实现rtsp流转rtmp或hls流,并用video.js实现在h5播放

一、安装ngnix

参考:https://www.cnblogs.com/qfb620/p/5508468.html

或者使用下面提供的集成smtp模块的ngnix,如是自行安装的ngnix,需要修改conf/ngnix.conf文件,下面是整个文件的内容

worker_processes  1;

error_log  logs/error.log info;

events {
    worker_connections  1024;
}

rtmp {
    server {
        listen 1935;
        chunk_size 4096;   #//数据传输块的大小
        application live {
            live on;
        }
        application vod {
            play F:\lib; #//视频文件存放位置。
        }
        application hls {
            live on;
            hls on;  
            hls_path F:\lib;  
            hls_fragment 8s;  
        }
    }
}

http {
    server {
        listen      80;
        
        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 F:\lib;  
            expires -1;  
            add_header Cache-Control no-cache;
            add_header Access-Control-Allow-Origin *;
        }  
    }
}

二、安装ffmpeg

ffmpeg下载地址:https://ffmpeg.zeranoe.com/builds/

下载对应版本后,放在电脑相应目录,并在环境变量中配置,:在“Path”变量原有变量值内容上加上d:\ffmpeg\bin(该目录即为你解压ffmpeg存放的目录),配置环境变量自行百度

验证:ffmpeg -version 出现版本号则成功。

三、运行ngnix,并在命令行执行ffmpeg命令

四、以海康为例,播放海康实时视频和回放历史

直播命令:
ffmpeg -re  -rtsp_transport tcp -i "rtsp://账号:密码@IP地址/Streaming/Channels/101?transportmode=unicast" -f flv -vcodec libx264 -vprofile baseline -acodec aac -ar 44100 -strict -2 -ac 1 -f flv -s 1280x720 -q 10 "rtmp://127.0.0.1:1935/live/test"

回放命令:
ffmpeg -re -rtsp_transport tcp -i "rtsp://账号:密码@IP地址/Streaming/tracks/101?starttime=20200302t000000z&endtime=20200302t235959z" -f flv -r 25 -s 1280x720 -an "rtmp://127.0.0.1:1935/live/test

出现下面表示成功

 访问127.0.0.1即可查看实时视频,下面的rtmp://127.0.0.1/live/test即为命令中的地址

五、接入java代码,使用java代码执行ffmpeg命令,具体请看代码 https://github.com/18883381361/java-ngnix-ffmpeg

运行ngnix和java代码后,访问127.0.0.1/video5即可,输入ip地址、账号密码即可播放海康视频

六、使用video.js播放视频

猜你喜欢

转载自www.cnblogs.com/lijiayong/p/12402314.html