• 博客(626)
  • 资源 (22)
  • 收藏
  • 关注

原创 Python下的毫秒级延迟RTSP|RTMP播放器技术探究和AI视觉算法对接

十年前,大牛直播SDK发布了跨平台的RTMP、RTSP毫秒级低延迟播放器,随着AI的爆发式普及和发展,加之大多视觉算法分析,都是用在Python下,Python下对视频流延迟的要求越来越高,本文将深入解析基于Python实现的RTSP/RTMP播放器,探讨其代码结构、实现原理以及优化策略,先看使用场景:交通监控:在城市交通管理中,通过低延迟播放器实时获取各个路口和路段的监控视频,交通管理人员可以及时查看路况,如是否有拥堵、事故等,并做出相应决策,如调整信号灯时长、派遣交警疏导等。

2025-03-07 17:44:27 1249 2

原创 iOS平台RTSP|RTMP直播播放器技术接入说明

iOS平台RTSP、RTMP直播播放模块,延迟低、资源占有少,性能优异。由于设备和系统比较单一,优先考虑硬解码,除了基础播放外,我们还实现了实时快照、实时录像、实时回调YUV数据、实时音量调节等,实际体验下来,iOS平台RTMP和RTSP,可以轻松毫秒级。

2024-09-18 21:15:36 2097

原创 Android平台RTMP直播推送模块技术接入说明

以上是大牛直播SDK的Android平台RTMP直播推送模块详细的对接说明,除了可以对接编码前各种类型的音视频数据外,模块还支持对接编码后音视频数据,并实现本地录像、快照等功能,除支持H.264外,RTMP推送模块还支持扩展H.265和Enhanced RTMP。感兴趣的开发者,可以单独跟我们探讨。

2024-08-07 13:48:27 1585

原创 Android平台RTSP|RTMP直播播放器技术接入说明

以上是Android平台RTSP、RTMP直播播放模块对接说明,在此之前,我们针对SmartPlayer做过一些技术方面的探讨,从低延迟、音视频同步处理、多实例实现、解码效率、性能占用、解码后数据对接、实时截图、录像、网络抖动处理等各个维度,做过相关的技术分享。感兴趣的开发者,可以单独跟我们探讨。

2024-07-24 13:25:54 2561

原创 Android平台轻量级RTSP服务模块技术接入说明

本文以大牛直播SDK Android平台Camera2Demo为例,启动RTSP服务、发布RTSP流之前,可以先选择视频分辨率、软编还是硬编码,音频是PCMA还是AAC编码等基础设置,其他参数的设置,可以参考下面InitAndSetConfig()。,实现本地的音视频数据(如摄像头、麦克风),编码后,汇聚到内置RTSP服务,对外提供可供拉流的RTSP URL,轻量级RTSP服务,其中,InitAndSetConfig()实现如下,通过调研SmartPublisherOpen()接口,生成推送实例句柄。

2024-07-17 13:58:05 1881 1

原创 基于arm64架构国产操作系统|Linux下的RTMP|RTSP低延时直播播放器开发探究

arm64架构的国产操作系统|Linux下的RTMP、RTSP直播播放,延迟依然毫秒级,随着国产操作系统在传统行业的推进,越来越多的场景需要高稳定性高延迟低的RTMP|RTSP播放器,本文抛砖引玉,感兴趣的开发者可以跟我单独探讨。

2024-05-19 23:26:52 1650 1

原创 Android平台GB28181设备接入模块优快云博客汇总

大牛直播SDK推出的Android平台GB28181接入SDK,可实现不具备国标音视频能力的 Android终端,通过平台注册接入到现有的GB/T28181—2016服务,可用于如。

2023-09-15 17:27:02 745

原创 Android平台GB28181接入模块技术接入说明

以上是大牛直播SDK发布的Android平台GB28181设备接入模块的相关说明,除了上述接口设计外,模块还可以扩展实现实时静音、实时快照、按需录像、实时音量调节等,可扩展性非常好。

2022-12-19 21:23:14 3698

原创 Android平台GB28181设备接入端如何支持跨网段语音对讲

