FFmpeg开发笔记(三十一)使用RTMP Streamer开启APP直播推流

本文主要是介绍FFmpeg开发笔记(三十一)使用RTMP Streamer开启APP直播推流,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

RTMP Streamer是一个安卓手机端的开源RTMP直播推流框架,可用于RTMP直播和RTSP直播,其升级版还支持SRT直播(腾讯视频云就采用SRT协议)。RTMP Streamer支持的视频编码包括H264、H265、AV1等等,支持的音频编码包括AAC、G711、OPUS等等,可谓功能强大的APP直播框架。

由于升级版的RTMP Streamer采取全Kotlin编码,对运行环境与开发者的技能要求都比较高,因此为了方便讲解,这里以标准版的RTMP Streamer为例,介绍如何使用RTMP Streamer开启手机的APP直播推流。

一、下载RTMP Streamer

由于最新版的RTMP Streamer被升级得面目全非,难以为国内开发者使用,并且RTMP Streamer升级之后,原本在Github上托管的旧代码也不翼而飞,不知是不是老外对我们封锁高科技。因此博主寻寻觅觅,花了好长时间才找到合适版本的RTMP Streamer源码,如果大家需要这套源码,可在京东自营购买《FFmpeg开发实战:从零基础到短视频上线》一书,并发表好评后加群 797800120 ,联系群主获取RTMP Streamer源码。
博主找到的RTMP Streamer源码采用Java编写,非Kotlin编写,可使用小海豚版本的AS打开。所以需要先安装小海豚版本的AS,也就是Android Studio Dolphin,该版本AS的下载地址为 https://redirector.gvt1.com/edgedl/android/studio/install/2021.3.1.16/android-studio-2021.3.1.16-windows.exe 。

二、加载RTMP Streamer

下载的RTMP Streamer源码是个完整的AS项目,启动小海豚版本的Android Studio,依次选择菜单:File→Open,在弹出的文件对话框中选择解压后的RTMP Streamer源码目录。Android Studio就开始自动下载相关组件,并执行gradle同步等操作。为了加快RTMP Streamer项目的加载速度,可打开项目级别的build.gradle,在repositories节点内部补充以下配置:

// 以下四行添加阿里云的仓库地址,方便国内开发者下载相关插件
maven { url 'https://maven.aliyun.com/repository/jcenter' }
maven { url 'https://maven.aliyun.com/repository/google'}
maven { url 'https://maven.aliyun.com/repository/gradle-plugin'}
maven { url 'https://maven.aliyun.com/repository/public'}
// 以下添加华为的仓库地址
maven { url 'https://developer.huawei.com/repo/'}

增加以上配置的目的是引入国内的仓库地址,以便加快相关依赖包的下载速度。
等待RTMP Streamer项目成功加载完毕,查看Android Studio左侧的导航图,可见RTMP Streamer项目由下列五个模块组成:
app模块:这是RTMP Streamer的演示界面模块,也是APP工程的主入口。
encoder模块:这是RTMP Streamer给音频流和视频流分别编码的模块。
rtmp模块:这是RTMP Streamer处理RTMP协议通信的模块。
rtplibrary模块:这是处理RTP协议数据传输的公共库,rtmp模块和rtsp模块都调到了该库。
rtsp模块:这是RTMP Streamer处理RTSP协议通信的模块。

三、启动RTMP Streamer

Android Studio成功加载RTMP Streamer之后,即可在手机上安装RTMP Streamer的演示APP了。有关APP编译和安装的详细步骤参见《Android Studio开发实战:从零基础到App上线(第3版)》一书第2章的“2.1.1  App的运行环境”,这里不再赘述。
RTMP Streamer的演示APP在手机上安装完毕,启动后的初始界面是下面这样的。

可见RTMP Streamer提供了丰富多样的直播形式,既可以通过手机摄像头直播,还能把手机上的视频文件分享直播,还能对手机的屏幕操作进行直播。具体的直播协议又包括RTMP和RTSP两种,可以满足绝大多数场景的直播需求,而且RTMP Streamer是个开源软件,提供了完整的APP直播录制全套代码,非常适合开发者学习和研究。

