加载中
重新定义流媒体服务器

背景 随着全民直播时代的到来,以及最近疫情的爆发,在线教育行业又变的炙手可热,成为了新的风口。这两者的背后都是依靠着 CDN 以及视频云等基础服务,而这些基础服务的底层又依靠着流媒体服...

基于HLS v7的fMP4技术实现与应用

作者前言 作为Monibuca流媒体服务器的开发者,我们一直在寻求提供更高效、更灵活的流媒体解决方案。随着Web前端技术的发展,特别是Media Source Extensions (MSE) 的广泛应用,我们逐渐认识到...

基于HLS v7的fMP4技术实现与应用

作者前言 作为Monibuca流媒体服务器的开发者,我们一直在寻求提供更高效、更灵活的流媒体解决方案。随着Web前端技术的发展,特别是Media Source Extensions (MSE) 的广泛应用,我们逐渐认识到...

Monibuca v5 支持HLSv7介绍

基于HLS v7的fMP4技术实现与应用 作者前言 作为Monibuca流媒体服务器的开发者,我们一直在寻求提供更高效、更灵活的流媒体解决方案。随着Web前端技术的发展,特别是Media Source Extensions...

面向任务编程

背景 在 monibuca 的开发中,虽然经过了从 v1 到 v4 的架构的不断演进。有一个问题始终困扰着我,就是流程退出时的并发问题。这次通过面向任务编程彻底解决了这个痛点。 文末有视频版 面向任...

v5内存分配器性能优化

背景 在之前我们提到采用自定义的内存分配器来解决防止频繁 make 导致的 gc 问题。gc 问题本质上是 CPU 消耗,而内存分配器本身如果产生了大量的 CPU 消耗那就得不偿失。经过测试初代内存分配...

Console 的进化——v5 可视化分析

前言 服务器面对的环境千奇百怪,定位问题消耗了大量的人力成本,如何减少这方面的成本呢,最佳方式就是有一套优秀的排障工具,而可视化分析显得尤为重要。m7s console 将致力于打造一款方便...

Monibuca v5 实现零拷贝BufReader

背景 在开发高 IO 的程序都会面临一个问题,就是如何提供从网络层读取数据的性能。 直接读取 直接读取类似下面这种情况 b:= make(100) io.ReadFull(conn,b) 优点是简单,而且延迟较低,可以立...

Monibuca v5 实现热重启

优雅关闭 在 v4 中关闭一个流通过改变流的生命周期实现 v4 中流有一个 G(goroutine)专门负责管理流的生命周期,并使用状态自动机来实现状态变更。 但是在退出发布者或者订阅者,仍然遇到一些...

Monibuca v5 实现优雅内存分配器

背景 v4 中使用了链表存储了不同大小的内存块的方式进行内存池的实现(参考这篇v4内存复用机制),实际测试中发现内存浪费比较严重,因此如何设计出使用效率高,操作简洁的内存池就成了 v5 的...

2023年终回顾

2023 年回顾 成立南京模拟不卡科技有限公司 monibuca.com 域名通过备案 开通 qq 频道 开通微信公众号 推出各产品的 docker 版 Jessibuca 亮相 LVS 大会 推出 API 调试工具(基于ApiFox) Mo...

Web端专业级H264/H265 直播流播放器实现-JessibucaPro播放器

概况 这个主要是参加“深圳 liveVideoStack” 的ppt的文字版的分享。 进入主题 大家好:今天我给大家带来的分享的题目是:Web端专业级H264/H265 直播流播放器实现 - jessibucaPro 播放器实现...

Monibuca 中的内存复用

Go语言本身具备出色的性能,然而在流媒体服务器这种CPU密集+IO密集的双重压力下,GC带来的性能损失是最主要的矛盾。而减少GC的操作最直接的办法就是减少内存申请,多多复用内存。本文将围绕内...

Monibuca 开发环境搭建

总体流程图 详细说明 创建工作目录 在电脑上新建一个目录,用于存放我们的启动工程和插件工程等。 建议可以直接使用vscode打开这个目录,更方便后续操作。需要安装好go 1.19以上,vscode安装...

如何运行github上的Golang项目

对于golang新手来说,经常会出现无法编译一个github上的项目,主要原因是http://golang.org域名被墙,导致无法正常下载依赖项,另外go module还有GOPATH等一些概念不熟悉导致的。本人以http:...

优雅的模块化后台界面渲染

在开发Monibuca的过程中,为了方便访问每一个插件的界面,我们需要将所有插件的自定义的界面集中在一起显示。 我们需要实现一下功能: 在主界面中可以动态加载插件的界面,并实现切换 可以将参...

在OBS上进行H265推流

OBS官方明确表态不支持H265,貌似以后也不会支持,什么原因呢?可以看官方论坛上的吵架 h265 Supportobsproject.com 不想看英文的,我这里简单说一下,就是因为Adobe公司的RTMP协议里面并没有...

Windows10下使用WLS“愉快”编译FFMPEG(带x265编码器)

之所以在愉快二字上加引号,相信编译过FFMPEG的同学会深有体会,根本不存在愉快二字,编译FFMPEG是痛苦,尤其是在Windows环境下面。打开搜索引擎随手搜索一把编译FFMPEG,就会有很多文章,我...

一次失败的破解经历

受人之托,想从某网站上“弄到”其上的直播视频流,并加以利用,虽然最终失败了,但其中的破解经过还是值得和大家分享,希望对你有启发。 视频直播流无外乎采用RTMP协议封装的Flv或者mp4,或...

一图弄清JavaScript的继承与原型

其中Function、Object是JavaScript的内建类,JavaScript的类实际上是一个function 而function对象会凭空多出一个prototype属性 这就是一切困扰的起源 凡是function类型的对象,constructor都...

没有更多内容

加载失败,请刷新页面

返回顶部
顶部