实际上,GB28181平台语音广播和语音对讲,特别是语音对讲,不光要解决传输跨网段问题,还可能要处理回音,噪音,增益控制等,这块,我们之前有了非常好的技术积累,处理起来轻车熟路,有需要测试的开发者,也可以私信联系我。两种技术方案虽然都可以实现语音对讲,方案1相对实现起来简单,但缺点明显,方案2技术优势有目共睹,更适合相对复杂的网络环境。遗憾的是,大多公司都没有实现,或者说市面上真正实现跨网段语音对讲的尚在少数,感兴趣的开发者可以酌情参考。

2022-12-13 00:36:59 1333

原创 Android平台GB28181设备接入模块相关博客概览

Android平台GB28181设备接入模块,可实现不具备国标音视频能力的 Android终端,通过平台注册接入到现有的GB/T28181—2016服务,可用于如智能监控、智慧零售、智慧教育、远程办公、生产运输、智慧交通、车载或执法记录仪等场景。

2022-11-02 09:41:27 1235

原创 如何快速实现Android平台前端设备接入能力

技术背景SIP(会话初始化协议)是在 IP网络上进行多媒体通信的应用层控制协议,以几种RFC的形式提供,其中最重要的是包含核心协议规范的RFC3261。该协议用于创建,修改和终止与一个或多个参与者的会话。通过会话,我们了解了一组进行通信的发送方和接收方,以及在通信过程中这些发送方和接收方保持的状态。会话的示例可以包括Internet电话呼叫,多媒体分发,多媒体会议,分布式计算机游戏等。SIP不是通信设备将需要的唯一协议,也不意味着是通用协议。SIP的目的仅仅是使通信成为可能,通信本身必须通过其他方式

2022-03-08 22:34:44 5978

原创 基于RTMP实现Linux|麒麟操作系统下屏幕|系统声音采集推送

背景Windows操作系统自问世以来,以其简单易用的图形化界面操作受到大众追捧,为计算机的普及、科技的发展做出了不可磨灭的功绩,也慢慢的成为人们最依赖的操作系统。在中国,90%以上的办公环境都是Windows,学校和各种培训班的培训内容也都是Windows,Windows操作系统已经渗入到各行各业,人们已经习惯了Windows的界面和操作习惯,IT计算机和Windows已经被习以为常的画上了等号。但是,我们使用的软件真的安全吗?黑屏事件和棱镜门事件让很多乐观看待或尚未意识到信息安全问题的人们警醒,我

2021-07-22 12:32:14 1760 2

原创 麒麟操作系统|Linux下低延时RTMP|RTSP直播播放实现

背景国产操作系统多为以Linux为基础二次开发的操作系统。2014年4月8日起,美国微软公司停止了对Windows XP SP3操作系统提供服务支持,这引起了社会和广大用户的广泛关注和对信息安全的担忧。而2020年对Windows7服务支持的终止再一次推动了国产系统的发展。工信部对此表示,将继续加大力度,支持Linux的国产操作系统的研发和应用,并希望用户可以使用国产操作系统。随着信息技术和互联网的快速发展普及,电子商务已经成为不可抗拒的现代商业潮流,云计算、大数据应用...

2021-07-21 16:42:43 2699 2

原创 Unity环境下RTMP推流+RTMP播放低延迟解决方案

在本文之前,我们发布了Unity环境下的RTMP推流和RTMP|RTSP拉流低延迟的解决方案,今天做个整体汇总,权当抛砖引玉。关于如何实现Unity环境下低延迟的音视频解决方案。

2021-06-13 12:28:38 4410 6

原创 公网可用的RTMP、RTSP测试地址(更新于2021年3月)

好多博客提到的公网可测试的RTSP和RTMP URL大多都不用了,以下是大牛直播SDK(Github)于2021年3月亲测可用的几个URL,有其他可用的URL,也欢迎大家在评论区回复。RTMP流地址目前实际可用的有如下两个:1.rtmp://58.200.131.2:1935/livetv/hunantv (720*576)2.rtmp://ns8.indexforce.com/home/mystream (分辨率 800*450)RTSP流地址大熊兔(VOD):rtsp:/..

2021-03-16 10:22:59 13268 6

原创 rtmp/rtsp/hls公网真正可用的测试地址

相信大家在调试播放器的时候,都有这样的困惑,很难找到合适的公有测试源,以下是大牛直播SDK(GitHub地址)整理的真正可用的直播地址源。其中,rtmp和rtsp的url,用我们播放器验证通过,hls的地址,用vlc验证通过。1. RTMP协议直播源香港卫视:rtmp://live.hkstv.hk.lxdns.com/live/hks (目前不可用,hks1、hks2可用)这个r...

