RTMP直播播放SDK

概述(Overview)

SmartMediaKit RTMP 播放器 SDK(SmartPlayer)
基于全自研跨平台内核构建,面向 Windows / Linux(x86_64 | aarch64)/ Android / iOS 多平台统一集成,提供稳定、低延迟、可扩展的 RTMP 播放能力。
SDK 支持软硬解灵活切换、事件回调、音视频控制与多实例播放等特性,已在 安防监控、远程教育、工业视觉、应急指挥 等多个领域的实际项目中广泛应用,获得数百家企业的稳定运行验证。

通过标准化接口设计与高兼容性架构,SmartMediaKit RTMP 播放器 SDK 可无缝嵌入各类系统或应用中,构建可控、可复用的实时视频播放链路。


技术特点与优势

  • 跨平台统一内核:自研协议栈与媒体管线,接口风格一致,减少多平台差异带来的维护成本;

  • 低延迟播放能力:支持低延迟模式配置,公网环境下典型延时约 100–200 ms(取决于网络与码流);

  • 软/硬解灵活切换:支持软解与硬解模式选择,兼顾兼容性与性能;

  • 网络适配与稳定性:支持断线重连、超时控制、TCP 重建,确保播放稳定连续;

  • 回调机制完善:提供网络、缓冲、下载速率、音视频数据(解码前/后)等多类事件回调;

  • 渲染与控制灵活:支持旋转、镜像、缩放、快照、音量调节等多维播放控制;

  • 录像扩展能力:与录像 SDK 无缝组合,支持 RTMP H.265 流录制、音频转码录制、音视频独立录制;

  • 工程化接口与示例:C++、C#、Java、Objective-C 多语言 Demo 支持,便于快速集成与调试。


功能支持(Feature Matrix)

如未特别说明,以下能力在 Windows / Linux(x86_64 | aarch64)/ Android / iOS 全平台可用。


协议与会话

  • RTMP / Enhanced RTMP:支持标准 RTMP 及扩展 H.265(HEVC)播放;

  • 连接管理:支持断线自动重连、超时控制与自动恢复机制;

  • 低延迟模式:可配置低延迟播放参数(公网典型延迟 100–200 ms);

  • 快速切流:播放过程中可快速切换 URL,实现平滑流切换。


解码

  • 视频格式:H.264 / H.265(HEVC),兼容 Enhanced RTMP H.265 扩展;

  • 音频格式:AAC / PCMA / PCMU / Speex;

  • 软解码:全平台支持 H.264 / H.265 软件解码;

  • 硬解码

    • Windows / Android / iOS:在支持机型上启用 H.264 / H.265 硬解;

    • Android:可在 Surface 模式硬解 / 常规硬解 间灵活切换。


渲染与音频输出

  • Android 平台:视频支持 SurfaceView / GLSurfaceView;音频支持 AudioTrack / OpenSL ES

  • 渲染控制:支持旋转角度 0° / 90° / 180° / 270°;镜像 水平 / 垂直;支持等比例缩放(注:Android Surface 硬解模式下不支持等比缩放);

  • 静音与音量:播放过程中可实时静音 / 取消静音,并支持音量调节;

  • 快照功能:播放中可抓取当前画面;

  • 关键帧播放:Windows 平台支持实时设置“仅播放关键帧”模式;

  • ARGB 叠加:Windows 平台支持在显示视频上叠加 ARGB 图像(参考 C++ Demo)。


时序与低延迟

  • 缓冲策略:支持 buffer time 配置;提供首屏秒开模式;

  • 弱网处理:支持断网重连与链路自适应,保障播放连贯性;

  • 下载速率回调:可设置回调间隔,实时监测下载速率;

  • 多实例播放:支持多路并发播放与资源隔离管理。


回调与数据获取

  • 事件回调:包括网络状态、缓冲状态等;

  • 解码前数据回调:支持 H.264 / H.265 视频码流回调,以及 AAC / PCMA / PCMU / Speex 音频码流回调;

  • 解码后数据回调:支持解码后 YUV / RGB 视频帧回调,便于上层二次处理或 AI 算法接入;

  • 缩放后视频回调(Windows):可指定输出尺寸,对原始图像缩放后再回调上层;

  • 参数自适应:播放过程中音视频参数(如分辨率、SPS/PPS)变更时自动适配。


录制与扩展

  • 录像组合:可与录像 SDK 无缝协作(支持 RTMP H.265 流录制;支持 PCMA / PCMU / Speex 转 AAC 后录制;支持仅音频或仅视频录制);
    详见《Windows / Linux / Android / iOS 录像 SDK》。

  • 快速流切换:播放过程中可快速更换播放源,缩短切换时延。


示例工程(Demos)

  • Windows 测试程序SmartPlayer.exe

  • Windows C++ 工程WIN-PlayerSDK-CPP-Demo

  • Windows C# 工程WIN-PlayerSDK-CSharp-Demo

  • Linux 工程single_playerdemo / multi_playerdemo

  • Android 工程SmartPlayerV2

  • iOS 工程SmartiOSPlayerV2


对接文档(Integration Guides)


延迟测试视频展示

官方博客

相关技术博客(精选)