使用java+ffmpeg+nginx-http-flv将海康rtsp视频流转http-flv,使Web可以无插件播放

最近公司项目需要将海康的预览和回放流在web上播放,由于rtmp年底flash不支持播放了,rtsp在Web不能直接播放,所以现在的思路是通过ffmpeg将rtsp流转为http-flv流,以推流的形式推给前端,前端采用flv.js播放。

首先安装ffmpeg,安装教程百度,谷歌一大堆。

配置好ffmpeg的环境变量。

安装已经编译好的nginx+nginx-http-flv服务器。博主有已经搭建好的nginx需要的自行下载。

下载解压nginx后,启动nginx。

ffmpeg命令:

转码命令实例(预览):ffmpeg  -rtsp_transport tcp -i “rtsp://admin:[email protected]/h264/ch1/main/av_stream” -vcodec copy -acodec copy -f flv “rtmp://localhost:1935/live/room”

转码命令实例(回放):ffmpeg -rtsp_transport tcp -i “rtsp://admin:[email protected]:554/Streaming/tracks/201?starttime=20200628t000000z&endtime=20200628t000100z” -vcodec copy -acodec copy -f flv “rtmp://localhost:1935/live/rooms”

在这里重点讲一下海康摄像机回放的RTSP取流格式:

使用java+ffmpeg+nginx-http-flv将海康rtsp视频流转http-flv,使Web可以无插件播放_第1张图片

 

 

Ip是指超脑IP,端口不出意外是554,通道号如下图所示的话应填201

使用java+ffmpeg+nginx-http-flv将海康rtsp视频流转http-flv,使Web可以无插件播放_第2张图片

 

打开CMD,输入ffmpeg命令。

rtmp播放地址:rtmp://localhost:1935/live/room

http-flv播放地址:http://localhost:8080/live?port=1935&app=live&stream=room

地址中的room可以自行修改,多路推流只需要更改不同的room就好。

java代码只需要调用Process,运行ffmpeg命令即可。

 

你可能感兴趣的:(使用java+ffmpeg+nginx-http-flv将海康rtsp视频流转http-flv,使Web可以无插件播放)