2019-06-03 09:48:11 119335 13

原创 Android平台GB28181接入模块(SmartGBD)技术设计和技术实现

这款Android平台GB28181接入SDK(SmartGBD)以其全面的功能、强大的性能、良好的兼容性和易用性,为开发者提供了一个高质量的解决方案,适用于多种需要音视频数据接入和传输的场景。

2025-03-31 11:19:07 1073

原创 Linux平台x86_64|aarch64架构RTSP|RTMP直播播放器开发实践

集成大牛直播SDK的RTSP|RTMP播放模块到Linux应用程序中,关键步骤包括初始化SDK、创建并配置播放窗口、注册回调函数处理视频帧和事件、以及启动播放流媒体。Linux(含x86_64架构和aarch64架构)的RTSP|RTMP直播播放SDK,是大牛直播SDK发布的一款用于Linux平台的视频播放器开发库,支持多种视频流协议,旨在提供低延时的流媒体播放和高质量的渲染。为了保持窗口的响应性,我们需要处理X11窗口事件,例如窗口大小调整、按键事件等。来处理窗口事件,并在需要时调整渲染窗口的大小。

2025-03-27 22:09:22 1334

原创 Nginx RTMP HLS模块分析 (ngx_rtmp_hls_module.c)

HLS 流式传输模块:此代码是为支持 RTMP 到 HLS 转码和分发的模块。它的核心功能包括视频分片的创建、播放列表的生成、加密支持以及音视频同步。可以从分片的创建、播放列表的生成、文件的管理等基础功能开始,逐步了解如何通过 RTMP 实现视频流的 HLS 支持。

2025-03-27 21:40:36 848

原创 既生瑜何生亮?Nginx RTMP 模块与 SRS RTMP服务器技术对比

Nginx RTMP 模块是一个通过扩展 Nginx 实现的 RTMP 流媒体服务器。它基于 Nginx 强大的高性能反向代理功能,专注于流媒体的推送、拉取、转码、录制等功能。Nginx 本身是一个高性能的 Web 服务器,而 RTMP 模块使得它能处理 RTMP 流的发布、播放,并且支持与 HLS、DASH 协议兼容的功能。

2025-03-27 15:48:04 995

原创 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 1008

原创 Nginx RTMP MP4 模块分析

这段代码实现了 Nginx RTMP 模块中的 MP4 文件生成支持。MP4 文件格式由多个盒子(boxes)组成,每个盒子保存不同类型的元数据或媒体数据。Nginx 使用这个模块将实时的 RTMP 流转换为 MP4 格式,这对于流媒体分发和存储非常有用。初学者需要重点理解 MP4 文件的盒子结构以及如何将音视频数据写入到这些盒子中。

2025-03-27 14:57:26 813

原创 Nginx RTMP DASH 模块分析 (ngx_rtmp_dash_module.c)

Nginx RTMP DASH 模块通过一系列的配置选项和文件操作支持 RTMP 流的 DASH 协议发布。

2025-03-27 14:52:41 1021

原创 Nginx RTMP 发送模块分析 (ngx_rtmp_send.c)

这段代码实现了 Nginx RTMP 模块中的发送功能,负责创建并发送多种 RTMP 协议的控制消息和用户消息。它通过宏和函数将消息数据格式化并写入缓冲区,然后发送给客户端。模块支持多种 RTMP 消息类型,包括协议控制消息、用户控制消息、AMF 消息等。

2025-03-27 12:54:21 884

原创 Nginx RTMP 限制模块分析 (ngx_rtmp_limit_module.c)

该模块主要功能是限制 RTMP 流的最大连接数。通过共享内存来维护当前连接数,当连接数超过最大限制时,拒绝新的连接。

2025-03-27 12:44:37 409

原创 Nginx RTMP 接收模块分析 (ngx_rtmp_receive.c)

这段代码是 Nginx RTMP 模块中用于接收和处理 RTMP 消息的核心部分。它通过不同的消息类型(协议消息、用户消息、AMF 消息等)来处理和解析从客户端发送来的数据。模块使用链表和缓冲区来高效地接收和处理数据,并根据消息类型执行相应的操作(如流的开始、结束、暂停、设置缓冲区大小等)。

