metaRTC
superxxd
这个作者很懒,什么都没留下…
展开
-
手机浏览器支持自定义加密传输h264 h265低延迟极速传输,为你的iot音视频融合运用装上想象的翅膀,为个性化运用助力
原创 2023-04-24 23:34:54 · 351 阅读 · 1 评论 -
多媒体服务器核心实现(转发)
多媒体服务就是将推流进来的媒体流转发至消费的播放器,其中对于webrtc的媒体流主要是一个信令交互,然后建立连接后实现流的发布和向订阅的peer进行转发。webrtc track到来时发布流并向所有订阅本流的播放器进行转发逻辑。播放器跟服务器建立webrtc连接peerconnection。服务器跟webrtc设备端进行信令交互并建立连接。原创 2022-12-29 18:40:59 · 460 阅读 · 0 评论 -
多媒体服务器核心实现(信令)
一般多媒体服务器都是很少有信令或者信令比较弱,主要是考虑信令跟业务强相关,但是iot领域有非常需要一个很好用的信令组件,实现互联互通,又方便自定义,于是我选择了iot领域用得比较多的mqtt作为信令载体。类似消息机制的设计,将具体的信令和接收发送逻辑分离,方便维护。信令是一个自定义的命令字的传输和功能解析。基于json的传递message 结构。原创 2022-12-29 18:26:49 · 329 阅读 · 0 评论 -
多媒体服务器核心实现(流管理)
stream 流是一种资源,也相当于生产者,供很多消费者peers来使用,stream跟peer是一对多的关系,它由多媒体流输入来产生,同时支持向livekit room发布流,需要消费的peer统一由pees 的map来管理,根据连接状态进行增删等操作。4、详细的方法实现如下,此构成了多媒体服务的核心之一,流的生成及消费和状态管理,以及连接的生成和状态管理,实现媒体的发布和消费,流就可以真正的流转起来了。简易的播放器,支持p2p及流媒体转发,支持rtmp及webrtc的转发。原创 2022-12-29 18:07:05 · 955 阅读 · 0 评论 -
iot融合多媒体边缘p2p组网服务
利用webrtc的强大p2p能力,接合mqtt灵活的实时发布订阅广播能力,打造gb28181 rtsp rtmp webrtc等推流h264 h265 aac opus,实现树状,网状p2p组网,将iot实时数据及音视频数据融合在网络并发分发,按需消费,逻辑和网络路由由客户端定制,利用时序数据库tdengine强大iot大数据存储分析能力,打造内网布署,全网分亨的分布式系统,高效的为数字化应用提高强大的采集分发分析工具原创 2022-11-18 06:52:27 · 1602 阅读 · 0 评论 -
H265硬解终于来了,100ms内延迟不是梦
随着浏览器的的开放,webcodecs更多解码能力得以释放,zoom模式也变得越来越有吸引力,端到端低延迟低码率,高画质AⅠ加持已经路径成熟了,目前本地h265端到端直播延迟进入100ms已经成为可能原创 2022-09-30 06:15:49 · 2559 阅读 · 8 评论 -
webrtc H265/H264播放器性能测试
浏览器作为计算机操作系统通用门户,非常方便的提供了访问互联网的功能,而且可以很好的结合业务拓展,为播放音视频提供很好的载体,比专用桌面播放器在方便性易用性的优势明显原创 2022-09-23 11:34:14 · 2703 阅读 · 0 评论 -
webrtc H265 网页播放器迈向实用第一步
支持了GB2818摄像头的推送转webrtc网页拉流,H264/H265据实现网页实时播放,本地测试有非常不错的低延时效果欢迎大家下载测试。原创 2022-09-20 16:31:17 · 2281 阅读 · 10 评论 -
webrtc 浏览器播放器支持mse硬解
根据bilibili以及dash的启发,终于实现了h264/h265 aac fmp4码流的硬解播放,实现了wasm软解码以及mse硬解码的双支持,目前浏览器已经很好的支持h265播放了,高分辨实时音视频播放及实时帧处理成为可能,欢迎大佬技术指导交流原创 2022-09-12 10:16:43 · 1041 阅读 · 0 评论 -
H265播放器及设备和服务器端信令交互说明
h265播放器主要针对webrtc的实时流,所以信令在里面是一个很重要的组成部分,由于业务的关系,需要自己将信令跟自己的系统进行深度融合,本播放器,主要针对大量分散设备的管理和p2p拉流,所以主要选择了mqtt这个极简有很灵活的协议作为信令传输的主要协议。原创 2022-09-02 17:48:10 · 735 阅读 · 0 评论 -
实时WebRTC网页播放器进入快速功能迭代
物联网时代,AI时代的到来,催生了各种应用场景的技术融合,适应实时流、支持多分辨率、多编码格式、低延迟、容易跟各种系统集成使用的播放器需求越来越迫切,在全球技术大变革,中美争霸的大背景下,我们小小的开发人员可以用自己的双手为中国的软件生态助力,国产实时音视频生态日渐崛起,我也要做其中一个小小的水滴,准备用自己的勤奋和大家一起打造一款好用的开源的实时播放器。2、支持H265 webrtc datachannel 拉流,wasm 解码 webGL渲染OPUS音视频 webrt拉流,做到了音视频的同步。原创 2022-09-02 13:51:25 · 3117 阅读 · 3 评论 -
基于metaRTC嵌入式webrtc的H265网页播放器实现(我与metaRTC的缘分)完结
metaRTC 嵌入式webrtc p2p H265 播放器实现。采用wasm技术,metaRTC IPC 软件包 ,datachannel h265视频编码发送的函数,并实现了帧的解析。过程比实现本身的价值更高。原创 2022-08-30 23:54:29 · 7365 阅读 · 6 评论 -
H265 webrtc音视频播放器优化
H265+opus在浏览器器中实现ipc硬编流的传输和播放,基本上达到了单路1080p,30fps的不掉帧,音视频的同步效果,采用了wasm simd优化,极简自定义传输协议,帧过滤,缓冲自调整,多任务后台运行,多解码器动态加载等技术,后续将偿试进行帧处理ai,帧编辑,音频可视化及分析,webcodecs,insertablestream,webtransport,gpu硬解接囗等商业化方向的探索,欢迎定制咨询和共同开发。合理延迟不掉帧流畅播放缓冲控制极致同步............原创 2022-08-29 06:58:30 · 917 阅读 · 0 评论 -
基于webrtc的p2p H265播放器实现二
整个播放器开启两个worker,playerworker 和decoderworker,并通过消息进行worker间通信,可以理解成js下的多线程,很多UI和webrtc的api在worker里是没法使用的,所以在写的时候一定注意这个坑。播放器入口函数handleVideo()建立了 player worker 在player里面再建立decoderworker,同时启动webrtc信令交互建立p2p连接,打开H265data 传输的dc通道。原创 2022-08-20 15:06:27 · 637 阅读 · 0 评论 -
基于webrtc的p2p H265播放器实现一
因为很多编码芯片基本上都是支持H264和H265的,VP9和AV1基本上硬件都不支持,大量的显示需要H265来减少流量,特别是4G应用,H265比H264 要少接近一半的流量。为了学习编解码和webrtc以及wasm相关技术,结合网上开源的播放器基础,重新实现了一个基于webrtc的播放器,编码是rv1126 的H265硬编,传输采用webrtc datachannel,信令采用mqtt,播放采用webgl,使用了多worker模式,数据采用指针传递和缓存模式。以下是核心的解码worker。........原创 2022-08-20 14:33:48 · 3461 阅读 · 1 评论 -
P2P远程控制之信令交互
在万物互联的时代,多平台融合的时代,选取合适的信息交互协议也值得非常耐心的分析,对比,取舍。MQTT本为物联网而生,轻巧灵活的架构,安全稳定的传输,自带设备管理的属性,成为我处理远程控制信令系统的首选,在使用过程中,可以灵活的实现分组授权,确保安全性和灵活性鱼和熊掌皆可得。信令交互设计的核心数据结构,结合控制信息,将信令和通用控制自定义协议融为一体,利用MQTT订阅发布机制实现 浏览器,嵌入式平台,windows,linux平台,设备与设备间,设备与平台间相互交互,互联互通。通过远程控制调试设备输出。..原创 2022-08-13 10:31:58 · 687 阅读 · 0 评论 -
P2P实现远程控制
webrtc是实时音视频传输的利器,除了audio /video track的传输外还有datachannel可用于数据和信息的实时交互,在设备和浏览器间建立一个p2p通道,利用mqtt作为信令,通过对设备端rtsp服务器推流进行转换实现视频的采集,另外利用datachannel 发送浏览的监听的鼠标键盘数据给设备实现控制受控机的鼠标键盘,从而实现远程桌面控制。没事的时候自己diy一个远程控制设备,增加自己学习webrtc 和go语言的兴趣,两全其美。android系统控制。手机对Win10桌面控制。...原创 2022-08-12 14:00:54 · 2220 阅读 · 0 评论 -
基于pion生态的SFU实时音视频发布服务(二)
上篇文章说了风头正健的pion生态之livekit,现在轮到pion生态第一个sfu ion,这个由国内大佬鱼大等主持开发两年多开源项目,为国人乃至开源社区普及pion起了至关重要的作用,得到了Sean-Der的大力支持,也汇集了众多高手加盟,livekit的风格也深受其影响,下面是发布ion的习作,望各位大佬指正。.........原创 2022-08-12 09:59:21 · 821 阅读 · 0 评论 -
基于pion生态的SFU实时音视频发布服务(一)
pion具备并发性能,网络吞吐能力,以及SDK的完善度均可以支撑一般规模的应用,个人认为小团队创业公司首选路径就是采用好入门的生态完整的,社区活跃的开源代码库进行二次开发,享受生态带来的红利,在自己的实践中深入了解底层原理,然后再根据自己业务的需要逐步更改为自己的模块,不失为一条稳妥高效的技术路线图。............原创 2022-08-12 09:26:53 · 3072 阅读 · 3 评论 -
metaRTC性能测试
metaRTC 嵌入式版本是采用纯C语言实现,采用了几个著名的通信库,日期在rv1126上实现了硬件编码发送,以及pcm语音采集发送,效果跟主流的pion和kvs毫不逊色,而且采用了多线程模式反复memcpy,如果尽量采用零挎贝技术,换用mbedtls应该还有进一步提升的空间,延时本地局域网87ms左右,效果还是很不错的。......原创 2022-08-06 16:11:23 · 2451 阅读 · 6 评论 -
metaRTC 传输opus 声音文件
YangAudioEncoderBuffer2 其实就是 YangAudioEncoderBuffer2 ,只是我拷贝了YangVideoEncoderBuffer2 的内容改了一下叫法,第一步为我们应用层写缓存打下了基础,接下来,一定要搜一下out_videoBuffer ,凡是他干的,out_audioBuffer也干一遍,主要就是初始化和跟底层rtcsession的发送缓冲区建立联系。好了,欢迎各位大佬批评指正。慢慢的就会ctrl c +v了。好了,是不是很简单,主要是我只会ctrl c+v。....原创 2022-08-03 23:19:49 · 752 阅读 · 8 评论 -
metaRTC通用H264文件帧获取发送方法
最近杨总的metaRTC很火(gitee.com/metaRTC/metaRTC),也决定将以前的一些应用移植过去,拥抱国产生态,在适配过程中,发现测试还是比较麻烦,不是ffmpeg,就是需要IPC得硬件版子,能在pc上实现初步调试是非常有必要的,于是通过一番查找和恶补H264编码格式得相关知识,做了一个通用的获取H264帧的函数,话不多说,直接上代码,获取某帧的段地址指针很相应长度偏移量。发送至metapeerrtcsession缓冲器。循环发送H264文件帧线程。.........原创 2022-07-31 12:21:00 · 2441 阅读 · 1 评论 -
metaRTC p2p自建信令系统
metaRTC实现了sfu和p2p两种模式,支持srs和zlm两种推送已经p2pserver模式,如果要实现自己的信令系统其实也比较简单,最近实现了metaRTC的基于mqtt的信令,同时可以进行p2p和服务器转发,方便自己的设备和系统融合,现就信令系统的流程以及涉及的函数进行一个梳理如下,按此流程可以实现自己的信令系统。基于服务器转发的flutter跨平台应用,.....................原创 2022-07-31 14:54:02 · 2621 阅读 · 3 评论 -
metaRTC datachannel 实现 reply
webrtc的datachannel是实时数据传输,特别是控制信息或者交互信息的一个高效简洁安全的传输方式,在交换SDP时加入m=application webrtc-datachannel 相关内容,协商一致后即可实现通信,为了datachannel通道可以传输byte类数据也可以传输string类字符,所以可以灵活的实现自定义的数据交互。metaRTC是新开发的嵌入式webrtc,有很多功能和api需要进一步开发完善和摸索,也需要更多的人参与进来,大家一起学习进步,让社区更强大。...原创 2022-08-03 17:41:17 · 2017 阅读 · 0 评论