[2015~2024]SmartMediaKit音视频直播技术演进之路
技术背景
2015年,因应急指挥项目需求,我们实现了RTMP推送音视频采集推送(采集摄像头和麦克风数据)模块,在我们做好了RTMP推送模块后,苦于没有一个满足我们毫秒级延迟诉求的RTMP播放器,于是第一款低延迟的RTMP播放器,就这么诞生了。

随着时间的推进,大牛直播SDK(SmartMediaKit)已经成为音视频高稳定、低延迟的代名词,涵盖跨平台(Windows、Linux(x64_64架构|aarch64)、Android、iOS)的实时RTMP推流、RTMP/RTSP直播播放(支持RTSP|RTMP H.265,Enhanced RTMP H.265)、GB28181设备接入、推送端播放端实时录像、多路流媒体转发(RTSP转RTMP,RTMP转RTMP,RTSP|RTMP转GB28181)、音视频导播、动态视频合成、音频混音、一对一互动直播、内置轻量级RTSP服务、RTSP网关服务等,已然成为业内为数不多的比快更快,真正稳定可靠的超低延迟直播SDK(毫秒级延迟,低延迟模式下150~300ms)。

低延迟的音视频直播技术解决方案适用于在线教育、智慧教室|无纸化推屏|会议、运营商视频云平台、执法记录、电力巡检、智慧水利、智慧煤矿、管廊隧道、平衡操控、虚拟仿真实训教学、VR教育、云展会、金融双录、远程医疗、智能可视门禁对讲、智慧安防、智能家居、物联网、智能车载、传统硬件领域、媒体移动直播、应急指挥调度(针对保险、城管、交警、消防、公安等职能管理部门的单兵应急执法系统)、远程专家诊断、可视化巡检、(如电信/电力线路/铁路沿线/水利设施/油田/消防设施巡检)、移动视频安防监控,企业内训、监控对接等场景。
技术特点
大牛直播SDK是一套功能强大的跨平台流媒体内核组件,具有以下特点和优势:

