使用 ffmpeg + nginx 实现rtsp视频流转m3u8视频流

Windows环境

安装ffmpeg

下载地址:https://github.com/BtbN/FFmpeg-Builds/releases

安装:下载对应系统安装包,解压缩。

配置环境:在环境变量的path中添加ffmpeg的bin目录路径

D:\ware\ffmpeg-master-latest-win64-gpl\ffmpeg-master-latest-win64-gpl\bin

验证是否安装成功:

出现以下则证明安装成功

进行转换:

该步骤在配置nginx.conf文件之后执行。

ffmpeg -rtsp_transport udp -i "rtsp://127.0.0.1:8557/h3" -fflags flush_packets -max_delay 1 -an -flags -global_header -hls_time 1 -hls_list_size 2 -hls_flags 2 -vcodec copy -s 216x384 -b 1024k -y D:/ware/nginx-1.22.0/html/channel101.m3u8

执行出现以下则运行成功:

安装nginx(略)

配置nginx.conf

添加配置信息

	server {
		listen       8097;
        location /hls {
            types{
                application/vnd.apple.mpegurl m3u8;
                video/mp2t ts;
            }

            root html;
            add_header Cache-Control no-cache;
            add_header Access-Control-Allow-Origin *;
        }
	}

通过VLC视频播放器访问网络地址

http://127.0.0.1:8097/channel101.m3u8

Linux环境下

## 安装ffmpeg

1. 拉取源码

git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg

2. 编译

cd ffmpeg
./configure --
make
make install

3. 查看是否安装成功

ffmpeg -version

rtsp转m3u8

ffmpeg -rtsp_transport tcp -i "rtsp://122.224.240.2:9090/dss/channel=1" -fflags flush_packets -max_delay 1 -an -flags -global_header -hls_time 1 -hls_list_size 2 -hls_flags 2 -vcodec copy -s 216x384 -b 1024k -y /usr/local/nginx/html/channel101.m3u8
posted @ 2023-06-25 16:04  邹笑傲  阅读(1396)  评论(0编辑  收藏  举报