2025-03-27 12:23:59 261

原创 Nginx RTMP 日志模块分析 (ngx_rtmp_log_module.c)

Nginx RTMP 日志模块提供了强大的日志功能,允许管理员详细记录 RTMP 流的各种事件(如客户端连接、流发布、播放、断开等)。日志数据可以自定义格式,并输出到指定的文件中,支持实时监控和后期分析。

2025-03-27 12:20:45 525

原创 Nginx RTMP 统计模块 (ngx_rtmp_stat_module.c) 详细分析

Nginx RTMP 统计模块的主要功能是提供 RTMP 流的实时统计信息,帮助管理员监控流量、客户端状态、播放流等数据。通过 HTTP 请求,可以获取全局统计、实时流统计、客户端统计等信息,格式化为 XML 输出。

2025-03-27 12:17:03 249

原创 Nginx RTMP 处理模块 (ngx_rtmp_handler.c) 详细分析

这段代码主要实现了 RTMP 会话的生命周期管理,特别是数据的接收、发送、流控制和心跳机制。每个 RTMP 会话都通过一系列的回调函数和事件处理机制,确保数据能够正确流动并处理超时等异常情况。

2025-03-27 11:34:53 949

原创 Nginx RTMP MP4 模块详细分析

Nginx RTMP MP4 模块主要用于支持 RTMP 流媒体服务器与 MP4 文件的转换。它解析 MP4 文件中的音视频数据,并通过 RTMP 协议发送到客户端。模块通过复杂的解析和播放控制流程,支持音视频轨道的提取、时间戳的转换、音视频帧的推送等功能。

2025-03-27 11:13:36 514

原创 Nginx RTMP Proxy Protocol 模块分析

该模块的核心功能是支持 RTMP 服务器通过 Proxy Protocol 获取客户端的真实 IP 地址,确保即使客户端通过代理或负载均衡器访问,RTMP 服务器依然能获取到正确的源地址信息。具体的实现过程包括:接收 Proxy Protocol 数据包。解析并提取客户端的真实 IP 地址和端口。更新连接的地址信息,并进行 RTMP 握手。理解 Proxy Protocol 的格式和解析过程是关键。

2025-03-27 11:03:13 561

原创 Nginx RTMP 网络调用模块 (ngx_rtmp_netcall_module) 详细分析

Nginx RTMP 网络调用模块为 RTMP 服务器与外部系统之间提供了实时通信机制,支持 HTTP 请求的发送和接收、数据过滤、以及 Memcache 操作。该模块的关键功能是通过网络调用回调机制来扩展 RTMP 服务器的功能,能够在实时流媒体服务中与外部系统(如监控、数据库、录制服务器等)进行交互。对于初学者来说,理解模块的核心在于如何通过创建网络调用会话,如何格式化 HTTP 请求,并如何处理网络数据的发送和接收。

2025-03-27 10:58:32 992

原创 Nginx RTMP 通知模块 (ngx_rtmp_notify_module) 详细分析

该模块的核心作用是监听 RTMP 流会话的各种事件,并通过 HTTP 通知外部系统。通过配置指令,用户可以灵活地指定哪些事件需要被通知,并设置通知的方式(如 HTTP POST 或 GET)。对于直播和推流应用,实时的通知机制是非常重要的,可以用于实现监控、告警、统计等功能。模块的工作流程:配置 RTMP 事件和对应的通知 URL。监听 RTMP 事件(如连接、断开、发布、播放等)。在事件触发时,根据配置生成 HTTP 请求,发送通知。如果发生重定向,自动处理并更新通知目标。

2025-03-27 10:48:16 613

原创 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 278

原创 nginx-rtmp-module之ngx_rtmp_live_module.c代码详解

Nginx RTMP 直播模块通过这些功能使得流的管理、发布、播放、同步变得更加灵活和高效。模块通过 RTMP 协议进行流媒体的推送和拉取操作,并提供了流的生命周期管理(如暂停、恢复、开始和结束播放)。此外,还提供了带宽管理、流同步等功能,以确保直播体验的稳定性。

2025-03-27 10:17:03 969

原创 nginx-rtmp-module之ngx_rtmp_codec_module.c代码详解

