流媒体服务器
文章平均质量分 89
音视频牛哥
牛哥@大牛直播SDK,致力于跨平台的实时RTMP推流、转发、RTMP/RTSP直播播放、GB28181设备接入...
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
基于 SmartMediaKit 的Linux平台多路RTSP转RTMP推送实战详解
本文聚焦大牛直播SDK(SmartMediaKit)在Linux平台下实现多路RTSP转RTMP推送的完整技术方案。结合RTSP、RTMP协议规范,深入解析零解码直通透传架构、句柄复用机制、线程安全设计等核心技术,并以实际Demo代码为基础,逐步讲解拉流、转发、推流、录像、截图各模块的实现细节。SDK具备低延迟(<200ms)、高并发、纯C++高性能等优势,适用于视频监控、智慧园区、直播平台等RTSP摄像头接入场景。原创 2026-03-02 12:06:12 · 937 阅读 · 0 评论 -
基于SmartMediaKit实现Android轻量级RTSP服务--从协议规范到实战代码全解析
本文基于大牛直播SDK的Android Demo实际源码,结合RTSP(RFC 7826)协议规范,系统讲解如何在Android设备上实现内置轻量级RTSP服务。文章从RTSP信令交互流程、RTP封包格式、SDP参数协商等协议层面入手,深入分析摄像头YUV_420_888图像采集与旋转处理、PCM音频采集与编码选择(PCMA/AAC)、层叠加水印合成、H.264/H.265软硬编码参数配置等关键技术环节,并详解RTSPServer与Publisher分离架构、多路同时推流原创 2026-02-24 15:37:42 · 1239 阅读 · 0 评论 -
被推荐系统包围的年轻人:如何在算法洪流中找回自我
智能推荐系统正在悄悄重塑年轻人的认知方式——它比我们更懂情绪、耐心和弱点。短视频不是简单的娱乐产品,而是一套经过无数次迭代、专门优化人类行为的工业系统,让注意力变得短促、世界变得单一、大脑逐渐依赖即时刺激。作为长期深耕音视频的行业从业者,本文从工程、商业与认知科学三方面拆解短视频背后的机制,并给出一套真正有效的“算法自救手册”。这不是与技术对抗,而是重新夺回自我掌控的能力。原创 2025-11-28 07:25:40 · 1123 阅读 · 0 评论 -
【深度评测】既生瑜,何生亮:ChatGPT 5.1 与 Gemini 3 的终极对决
2025年11月,OpenAI 与 Google 掀起 AI 领域的“赤壁之战”。ChatGPT 5.1 与 Gemini 3 的巅峰对决,正如诸葛亮与周瑜的宿命之争。本文从架构底层、代码实战及多模态表现三个维度进行深度评测:ChatGPT 5.1 凭借“自适应推理路由”,在复杂逻辑与拟人交互上封神,是智能体(Agent)开发的终极大脑;而 Gemini 3 则以恐怖的 10M 上下文窗口与原生物理世界理解能力,构筑了海量数据吞吐的绝对壁垒。这不仅是参数的战争,更是技术路线的博弈。原创 2025-11-25 22:22:12 · 1827 阅读 · 0 评论 -
为什么音视频行业更不容易出现“35 岁危机”?
摘要:音视频行业呈现罕见的"越老越吃香"现象,35岁工程师反而更具竞争力。这源于其高系统性门槛(编解码原理、实时协议、跨平台开发等),需要多年经验积累;行业需求持续增长且稳定(无人机、智能汽车、AI视频等);核心价值在于系统思维和问题解决能力,新人难以快速替代。音视频工程师的经验具有复利效应,35-40岁正值体系化能力成熟期,在架构设计、多协议处理等方面具备不可替代性,成为企业核心技术骨干。该领域拼的是深度积累而非青春红利,年龄反而成为职业护城河。原创 2025-11-17 06:31:37 · 1605 阅读 · 0 评论 -
Android轻量级RTSP服务模块深度解析:从协议解读到产业落地
本文深入解析了 Android 平台轻量级 RTSP 服务 SDK 的技术实现与应用价值。文章从 RTSP/RTP 协议规范出发,结合大牛直播SDK的实际工程实践,系统介绍了其架构设计、RTP 打包机制、弱网优化、多会话并发管理等核心技术点。同时,围绕移动安防、无人机视频链路、机器人远程操控、工业 IoT、医疗教育等典型场景,探讨了轻量化 RTSP 服务在边缘智能化趋势下的广泛应用。原创 2025-09-11 10:57:58 · 1263 阅读 · 0 评论 -
全链路可控的跨平台多路RTSP转RTMP推送方案设计与对比分析
视频转发模块在直播与实时传输中扮演关键角色,直接影响链路延迟与稳定性。行业级应用(如安防、医疗、工业等)对转发模块提出更高要求:毫秒级延迟、跨平台适配、资源优化等。大牛直播SDK提供商业化解决方案,其模块化设计支持RTSP/RTMP转RTMP,具备低延迟(100-200ms)、自动重连和弱网适应能力,优于开源工具(延迟800ms以上)。原创 2025-08-12 00:38:56 · 1061 阅读 · 0 评论 -
构建智能视频中枢--多路RTSP转RTMP推送模块在轨道交通与工业应用中的技术方案探究
轨道交通视频监控系统核心依赖RTSP/RTMP协议转发技术,以支持列车、车站、轨道沿线多路高清视频的实时传输。大牛直播SDK提供高效的多路RTSP转RTMP解决方案,采用码流转封装而非转码技术,显著降低CPU消耗,实现毫秒级延迟转发。该方案具备自动重连、弱网适应等工业级稳定性,支持ARM/x86架构边缘部署,完美适配轨道交通移动环境需求。相比传统方案,其在并发能力、资源占用和系统稳定性方面优势明显,为智能监控、应急指挥等场景提供可靠技术支撑。未来将向5G专网接入、AI边缘分析等方向持续演进。原创 2025-07-22 13:00:33 · 1320 阅读 · 0 评论 -
跨平台多路RTSP/RTMP转RTMP推送模块深度解析
大牛直播SDK推出多路RTSP/RTMP转RTMP转发模块,支持低延迟、高稳定性的音视频流转功能。该模块采用全自研架构,具备跨平台兼容、多路并发处理、动态源切换等特性,并支持录像、快照等扩展功能。适用于安防监控、直播分发等场景,能部署在各类硬件设备上。未来将加强AI融合与协议扩展,持续提升音视频转发的性能和智能化水平。原创 2025-06-22 19:09:26 · 1209 阅读 · 0 评论 -
超低延迟音视频直播技术的未来发展与创新
未来,随着5G、AI和AR/VR等技术的融合,音视频直播技术将向更高质量、更低延迟、更智能化的方向发展。大牛直播SDK将继续推动行业创新,为全球用户提供更高效、更稳定、更智能的音视频服务。原创 2025-05-21 23:36:04 · 1209 阅读 · 0 评论 -
Nginx RTMP HLS模块分析 (ngx_rtmp_hls_module.c)
HLS 流式传输模块:此代码是为支持 RTMP 到 HLS 转码和分发的模块。它的核心功能包括视频分片的创建、播放列表的生成、加密支持以及音视频同步。可以从分片的创建、播放列表的生成、文件的管理等基础功能开始,逐步了解如何通过 RTMP 实现视频流的 HLS 支持。原创 2025-03-27 21:40:36 · 1081 阅读 · 0 评论 -
既生瑜何生亮?Nginx RTMP 模块与 SRS RTMP服务器技术对比
Nginx RTMP 模块是一个通过扩展 Nginx 实现的 RTMP 流媒体服务器。它基于 Nginx 强大的高性能反向代理功能,专注于流媒体的推送、拉取、转码、录制等功能。Nginx 本身是一个高性能的 Web 服务器,而 RTMP 模块使得它能处理 RTMP 流的发布、播放,并且支持与 HLS、DASH 协议兼容的功能。原创 2025-03-27 15:48:04 · 1508 阅读 · 0 评论 -
Nginx RTMP 服务器开发设计与实现
Nginx RTMP 模块允许 Nginx 执行 RTMP 协议的推流和拉流操作。推流功能:支持 RTMP 流的发布,允许用户将视频流发布到服务器。拉流功能:支持从 RTMP 服务器拉取视频流,允许客户端播放流媒体。直播功能:支持实时视频流播放,适用于直播平台。录像功能:支持对推送到服务器的视频流进行录制。多种协议支持:除了 RTMP,还支持 HLS(HTTP Live Streaming)和 DASH(Dynamic Adaptive Streaming over HTTP)等协议。原创 2025-03-27 15:33:54 · 1385 阅读 · 0 评论 -
Nginx RTMP MP4 模块分析
这段代码实现了 Nginx RTMP 模块中的 MP4 文件生成支持。MP4 文件格式由多个盒子(boxes)组成,每个盒子保存不同类型的元数据或媒体数据。Nginx 使用这个模块将实时的 RTMP 流转换为 MP4 格式,这对于流媒体分发和存储非常有用。初学者需要重点理解 MP4 文件的盒子结构以及如何将音视频数据写入到这些盒子中。原创 2025-03-27 14:57:26 · 1063 阅读 · 0 评论 -
Nginx RTMP DASH 模块分析 (ngx_rtmp_dash_module.c)
Nginx RTMP DASH 模块通过一系列的配置选项和文件操作支持 RTMP 流的 DASH 协议发布。原创 2025-03-27 14:52:41 · 1144 阅读 · 0 评论 -
Nginx RTMP 发送模块分析 (ngx_rtmp_send.c)
这段代码实现了 Nginx RTMP 模块中的发送功能,负责创建并发送多种 RTMP 协议的控制消息和用户消息。它通过宏和函数将消息数据格式化并写入缓冲区,然后发送给客户端。模块支持多种 RTMP 消息类型,包括协议控制消息、用户控制消息、AMF 消息等。原创 2025-03-27 12:54:21 · 1003 阅读 · 0 评论 -
Nginx RTMP 限制模块分析 (ngx_rtmp_limit_module.c)
该模块主要功能是限制 RTMP 流的最大连接数。通过共享内存来维护当前连接数,当连接数超过最大限制时,拒绝新的连接。原创 2025-03-27 12:44:37 · 549 阅读 · 0 评论 -
Nginx RTMP 接收模块分析 (ngx_rtmp_receive.c)
这段代码是 Nginx RTMP 模块中用于接收和处理 RTMP 消息的核心部分。它通过不同的消息类型(协议消息、用户消息、AMF 消息等)来处理和解析从客户端发送来的数据。模块使用链表和缓冲区来高效地接收和处理数据,并根据消息类型执行相应的操作(如流的开始、结束、暂停、设置缓冲区大小等)。原创 2025-03-27 12:23:59 · 363 阅读 · 0 评论 -
Nginx RTMP 日志模块分析 (ngx_rtmp_log_module.c)
Nginx RTMP 日志模块提供了强大的日志功能,允许管理员详细记录 RTMP 流的各种事件(如客户端连接、流发布、播放、断开等)。日志数据可以自定义格式,并输出到指定的文件中,支持实时监控和后期分析。原创 2025-03-27 12:20:45 · 704 阅读 · 0 评论 -
Nginx RTMP 统计模块 (ngx_rtmp_stat_module.c) 详细分析
Nginx RTMP 统计模块的主要功能是提供 RTMP 流的实时统计信息,帮助管理员监控流量、客户端状态、播放流等数据。通过 HTTP 请求,可以获取全局统计、实时流统计、客户端统计等信息,格式化为 XML 输出。原创 2025-03-27 12:17:03 · 568 阅读 · 0 评论 -
ngx_rtmp_flv_module.c — FLV文件处理模块设计与分析
该结构体是每个 RTMP 会话与 FLV 相关的上下文,存储了文件的索引信息、时间戳、音视频的最后更新时间等。会读取 FLV 文件中的数据,并根据音视频的时间戳顺序进行处理。主要负责 RTMP 协议中 FLV 格式的文件处理,包括文件的读取、索引处理、时间戳跳跃、数据发送等功能。:分别表示文件的位置索引和时间戳索引,用于快速定位 FLV 文件的具体数据。该函数用于 FLV 文件的时间戳跳跃,根据新的时间戳定位到文件的正确位置。索引数组,获取时间戳对应的偏移量,进而定位到 FLV 文件中的数据。原创 2025-03-26 22:49:53 · 675 阅读 · 0 评论 -
nginx-rtmp-module之ngx_rtmp.c代码详解
ngx_rtmp.c:主要负责 RTMP 模块的初始化、配置解析、事件和端口管理等核心功能。它定义了 RTMP 模块的初始化流程,配置文件的解析和处理,以及端口和地址的管理,确保 RTMP 协议的正常工作。ngx_rtmp.h:定义了 RTMP 协议所需的各种常量、数据结构和函数指针,提供了 RTMP 协议消息类型、控制消息、事件类型等的定义,同时也定义了 RTMP 会话和网络连接的结构,确保 RTMP 协议的数据传输和处理功能。原创 2025-03-26 22:46:10 · 699 阅读 · 0 评论 -
音视频新人如何快速上手nginx-rtmp-module
通过以上说明,相信你能够更快地熟悉和理解nginx-rtmp-module源码及其背后的Nginx核心思想,帮助你进一步提高代码阅读效率并更快上手实践。Nginx本身就具有连接管理机制,RTMP模块在此基础上实现了自己的RTMP连接处理,包括握手、建立会话、维护RTMP状态等。复用Nginx的配置机制(ngx_conf_t)与内存池机制(ngx_pool_t)。学习本模块对深入理解Nginx源码、协议处理、网络高并发设计都有很大帮助。、内存池机制、事件循环等),再回头看RTMP模块的源码,会更加清晰。原创 2025-03-26 21:41:00 · 1110 阅读 · 0 评论 -
nginx-rtmp-module之ngx_rtmp_bitop.c代码详解
这两个文件主要涉及对比特流的处理,包括:使用结构体来存储比特流的读取状态。提供了多个宏来方便地读取不同长度的比特(8、16、32、64)。通过函数实现了按位读取数据,函数用于解码 Golomb 编码数据。这些功能对于处理 RTMP 流中的视频和音频数据非常重要,特别是在进行压缩和传输时。整体上,这部分代码提供了精细的比特级操作支持,能够处理比特流中的数据读取、错误处理以及 Golomb 编码的解码。原创 2025-03-27 09:51:33 · 522 阅读 · 0 评论 -
Nginx RTMP 处理模块 (ngx_rtmp_handler.c) 详细分析
这段代码主要实现了 RTMP 会话的生命周期管理,特别是数据的接收、发送、流控制和心跳机制。每个 RTMP 会话都通过一系列的回调函数和事件处理机制,确保数据能够正确流动并处理超时等异常情况。原创 2025-03-27 11:34:53 · 1093 阅读 · 0 评论 -
Nginx RTMP MP4 模块详细分析
Nginx RTMP MP4 模块主要用于支持 RTMP 流媒体服务器与 MP4 文件的转换。它解析 MP4 文件中的音视频数据,并通过 RTMP 协议发送到客户端。模块通过复杂的解析和播放控制流程,支持音视频轨道的提取、时间戳的转换、音视频帧的推送等功能。原创 2025-03-27 11:13:36 · 692 阅读 · 0 评论 -
Nginx RTMP Proxy Protocol 模块分析
该模块的核心功能是支持 RTMP 服务器通过 Proxy Protocol 获取客户端的真实 IP 地址,确保即使客户端通过代理或负载均衡器访问,RTMP 服务器依然能获取到正确的源地址信息。具体的实现过程包括:接收 Proxy Protocol 数据包。解析并提取客户端的真实 IP 地址和端口。更新连接的地址信息,并进行 RTMP 握手。理解 Proxy Protocol 的格式和解析过程是关键。原创 2025-03-27 11:03:13 · 774 阅读 · 0 评论 -
Nginx RTMP 网络调用模块 (ngx_rtmp_netcall_module) 详细分析
Nginx RTMP 网络调用模块为 RTMP 服务器与外部系统之间提供了实时通信机制,支持 HTTP 请求的发送和接收、数据过滤、以及 Memcache 操作。该模块的关键功能是通过网络调用回调机制来扩展 RTMP 服务器的功能,能够在实时流媒体服务中与外部系统(如监控、数据库、录制服务器等)进行交互。对于初学者来说,理解模块的核心在于如何通过创建网络调用会话,如何格式化 HTTP 请求,并如何处理网络数据的发送和接收。原创 2025-03-27 10:58:32 · 1109 阅读 · 0 评论 -
Nginx RTMP 通知模块 (ngx_rtmp_notify_module) 详细分析
该模块的核心作用是监听 RTMP 流会话的各种事件,并通过 HTTP 通知外部系统。通过配置指令,用户可以灵活地指定哪些事件需要被通知,并设置通知的方式(如 HTTP POST 或 GET)。对于直播和推流应用,实时的通知机制是非常重要的,可以用于实现监控、告警、统计等功能。模块的工作流程:配置 RTMP 事件和对应的通知 URL。监听 RTMP 事件(如连接、断开、发布、播放等)。在事件触发时,根据配置生成 HTTP 请求,发送通知。如果发生重定向,自动处理并更新通知目标。原创 2025-03-27 10:48:16 · 750 阅读 · 0 评论 -
Nginx RTMP AMF 模块代码分析
基本类型: 数字类型(0x00): 布尔类型(0x01): 字符串类型(0x02): 对象类型(0x03): 空值类型(0x05): 空数组类型(0x06): 混合数组类型(0x08): 结束标记(0x09): 数组类型(0x0a)扩展类型: 8位整数(0x0100): 16位整数(0x0101): 32位整数(0x0102): 变体类型(0x0103)标志位: 可选类型: 无类型标识: 上下文标识数据元素结构type: 数据类型name: 数据名称(字符串)data: 数据本身(指针)len: 数据长度。原创 2025-03-27 10:37:22 · 413 阅读 · 0 评论 -
nginx-rtmp-module之ngx_rtmp_live_module.c代码详解
Nginx RTMP 直播模块通过这些功能使得流的管理、发布、播放、同步变得更加灵活和高效。模块通过 RTMP 协议进行流媒体的推送和拉取操作,并提供了流的生命周期管理(如暂停、恢复、开始和结束播放)。此外,还提供了带宽管理、流同步等功能,以确保直播体验的稳定性。原创 2025-03-27 10:17:03 · 1180 阅读 · 0 评论 -
nginx-rtmp-module之ngx_rtmp_codec_module.c代码详解
RTMP 中继模块的核心功能是提供流的推送(push)和拉取(pull)功能,确保 RTMP 流在多个服务器之间传输的稳定性和可靠性。通过配置文件中的指令,用户可以配置推流和拉流的目标地址、缓冲区大小、重连时间等参数。该模块还提供了自动重连的机制,确保在中继过程中流的连接丢失时能够自动恢复。该模块中有丰富的事件和状态管理,能够实时处理 RTMP 流的各种变化,如流的创建、播放、推送、拉取等。原创 2025-03-27 09:57:41 · 398 阅读 · 0 评论
分享