栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

网络摄像头Rtsp转HLS 及.Net开发示例

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

网络摄像头Rtsp转HLS 及.Net开发示例

以海康网络摄像头为例。

Rtsp的链接地址为:

rtsp://admin:12345@192.168.10.101:554/h264/ch33/main/av_stream

admin 账号; 12345 密码; 192.168.10.101 摄像头Ip地址; 554 为rtsp协议广播端口;

h264 摄像头监控视频的数据格式; 33 摄像头的通道号(第一个为33 第二个为34 以此增加);

main 为主信号通道。

这些信息都可以在海康的iVMS-4200客户端 主预览 网络配置里查看(通道号除外)

Rtsp 可以用 VLC Media Player 播放(如何播放 自行百度)

确保rtsp地址正确后 准备 ffmpeg 环境(自行百度)

然后用 cmd/powershell 键入

ffmpeg -i rtsp://admin:12345@192.168.10.102:554/h264/ch33/main/av_stream -c:v copy -c:a copy -f hls -hls_time 1 -hls_list_size 3 -hls_flags delete_segments ./index.m3u8

效果:

 语句说明:

-hls_time 截取的视频时长 1 表示1s

-hls_list_size 记录的视频索引的个数

-hls_flags delete_segments 表示删除记录索引外的视频文件

./index.m3u8 表示路径+文件名+.m3u8(hls 文件后缀)

在.Net 开发环境下 推荐个比较不错的ffmpeg 开源处理库:Xabe.FFmpeg

代码示例:

            using Xabe.FFmpeg;
            
            var cancellationTokenSource = new CancellationTokenSource();
            var mediaInfo = await FFmpeg.GetMediaInfo("RTSP URL");
            var conversionResult = await FFmpeg.Conversions.New()
                .AddStream(mediaInfo.Streams)
                .AddParameter("-vcodec copy")
                .AddParameter("-f hls")
                .AddParameter("-hls_time 1")
                .AddParameter("-hls_list_size 3")
                .AddParameter("-hls_flags delete_segments")
                .SetOutput(string.Format("{0}/index.m3u8", "FILE PATH"))
                .Start(cancellationTokenSource.Token);

html5 video.js 支持hls视频在线播放  Vue3下推荐开源控件Vue3-video-play

至于转发的话 nodejs写代码转发也行 推荐 XAMPP Control Panel 能少写一句代码是一句 嘿嘿

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/904664.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号