更多详细的FFmpeg开发知识参见《FFmpeg开发实战:从零基础到短视频上线》一书。

这篇关于FFmpeg开发笔记(三十一)使用RTMP Streamer开启APP直播推流的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1007084

相关文章

基于Python开发Windows屏幕控制工具

《基于Python开发Windows屏幕控制工具》在数字化办公时代,屏幕管理已成为提升工作效率和保护眼睛健康的重要环节,本文将分享一个基于Python和PySide6开发的Windows屏幕控制工具,... 目录概述功能亮点界面展示实现步骤详解1. 环境准备2. 亮度控制模块3. 息屏功能实现4. 息屏时间

基于Linux的ffmpeg python的关键帧抽取

《基于Linux的ffmpegpython的关键帧抽取》本文主要介绍了基于Linux的ffmpegpython的关键帧抽取,实现以按帧或时间间隔抽取关键帧,文中通过示例代码介绍的非常详细,对大家的学... 目录1.FFmpeg的环境配置1) 创建一个虚拟环境envjavascript2) ffmpeg-py

python使用库爬取m3u8文件的示例

《python使用库爬取m3u8文件的示例》本文主要介绍了python使用库爬取m3u8文件的示例,可以使用requests、m3u8、ffmpeg等库,实现获取、解析、下载视频片段并合并等步骤,具有... 目录一、准备工作二、获取m3u8文件内容三、解析m3u8文件四、下载视频片段五、合并视频片段六、错误

gitlab安装及邮箱配置和常用使用方式

《gitlab安装及邮箱配置和常用使用方式》:本文主要介绍gitlab安装及邮箱配置和常用使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装GitLab2.配置GitLab邮件服务3.GitLab的账号注册邮箱验证及其分组4.gitlab分支和标签的

SpringBoot3应用中集成和使用Spring Retry的实践记录

《SpringBoot3应用中集成和使用SpringRetry的实践记录》SpringRetry为SpringBoot3提供重试机制,支持注解和编程式两种方式,可配置重试策略与监听器,适用于临时性故... 目录1. 简介2. 环境准备3. 使用方式3.1 注解方式 基础使用自定义重试策略失败恢复机制注意事项

nginx启动命令和默认配置文件的使用

《nginx启动命令和默认配置文件的使用》:本文主要介绍nginx启动命令和默认配置文件的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录常见命令nginx.conf配置文件location匹配规则图片服务器总结常见命令# 默认配置文件启动./nginx

在Windows上使用qemu安装ubuntu24.04服务器的详细指南

《在Windows上使用qemu安装ubuntu24.04服务器的详细指南》本文介绍了在Windows上使用QEMU安装Ubuntu24.04的全流程:安装QEMU、准备ISO镜像、创建虚拟磁盘、配置... 目录1. 安装QEMU环境2. 准备Ubuntu 24.04镜像3. 启动QEMU安装Ubuntu4

使用Python和OpenCV库实现实时颜色识别系统

《使用Python和OpenCV库实现实时颜色识别系统》:本文主要介绍使用Python和OpenCV库实现的实时颜色识别系统,这个系统能够通过摄像头捕捉视频流,并在视频中指定区域内识别主要颜色(红... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间详解

Windows下C++使用SQLitede的操作过程

《Windows下C++使用SQLitede的操作过程》本文介绍了Windows下C++使用SQLite的安装配置、CppSQLite库封装优势、核心功能(如数据库连接、事务管理)、跨平台支持及性能优... 目录Windows下C++使用SQLite1、安装2、代码示例CppSQLite:C++轻松操作SQ

Python常用命令提示符使用方法详解

《Python常用命令提示符使用方法详解》在学习python的过程中,我们需要用到命令提示符(CMD)进行环境的配置,:本文主要介绍Python常用命令提示符使用方法的相关资料,文中通过代码介绍的... 目录一、python环境基础命令【Windows】1、检查Python是否安装2、 查看Python的安