当前位置: 首页 > news >正文

第一ppt模板网站深圳品牌营销推广

第一ppt模板网站,深圳品牌营销推广,wordpress复古三栏主题,如何开展网络营销活动背景: 公司采购了新的摄像头,通过rtsp或者rtmp推流到云平台,云平台内部进行转码处理,客户端使用HLS或HTTP-FLV播放,移动App可能使用HLS或私有SDK,超低延时则采用WebRTC。 技术选型: RTSP&…

背景:

        公司采购了新的摄像头,通过rtsp或者rtmp推流到云平台,云平台内部进行转码处理,客户端使用HLS或HTTP-FLV播放,移动App可能使用HLS或私有SDK,超低延时则采用WebRTC。

技术选型:

RTSP:传统监控行业标准,NVR 和本地播放首选,但外网穿透困难。

RTMP:直播推流的常用协议,穿透性好,CDN 支持佳,但实时性略逊。

HTTP-FLV:Web 播放友好,穿透性好,延迟低,适合 Web 端直播。

HLS:Web 和移动端播放的首选,穿透性好,自适应码率,但延迟高。

WebRTC:超低延迟,适合实时互动场景,但实现复杂且服务器开销可能大。

注意:WebRTC在当前2025年5月得到的消息小程序源生不支持需依赖平台sdk,而且移动端也需要适配WebView

本文提供两种实现方案

方案一:使用阿里的视频直播服务(需要有域名)

第一步:创建推流域名和播流域名

第二步:把提供的CNAME配置到域名解析中

第三步:创建直播地址

第四步:推流

这是阿里的官方文档模拟推流如何通过不同设备实现标准和超低延时直播推流_视频直播(LIVE)-阿里云帮助中心

作者采用OBS Studio实现推流

本文以Windows端OBS v27.2.3版本为例介绍使用OBS推流,其他平台及版本操作类似。

  1. 下载并安装OBS推流工具。下载地址,请参见OBS Studio。

  2. 运行OBS推流工具。

  3. 在菜单栏中选择文件 > 设置

  4. 在设置页面选择推流,配置信息如下所示:

    001

    参数

    描述

    服务

    选择自定义

    服务器

    输入已经生成的鉴权推流地址,例如:rtmp://demo.aliyundoc.com/app/stream?auth_key=1543302081-0-0-9c6e7c8190c10bdfb3c0************

    串流密钥

    串流密钥为空。

  5. 在OBS主界面来源区域添加推流源,然后单击开始推流

    002

  6. 进入流管理,在在线流中查看并管理已推的音视频流

第五步:直播(作者采用h5网页直播,把代码中flvUrl换成自己的M3U8 格式播流地址中就好了就好了)

<!DOCTYPE html>
<html>
<head><title>FLV直播播放器</title><style>#flv-player {width: 800px;max-width: 100%;background: #000;}</style>
</head>
<body><video id="flv-player" controls muted playsinline></video><!-- 引入flv.js库 --><script src="https://cdn.jsdelivr.net/npm/flv.js@1.6.2/dist/flv.min.js"></script><script>const videoElement = document.getElementById('flv-player');const flvUrl = 'http://demo.aliyundoc.com/live_ali/live_ali123.flv?auth_key=1753323502-0-0-3508789f6f105175f2ff16dd4ccf102a'; // 替换为实际FLV流地址// 1. 检测浏览器支持性if (flvjs.isSupported()) {const flvPlayer = flvjs.createPlayer({type: 'flv',          // 必须指定为flvisLive: true,         // 直播模式hasAudio: false,      // 根据实际流启用hasVideo: true,url: flvUrl,enableStashBuffer: false // 禁用缓冲以降低延迟}, {enableWorker: true,   // 启用Web WorkerlazyLoadMaxDuration: 3 * 60, // 内存优化seekType: 'range'     // 支持Range请求});// 2. 绑定视频元素flvPlayer.attachMediaElement(videoElement);// 3. 加载并播放flvPlayer.load();videoElement.play().catch(e => {console.error('自动播放失败:', e);// 显示播放按钮让用户手动触发});// 4. 错误处理flvPlayer.on(flvjs.Events.ERROR, (errType, errDetail) => {console.error('播放错误:', errType, errDetail);if (errType === flvjs.ErrorTypes.NETWORK_ERROR) {// 网络错误尝试重连setTimeout(() => flvPlayer.unload().load(), 3000);}});} else {fallbackToHLS(); // 降级方案}// 5. 资源释放window.addEventListener('beforeunload', () => {flvPlayer?.destroy();});</script>
</body>
</html>

方案二:自己实现rtsp推流转码WebRTC

架构图:

本文只介绍其中一条链路

rtsp推流WebRTC播放(链路是ffmpeg->MediaMTX-WebRTC)

代码在这通过网盘分享的文件:video-transcoding.zip
链接: https://pan.baidu.com/s/1CzuYn-5hmrnQCA6Q_W5kmQ 提取码: irqe

这是一个java项目,简化的流媒体解决方案,使用MediaMTX作为流媒体服务器,支持RTSP推流和WebRTC播放,集成JWT认证系统。

根据项目README操作就行了

需要注意博主默认tcp传输所以推流的时候如果提示461 Unsupported Transport

请换成ffmpeg -re -f lavfi -i testsrc=size=1280x720:rate=30 -c:v libx264 -preset ultrafast -tune zerolatency -rtsp_transport tcp -f rtsp rtsp://admin:admin123@localhost:8554/live

如有其他问题欢迎和私信作者一起讨论

http://www.dtcms.com/a/532992.html

相关文章:

  • 国外网站大牛不懂英语可以做吗wordpress热点插件
  • 04、数字电路与 C 语言基础
  • 【代码】八数码难题模板 [宽搜]
  • 震惊!这家滑雪租赁服务商竟让千万用户疯狂抢订!
  • JSP技术入门指南十IDEA开发环境下MySQL数据可视化展示与前后端交互实战
  • 网站建设的思想静态html怎么部署到服务器
  • 餐饮网站建设的目的如何制作境外网站
  • [nanoGPT] configurator.py | exec() globals()
  • 【瑞芯微】【rk3128】【01.使用docker搭建rk3128 编译烧录环境】
  • 企业官网网站优化公司现在网站给源码
  • 知春路网站建设网站建设网络推广柯
  • 002-Spring AI Alibaba Prompt 功能完整案例
  • 网站栏目设计优化方案驾校网站源码下载
  • 大模型-模型压缩:量化、剪枝、蒸馏、二值化 (2)
  • 做文章网站汕尾建设网站首页
  • 数据结构<C++>——链表
  • 数据结构-并查集
  • 该如何建设和优化一个网站网页设计与制作工资多少
  • 建设自己的网站有什么wordpress radiate
  • Peppa Pig - Gardening
  • 蒙文门户网站建设淘宝seo搜索优化工具
  • html基本标签
  • 肇庆网站制作软件枫林seo
  • 网站地址申请极简网站模板
  • 《首屏加载优化手册:Vue3+Element Plus项目提速的技术细节》
  • typora1.9.5安装与激活
  • 自适应网站模板企业网站建设一般步骤
  • 我在高职教STM32(新07)——按键输入实验
  • Rust 与 WebAssembly:构建高效前端应用的全流程复盘
  • 网站百度搜索情况和反链接优化建议哪里有营销型网站最新报价