功能丰富:
- 多种数据采集与推送:支持多摄像头、屏幕、麦克风等数据采集与推送功能。可以选择摄像头列表、设置摄像头的分辨率和帧率等参数;对于屏幕采集,支持屏幕裁剪,可根据帧率和推送分辨率自动推荐码流,并且默认帧率可调整。还支持外部 H.264 接口输入等扩展数据采集方式。
- 灵活的合成与叠加:支持摄像头和屏幕的多种合成与叠加模式,如摄像头叠加到屏幕、屏幕叠加到摄像头等,并支持实时关闭叠加层。此外,还能设置实时水印,包括文字水印、实时时间水印和图片水印,以及设置透明度处理(遮盖)等功能。
- 音频处理全面:支持扬声器和麦克风音频混音输出,可采集电脑输出的音频或麦克风音频。在音频编码方面,默认是 AAC 编码模式,如需码率更低,也可选择 SPEEX 编码模式。同时具备音频 “端点检测(VAD)”、回音消除、噪音抑制、自动增益控制等音频处理功能。
- 推送与播放功能多样:支持多种音视频格式的推送,如 H.264、AAC、Speex、PCMA、PCMU 等。在播放方面,支持 RTMP、RTSP 直播播放,提供软解码、硬解码设置,具有实时静音、快照、view 旋转、秒开等功能,还支持多实例播放以及网络状态和 buffer 状态等回调。
- 录像与文件处理:支持 RTMP、RTSP 流录制,音频转 AAC 后录制,以及只录制音频或视频等模式,并且文件可自动切分。支持设置录像文件前缀、录像文件大小、录像文件是否增加日期和时间等。
- 内置服务与设备接入:具有内置轻量级 RTSP 服务,支持对外提供 RTSP 服务,可同时开启多个 service,提供小规模并发访问;还支持 GB28181 设备接入,可实现不具备国标音视频能力的 Android 终端通过平台注册接入到现有的 GB/T28181 服务。
技术优势明显:
- 低延迟:能够将播放延迟稳定地控制在较低水平,在低延迟模式下可达到 150 - 300ms,这对于对实时性要求较高的直播、互动等场景非常重要,能够显著提升用户体验。
- 高稳定性:可以长时间稳定运行,减少因播放器故障导致的直播中断等问题,适用于需要长时间持续运行的应用场景。
- 全自研框架与模块化设计:采用全自研框架,具备高度可扩展性与自适应算法,资源占用低,灵活性强。开发者可以根据自己的需求选择功能模块进行组合使用。
- 多平台支持:支持 Windows、Linux、Android、iOS 等多个平台,满足不同设备和应用场景的需求。
应用场景广泛:
- 在线教育:教师可通过该 SDK 进行实时授课,支持屏幕共享、文档展示、PPT 讲解等功能,实现远程协作和讨论,还可用于教学视频的实时录制、回放和分享。
- 智慧安防:用于城市监控、企业安防、智能家居等场景的实时视频流传输和录制,为应急指挥调度工作提供低延迟、高稳定性的直播服务。
- 媒体直播:适用于新闻直播、体育赛事直播、娱乐直播等移动直播场景,以及演唱会、发布会、展览等活动的现场直播,支持远程观众与现场活动的实时互动。
- 远程医疗:医生可进行远程会诊,与异地专家进行实时视频交流和病例讨论,还支持手术过程的实时直播和录制,为医学教育和手术观摩提供便捷途径。
- 其他行业:如可视化购物、远程专家诊断、可视化巡检等场景也能得到很好的应用。
近十年的技术积累,让大牛直播SDK凭借其丰富的功能、优秀的技术优势和广泛的应用场景,为开发者提供了强大的流媒体解决方案,在直播、安防、教育、医疗等多个领域具有较高的应用价值。
我们始终相信:Faster than “Fastest”,Smarter than “Smartest”,Stabler than “Stablest”。
厚积薄发,登上山顶,不是为了饱览风光,是为了寻找更高的山峰,从敬畏到颠覆,以匠人之心,专注、极致、智慧,志在成为业内为数不多真正稳定可靠的流媒体技术方案缔造者。
相关文章:
[2015~2024]SmartMediaKit音视频直播技术演进之路
技术背景 2015年,因应急指挥项目需求,我们实现了RTMP推送音视频采集推送(采集摄像头和麦克风数据)模块,在我们做好了RTMP推送模块后,苦于没有一个满足我们毫秒级延迟诉求的RTMP播放器,于是第一…...
redis 使用Lettuce 当redis挂掉重启之后 网络是怎么重新连接
Lettuce是一个高性能的Java Redis客户端,支持同步、异步和反应式编程模式 Lettuce的核心功能包括: 高性能:通过使用Netty作为底层网络通信框架,实现了非阻塞IO,提高了性能。丰富的API:提供了丰富…...
【IntelliJ IDEA 集成工具】TalkX - AI编程助手
前言 在数字化时代,技术的迅猛发展给软件开发者带来了更多的挑战和机遇。为了提高技术开发群体在繁多项目中的编码效率和质量,他们需要一个强大而专业的工具来辅助开发过程,而正是为了满足这一需求,TalkX 应运而生。 一、概述 1…...
二叉搜索树Ⅲ【东北大学oj数据结构8-3】C++
二叉搜索树 III B:在二叉搜索树II中加入delete指令,创建程序对二叉搜索树T执行如下指令。 插入 k:将key k 插入到 T 中。 find k:报告T中是否存在key k。 delete k:删除key为 k 的节点。 打印:使用中序树遍…...
【面试笔记】CPU 缓存机制
CPU 缓存机制 1. CPU Cache 与 MMU1.1 MMU 是什么?TLB 又是什么?他们是怎么工作的?2.2 简述 Cache 与 MMU 的协作关系?2.3 简述 Cache 与 MMU 的协作工作流程? 2. CPU 多层次缓存2.1 什么是 CPU 的多层次缓存结构&…...
MySQL基础函数使用
目录 简介 1. 单行函数 1.1 字符串函数 1.2 日期函数 1.3 数值函数 1.4 转换函数 1.5 其他函数 2. 多行函数 示例: 3. 数据分组 示例: 4. DQL单表关键字执行顺序 示例: 5. 多表查询 示例: 6. 表与表的外连接 示例…...
解决docker环境下aspose-words转换word成pdf后乱码问题
描述 环境:docker 部署工具:Jenkins 需求:本地上传的word文档需要转换成pdf 问题:转换之后的pdf文档出现小框框(乱码) 转换成PDF的操作 pom: <dependency><groupId>org.apach…...
C# 生成随机数的方法
C# 提供了一种强大而方便的工具类 Random ,用于生成随机数。这里将分类讨论如何通过 C# 实现随机数生成,以及应用于实际情况中的一些具体方案。 一、Random 类概述 Random 类表示一个伪随机数生成器,用于生成满足随机性统计要求的数字序列。…...
ip_done
文章目录 路由结论 IP分片 数据链路层重谈Mac地址MAC帧报头局域网的通信原理MSS,以及MAC帧对上层的影响ARP协议 1.公司是不是这样呢? 类似的要给运营商交钱,构建公司的子网,具有公司级别的入口路由器 2.为什么要这样呢?? IP地…...
3D可视化引擎HOOPS Visualize与HOOPS Luminate Bridge的功能与应用
HOOPS Visualize HPS / HOOPS Luminate Bridge为开发者提供了强大的工具,用于在CAD应用中集成逼真的渲染能力。本文旨在梳理该桥接产品的核心功能、使用方法及应用场景,为用户快速上手并充分利用产品特性提供指导。 桥接产品的核心功能概述 HOOPS Lumi…...
Docder 搭建Redis分片集群 散片插槽 数据分片 故障转移 Java连接
介绍 使多个 Redis 实例共同工作,实现数据的水平扩展。通过将数据分片到多个节点上,Redis 集群能够在不牺牲性能的前提下扩展存储容量和处理能力,从而支持更高并发的请求。Redis 集群不仅支持数据分片,还提供了自动故障转移和高可…...
校园交友app/校园资源共享小程序/校园圈子集合二手物品交易论坛、交友等综合型生活服务社交论坛
多客校园社交圈子系统搭建 校园交友多功能系统源码: 1、更改学校为独立的模块。整体UI改为绿色,青春色,更贴近校园风格。2、圈子归纳到学校去进行运营。每个学校可建立多个圈子。和其他学校圈子互不干扰。3、增加用户绑定学校,以后进入将默认…...
Chaos Mesh云原生的混沌测试平台搭建
Chaos Mesh云原生的混沌测试平台搭建 一.环境准备 确认已经安装helm,如要查看 Helm 是否已经安装,请执行如下命令: helm version二.使用helm安装 1.添加 Chaos Mesh 仓库 在 Helm 仓库中添加 Chaos Mesh 仓库: helm re…...
Vue3之组合式API详解
Vue 3引入了一种新的API风格——组合式API(Composition API),旨在提升组件的逻辑复用性和可维护性。本文将详细阐述Vue 3中的组合式API,包括其定义、特点、使用场景、优势等,并给出具体的示例代码。 一、定义 组合式…...
大模型的构建与部署(3)——数据标注
版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl1. 数据标注的重要性 1.1 增强数据可解释性 数据标注通过为原始数据添加标签或注释,显著增强了数据的可解释性。在机器学习和深度学习领域,模型的训练依赖于大量带标签的数据。这些标签不仅帮助…...
AI发展与LabVIEW程序员就业
人工智能(AI)技术的快速发展确实对许多行业带来了变革,包括自动化、数据分析、软件开发等领域。对于LabVIEW程序员来说,AI的崛起确实引发了一个值得关注的问题:AI会不会取代他们的工作,导致大量失业&#x…...
本地事务 + 消息队列事务方案设计
Spring Boot 和 RocketMQ 在Spring Boot项目中实现“本地事务 消息队列事务”的方案,可以按照以下步骤实现: 先执行MySQL本地事务操作(未提交)随后发送消息到消息队列(如RocketMQ事务消息)等待消息队列确…...
pinctrl子系统学习笔记
一、背景 cpu的gpio引脚可以复用成多个功能,如可以配置成I2C或者普通GPIO模式。配置方式一般是通过写引脚复用的配置寄存器,但是不同芯片厂商配置寄存器格式内容各不相同,设置引脚复用无法做到通用且自由的配置,只能在启动初始化…...
使用vue-element 的计数器inputNumber,传第三个参数
使用vue-element 的计数器inputNumber。 其中的change 事件中,默认自带两个参数,currentValue和oldValue,分别代表改变后的数和改变前的数, 如果想要传第三个参数, change"(currentValue, oldValue) > numCha…...
如何从0构建一个flask项目,直接上实操!!!
项目结构 首先,创建一个项目目录,结构如下: flask_app/ │ ├── app.py # Flask 应用代码 ├── static/ # 存放静态文件(如CSS、JS、图片等) │ └── style.css # 示例…...
M2LOrder模型Python爬虫实战:应对动态渲染与数据加密网站
M2LOrder模型Python爬虫实战:应对动态渲染与数据加密网站 最近有个朋友找我帮忙,说他们公司需要从某个网站上抓取一些商品数据,但试了好几个爬虫工具都搞不定。我一看,好家伙,这网站不仅数据是页面加载完才动态生成的…...
深入解析Triton Inference Server的Backend机制与实战配置
1. Triton Inference Server的Backend机制揭秘 第一次接触Triton Inference Server时,我被它的Backend机制搞得一头雾水。直到在真实项目中踩过几次坑后,才真正理解它的精妙之处。简单来说,Backend就像是一个万能适配器,让Triton能…...
如何高效保存B站视频?BiliTools全能下载解决方案让你无忧离线观看
如何高效保存B站视频?BiliTools全能下载解决方案让你无忧离线观看 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliT…...
如何用Planck-Pi实现低成本嵌入式开发?基于F1C200s的全栈方案解析
如何用Planck-Pi实现低成本嵌入式开发?基于F1C200s的全栈方案解析 【免费下载链接】Planck-Pi Super TINY & Low-cost Linux Develop-Kit Based On F1C200s. 项目地址: https://gitcode.com/gh_mirrors/pl/Planck-Pi Planck-Pi作为一款基于全志F1C200s芯…...
打破设备壁垒:Sunshine让游戏自由流动的串流革命
打破设备壁垒:Sunshine让游戏自由流动的串流革命 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 想象一下:你在客厅的高性能电脑上开始了一场紧张刺激的3A大…...
SparseMoE实战:从零构建一个高效的稀疏混合专家层
1. 稀疏混合专家层(SparseMoE)入门指南 第一次听说稀疏混合专家层时,我也是一头雾水。这玩意儿听起来像是某种高科技黑箱,但实际上它的核心思想特别接地气——就像我们去医院看病,普通全科医生能处理常见病症ÿ…...
飞书机器人告警配置避坑指南:夜莺监控常见报错解决方案
飞书机器人告警配置避坑指南:夜莺监控常见报错解决方案 深夜的告警风暴里,飞书机器人突然罢工是什么体验?上周三凌晨2点,当我面对满屏的Key Words Not Found和sign match fail报错时,终于理解了为什么运维工程师的咖啡…...
深度解析JiYuTrainer:极域电子教室反控制技术实现与架构设计
深度解析JiYuTrainer:极域电子教室反控制技术实现与架构设计 【免费下载链接】JiYuTrainer 极域电子教室防控制软件, StudenMain.exe 破解 项目地址: https://gitcode.com/gh_mirrors/ji/JiYuTrainer JiYuTrainer是一款专业的极域电子教室反控制软件…...
intv_ai_mk11快速上手:浏览器输入URL→发送‘帮我写周报’→获得带数据亮点的Word格式草稿
intv_ai_mk11快速上手:浏览器输入URL→发送帮我写周报→获得带数据亮点的Word格式草稿 1. 什么是intv_ai_mk11 intv_ai_mk11是一款基于Llama架构的AI对话助手,拥有7B参数规模,运行在GPU服务器上。它能像真人助手一样理解你的需求࿰…...
Phi-3-mini-4k-instruct-gguf入门必看:q4-GGUF量化对中文语义保留的影响实测
Phi-3-mini-4k-instruct-gguf入门必看:q4-GGUF量化对中文语义保留的影响实测 1. 模型简介 Phi-3-mini-4k-instruct-gguf是微软Phi-3系列中的轻量级文本生成模型GGUF版本,特别适合中文场景下的问答、文本改写、摘要生成等任务。这个经过量化的模型版本在…...
