FFmpeg 转化RTSP为HLS视频流网页播放

准备两个工具,tsp-simple-server,和ffmpeg 
通过网盘分享的文件:rtsp-simple-server_v0.19.1_windows_amd64.zip
链接: 百度网盘 请输入提取码 提取码: r33j
通过网盘分享的文件:ffmpeg7.zip
链接: 百度网盘 请输入提取码 提取码: bs9f
1、获取 rtsp 视频流地址
若需测试 “真实摄像机 RTSP 流”,需准备一台网络摄像机,按其说明书获取地址(通常格式为rtsp://用户名:密码@摄像机IP:554/主码流路径,如海康摄像机:rtsp://admin:123456@192.168.1.100:554/h264/ch1/main/av_stream)
若没有,则用 rtsp-simple-server.exe 模拟一个。下载rtsp-simple-server.exe ,CMD中 输入rtsp-simple-server.exe 启动
准备一个MP4视频,将MP4视频转化成 rtsp 视频流:(安装ffmpeg)
ffmpeg -re -stream_loop -1 -i test.mp4 -c copy -f rtsp rtsp://127.0.0.1:8554/video
2、将 rtsp 转成 网页可播放的 hls 视频流
ffmpeg -rtsp_transport tcp -i "rtsp://127.0.0.1:8554/video" -c:v libx264 -preset ultrafast -tune zerolatency -c:a aac -b:a 64k -hls_time 3 -hls_list_size 5 -hls_flags append_list+omit_endlist+delete_segments -hls_segment_filename "D:\hls\test_%03d.ts" -f hls "D:\hls\test.m3u8"
这条命令执行成功之后画面如下,视频流将持续输出分段视频

命令参数说明:

  1. 输入设置
  • -rtsp_transport tcp:使用 TCP 传输 RTSP 流,提高稳定性
  • rtsp://username:password@camera-ip:554/stream-path:替换为实际的 RTSP 地址
  1. 编码设置
  • -c:v libx264:使用 H.264 编码视频
  • -preset ultrafast -tune zerolatency:优化为低延迟场景
  • -c:a aac -b:a 128k:音频编码为 AAC 格式
  1. HLS 关键设置
  • -hls_time 2:每个 TS 分片 2 秒(值越小延迟越低)
  • -hls_list_size 5:播放列表最多包含 5 个分片
  • -hls_flags append_list:实时追加新分片到播放列表
  • -hls_flags omit_endlist:不添加结束标记,表示流是持续的
  • -hls_flags delete_segments:自动删除超出列表大小的旧分片
  1. 输出设置
  • ./hls/stream_%03d.ts:TS 分片文件的保存路径和命名格式
  • ./hls/stream.m3u8:HLS 索引文件
转换成功后,目录里面产生了*.m3u8 以及分段视频流 *.ts 文件
<video controls width="1280" height="720"> <source src="http://localhost:8060/test.m3u8" type="application/vnd.apple.mpegurl"> 你的浏览器不支持HLS播放 </video>
IIS 设置 HLS 视频流网站允许跨域
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
</customHeaders>
</httpProtocol>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

garychk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值