一文快速读懂大牛直播SDK的Linux平台音视频模块调用说明

好多开发者希望能快速了解和对接Linux平台音视频直播模块,大牛直播SDK的Linux平台模块调用说明(支持x64_64架构|aarch64架构),介绍了 RTMP 直播推送 SDK、RTMP 直播播放 SDK、RTSP 直播播放 SDK、录像 SDK、转发 SDK、轻量级 RTSP 服务 SDK、SEI 扩展数据发送/接收 SDK。详细说明了各模块的功能特性,如支持的编码格式、协议、采集方式、播放设置等。

一、平台概述

  1. Linux 平台模块:包括 RTMP 直播推送 SDK、RTMP 直播播放 SDK、多路流媒体转发 SDK、轻量级 RTSP 服务 SDK、录像 SDK、SEI 扩展数据发送 / 接收 SDK。
  2. 模块功能介绍
    • RTMP 直播推送 SDK:支持音频编码 AAC/SPEEX、视频编码 H.264、推流协议 RTMP,支持纯音频 / 纯视频 / 音视频推送,支持 X11 屏幕采集、部分 V4L2 摄像头设备采集,支持帧率、关键帧间隔、码率设置等。
    • RTMP 直播播放 SDK:支持音频 AAC/PCMA/PCMU/SPEEX(RTMP)、视频 H.264,播放协议 RTMP、RTSP,支持纯音频、纯视频、音视频播放,支持多实例播放等。
    • 多路流媒体转发 SDK:支持 RTSP 或 RTMP 拉流,音频 AAC/PCMA/PCMU/SPEEX (RTMP)、视频 H.264,转推协议 RTMP,支持 buffer 状态等回调等。
    • 轻量级 RTSP 服务 SDK:支持音频编码 AAC、视频编码 H.264、协议 RTSP,支持纯音频 / 纯视频 / 音视频推送等。
    • 录像 SDK:支持推送端和播放端录像,多实例同时录制多路 RTMP/RTSP 音视频流,录制格式为 MP4,音频格式为 AAC,视频格式为 H.264/H.265 (HEVC) 等。
    • SEI 扩展数据发送 / 接收 SDK:支持内置 RTSP 服务 SDK 和 RTMP 推送 SDK 携带 SEI 扩展信息,推送端支持发送自定义用户数据,播放端支持解析 utf8 文本、二进制和原 SEI 数据。

二、推送端 SDK 集成说明

  1. Linux 推流端 SDK 说明
    • 系统要求:支持 x64_64 架构、aarch64 架构,需要 glibc - 2.21 及以上版本的 Linux 系统等。
    • 准备工作:相关 so 包括 publisherdemo\libSmartPublisherSDK.so、publisherdemo\libSmartLog.so,头文件在 publisherdemo\nt_smart_sdk\linux\include。
    • 编译说明:publisherdemo 是个简单的 demo,可以修改播放 url 后 make 测试,可在后台运行,正常终止后台 demo 可执行 kill - s SIGINT pid,编译时需确保安装了 gcc 和 g++,Linux arm64 编译及运行有相关要求。
    • SDK 调用说明:包括设置 log 路径、推送 SDK 初始化、创建 / 关闭实例、推送参数初始化、设置 Event 回调、推送 RTMP、轻量级 RTSP 服务 - 启动 / 停止 RTSP 服务、发布 / 停止 RTSP 流等。
  2. 推送端录像 SDK 说明:包括设置本地录像目录、设置单个录像文件最大大小、设置录像文件名生成规则、启动录像、暂停录像、停止录像等接口。
  3. 功能支持:
  • 音频编码:AAC/SPEEX;
  • 视频编码:H.264;
  • 推流协议:RTMP;
  • [音视频]支持纯音频/纯视频/音视频推送;
  • 支持X11屏幕采集;
  • 支持部分V4L2摄像头设备采集;
  • [屏幕/V4L2摄像头]支持帧率、关键帧间隔(GOP)、码率(bit-rate)设置;
  • [V4L2摄像头]支持V4L2摄像头设备选择(设备文件名范围:[/dev/video0, /dev/video63])、分辨率设置、帧率设置;
  • [V4L2摄像头]支持水平反转、垂直反转、0° 90° 180° 270°旋转;
  • [音频]支持基于alsa-lib接口的音频采集;
  • [音频]支持基于libpulse接口采集本机PulseAudio服务音频;
  • [预览]支持推送端实时预览;
  • [对接服务器]支持自建标准RTMP服务器或CDN;
  • 支持断网自动重连、网络状态回调;
  • 屏幕和摄像头合成/多层合成;
  • 支持窗口采集(一般不建议使用);
  • 支持实时快照;
  • 支持降噪处理、自动增益控制、VAD端点检测;
  • 支持扬声器和麦克风混音;
  • 支持外部编码前音视频数据对接;
  • 支持外部编码后音视频数据对接;
  • 支持实时音量调节;
  • 支持扩展录像模块;
  • 支持Unity接口;
  • 支持H.264扩展SEI发送模块;
  • 支持x64_64架构、aarch64架构(需要glibc-2.21及以上版本的Linux系统, 需要libX11.so.6, 需要GLib–2.0, 需安装 libstdc++.so.6.0.21、GLIBCXX_3.4.21、 CXXABI_1.3.9);

三、多路 RTSP 转 RTMP 推送 SDK 说明
Linux 平台转发 SDK 通过播放端 SDK 拉取 RTSP/RTMP 流,回调编码后的音视频数据到上层,然后调用推送端 SDK 完成 RTMP 数据转发,整个过程支持多路转发、超低延迟和低资源占用,具体可参见转发模块的 demo 示例。

四、播放端 SDK 集成说明

  1. Linux RTSP|RTMP 直播播放 SDK 说明
    • 系统要求:支持 x64_64 架构、aarch64 架构,需要 glibc - 2.21 及以上版本的 Linux 系统等。
    • 准备工作:相关 so 包括 single_playerdemo\libSmartPlayerSDK.so、single_playerdemo\libSmartLog.so,头文件在 playerdemo\single_playerdemo\nt_smart_sdk\linux\include。
    • 编译说明:simpleplayerdemo 是个简单的 demo,可以修改播放 url 后 make 测试,可在后台运行,正常终止后台 demo 可执行 kill - s SIGINT pid,编译时需确保安装了 gcc 和 g++,Linux arm64 编译及运行有相关要求。
    • SDK 调用说明:包括设置 log 路径、播放 SDK 初始化、创建 / 关闭实例、RTMP|RTSP 播放器参数配置、开始 / 停止播放等。
  2. 播放端录像 SDK 说明:包括设置是否录视频、是否录音频、设置本地录像目录、设置单个录像文件最大大小、设置录像文件名生成规则、设置录像回调接口、设置录像时音频转 AAC 编码的开关、启动录像、停止录像等接口。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值