音视频rtsp rtmp gb28181在浏览器上的按需拉流

按需拉流是从客户视角来看待音视频的产品功能,直观,好用,为啥hls flv大行其道也是这个原因,不过上述存在的问题是延迟没法降到实时毫秒级延迟,也不能随心所欲的控制。通过一段时间的努力,结合自己闭环技术栈,实现了h264 h265 aac pcma pcmu等音视频的rtmp rtsp gb28181地址的直接拉流播放,技术其实不复杂,但这里涉及了很多兼容性和容错性,自适应处理,每一个都涉及到前后台的实时交互和媒体流参数的实时识别和适配不同的传输通道,协议解封装,软硬解码通道,webgl webgpu canvas等渲染通道,这是一个需要大量场景来验证的一个苦差事,很多逻辑相关性的调配,比如微信小程序适配起来就很操蛋。

经过不断的迭代,目前实现了绝大多数能力,兼容性,自适应能力以及易用性都一点一点的变好,但的确不敢说完美,始终有改不完的bug,加不完的用户需求,不过我相信,随着时间的推移,它也像一个小婴儿一样慢慢长大,慢慢变强大。

     一款分布式点对点级联共享,自适性的流媒体交互系统可以结合iot实现信息化,数字化的基石,这是我的理想,也是我躬身践行,知行合一,不唱高调。踏实前行,永远在路上,也希望在路上遇到更多良师益友,更多有相同兴趣爱好的伙伴。

d926affaed924884828be76c8a4af1d5.png

ef1e1cd715c64833b0771eea4c705f11.png 

5e79953d240e40b58357d975f20f2db3.jpg 

6750dee1545b44c6abd7f208a618908a.png 

b7a721d188e64a1fa7d254240a7a60e3.png 

414c2281e9d845c49b2c06faf3a54d99.png 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/158267.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Java(SpringBoot框架)毕业设计作品成品(35)AI人工智能毕业设计AI图像卡通动漫化图像风格迁移系统设计与实现

博主介绍:《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,免费 项…

Rust 语言常见的一些概念(下)

目录 1、函数 参数 语句和表达式 具有返回值的函数 2、注释 文档注释 多行注释 3、控制流 3.1 if 表达式 3.2 使用esle if 处理多重条件 3.3 在 let 语句中使用 if 3.4 使用循环重复执行 使用 loop 重复执行代码 从循环中返回值 循环标签:在多个循环…

【PyQt学习篇 · ⑨】:QWidget -控件交互

文章目录 是否可用是否显示/隐藏是否编辑是否为活跃窗口关闭综合案例信息提示状态提示工具提示“这是什么”提示 焦点控制单个控件角度父控件角度 是否可用 setEnabled(bool):该函数用于设置QWidget控件的可用性,参数bool为True表示该控件为可用状态&…

08-Docker-网络管理

Docker 在网络管理这块提供了多种的网络选择方式,他们分别是桥接网络、主机网络、覆盖网络、MACLAN 网络、无桥接网络、自定义网络。 1-无桥接网络(None Network) 当使用无桥接网络时,容器不会分配 IP 地址,也不会连…

Day18力扣打卡

打卡记录 寻找重复数(双指针) 链接 Floyd判圈法,先用快慢指针以不同速率进行移动,最终一定会出现相遇点,然后在使一指针从初始开始,两指针再以同步调移动,再次相遇的点一定为循环开始的点位。 …

【计算机网络笔记】传输层——TCP特点与段结构

系列文章目录 什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能(1)——速率、带宽、延迟 计算机网络性能(2)…

图论问题建模和floodfill算法

目录 引入:leetcode695.岛屿的最大面积 分析与转换 一维二维转换 四联通 完整代码解答: 1)显示的创建图解决问题的代码 2)不显示的创建图解决此问题的代码 floodfill算法 定义 引入:leetcode695.岛屿的最大面…

R语言用jsonlite库写的一个图片爬虫

以下是一个使用R语言和jsonlite库下载图片的程序。首先,我们需要导入jsonlite库和options()函数,然后将代理服务器的主机名和端口号设置为"duoip"和"8000"。接着,我们将URL设置为"https://yun.baidu.com/"&…

3dMax章鱼插件Octopus

3dMax章鱼插件Octopus 3dMax章鱼插件,不仅在视口中以饼状的形式,呼出各种属性参数,方便调用,而且是一个可编写脚本的框架,因此您有很多机会创建自己的菜单并轻松分发。整个OCTOPUS系统可以使用maxscript进行自定义&…

【C/C++】积累和派生类的转换

基类与派生类对象之间有赋值兼容关系,由于派生类中包含从基类继承的成员,因此可以将派生类的值赋给基类对象,在用到基类对象的时候可以用其子类对象代替。具体表现在以下几个方面。 一、派生类对象可以向基类对象赋值 可以用子类(即公用派生…

javaEE -15( 13000字 JavaScript入门 - 2)

一:JavaScript(WebAPI) JS 分成三个大的部分 ECMAScript: 基础语法部分DOM API: 操作页面结构BOM API: 操作浏览器 WebAPI 就包含了 DOM BOM,这个是 W3C 组织规定的. (和制定 ECMAScript 标准的大佬们不是一伙人). 前面学的 JS 基础语法主要学的是 …

3.网络之UDP

UDP协议 文章目录 UDP协议1. UDP概述2. UDP报文格式3. UDP传输限制4. UDP校验和4.1 CRC 循环冗余校验算法4.2 md5 校验算法 1. UDP概述 UDP(UserDatagramProtocol)是一个简单的面向消息的传输层协议,尽管UDP提供标头和有效负载的完整性验证&a…