RTMP 中继模块的核心功能是提供流的推送(push)和拉取(pull)功能,确保 RTMP 流在多个服务器之间传输的稳定性和可靠性。通过配置文件中的指令,用户可以配置推流和拉流的目标地址、缓冲区大小、重连时间等参数。该模块还提供了自动重连的机制,确保在中继过程中流的连接丢失时能够自动恢复。该模块中有丰富的事件和状态管理,能够实时处理 RTMP 流的各种变化,如流的创建、播放、推送、拉取等。

2025-03-27 09:57:41 269

原创 nginx-rtmp-module之ngx_rtmp_bitop.c代码详解

这两个文件主要涉及对比特流的处理,包括:使用结构体来存储比特流的读取状态。提供了多个宏来方便地读取不同长度的比特(8、16、32、64)。通过函数实现了按位读取数据,函数用于解码 Golomb 编码数据。这些功能对于处理 RTMP 流中的视频和音频数据非常重要,特别是在进行压缩和传输时。整体上,这部分代码提供了精细的比特级操作支持,能够处理比特流中的数据读取、错误处理以及 Golomb 编码的解码。

2025-03-27 09:51:33 406

原创 ngx_rtmp_flv_module.c — FLV文件处理模块设计与分析

该结构体是每个 RTMP 会话与 FLV 相关的上下文,存储了文件的索引信息、时间戳、音视频的最后更新时间等。会读取 FLV 文件中的数据,并根据音视频的时间戳顺序进行处理。主要负责 RTMP 协议中 FLV 格式的文件处理,包括文件的读取、索引处理、时间戳跳跃、数据发送等功能。:分别表示文件的位置索引和时间戳索引,用于快速定位 FLV 文件的具体数据​。该函数用于 FLV 文件的时间戳跳跃,根据新的时间戳定位到文件的正确位置​。索引数组,获取时间戳对应的偏移量,进而定位到 FLV 文件中的数据​。

2025-03-26 22:49:53 576

原创 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 552

原创 音视频新人如何快速上手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 721

余世维经典PPT全集分享

余世维经典PPT全集分享,当初看他的视频看到疯。。

2011-12-22

嵌入式Linux之我行——u-boot-2009.08在2440上的移植详解.doc

嵌入式Linux之我行——u-boot-2009.08在2440上的移植详解.doc

2011-01-14

linux入门教程资料,很好

linux入门教程 很不错的资料,欢迎学习

2011-01-14

arm汇编指令.chm

arm汇编指令.chm arm汇编指令.chm arm汇编指令.chm arm汇编指令.chm

2011-01-14

一个月挑战C++,看过最有深度的C++书之一

一个月挑战C++,看过最有深度的C++书之一

2010-12-24

中软内部培训 高级项目管理ppt 适用于系统集成项目管理师和高级管理师

中软内部培训 高级项目管理ppt 适用于系统集成项目管理师和高级管理师

2010-09-17

中软内部培训系统集成项目管理师提供的PMBOK整体图

中软内部培训提供的PMBOK整体图,可以下载打印出来贴在办公室,当年我就是看这个过的,受益匪浅

2010-09-17

数字视频监控中的运动目标检测

数字视频监控中的运动目标检测论文,做这个的可以参考一下

2009-07-08

Visual C++经典游戏程序设计-俄罗斯方块源代码

Visual C++经典游戏程序设计教材中的俄罗斯方块源代码,经典,花钱买书就是为了代码啊

2009-06-30

Visual C++经典游戏程序设计-推箱子代码

Visual C++经典游戏程序设计书中,推箱子的代码,适合有一定功底的朋友学习

2009-06-26

Visual C++经典游戏程序设计-贪吃蛇代码

Visual C++经典游戏程序设计-贪吃蛇代码 写的非常经典 书中的光盘

2009-06-26

局域网视频监控系统 VC++基于WinSock编程

局域网视频监控系统 VC++基于WinSock编程 源代码,对学习Socket编程的朋友来说,非常好,涉及到BMP数据的传输

2009-06-26

MFC深入浅出.chm

MFC深入浅出,看过就知道里面的价值了,非常好的一本书,分享给大家

2009-05-12

WinRunner演示文稿

WinRunner培训的演示文稿,有需要写类似文档或打算学习WinRunner的,是不可多得的好资料

2009-05-12

华为培训 C++中级教程

华为培训资料 C++中级教程 看起来,有些难度,适合进阶人员看

2009-05-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除