首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

FFmpeg开发笔记(五十三)移动端的国产直播录制工具EasyPusher

编程知识
2024年09月21日 10:42
EasyPusher是一款国产的RTSP直播录制推流客户端工具,它支持Windows、Linux、Android、iOS等操作系统。EasyPusher采用RTSP推流协议,其中安卓版EasyPusher的Github托管地址为https://github.com/EasyDarwin/EasyPusher-Android。

不过EasyPusher有好几年没更新了,尤其安卓版的EasyPusher仍在调用过时的support支持库,而非推出多年的AndroidX库。为了让EasyPusher-Android源码能够在最新的Android Studio上跑起来,需要对下载后的EasyPusher-Android源码进行若干改造。以下的改造内容基于Android Studio Dolphin(小海豚版本),详细的改造步骤说明如下。

1、升级编译的SDK版本

使用Android Studio Dolphin打开下载后的EasyPusher-Android项目,把模块build.gradle里面的compileSdkVersion和targetSdkVersion都从26改为28,因为小海豚版本的Android Studio最低支持到API28。

2、迁移到Androidx

上个步骤修改了模块build.gradle,单击“Sync Now”同步配置变动。等待同步完成,依次选择顶部菜单:Refactor→Migrate to AndroidX,表示把App工程迁移到AndroidX支持库,接着Android Studio就自动把App工程里的support库配置与相关类统统换成AndroidX的相应对象。

3、指定本地NDK的版本号

然后依次选择顶部菜单:Build→Make Project,发现App编译报错“No toolchains found in the NDK toolchains folder for ABI with prefix: arm-linux-androideabi”,这是因为Android Studio没找到合适的NDK版本。解决办法是在配置文件中指定本地NDK的版本号(注意事先在SDK Manager中勾选对应版本的ndk,具体参见《FFmpeg开发实战:从零基础到短视频上线》一书第12章的“12.1.1  搭建Android的NDK开发环境”),打开模块build.gradle,把下面这行

    buildToolsVersion '28.0.3'

改为下面这行

    //buildToolsVersion '28.0.3'
    ndkVersion '21.4.7075529' // 这里的ndkVersion改为自己电脑上的ndk版本号

接着单击“Sync Now”同步配置变动。

4、升级App工程的Gradle版本号

然后依次选择顶部菜单:Build→Make Project,发现App编译报错“java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException”,这是因为EasyPusher-Android默认的Gradle版本太低。解决办法是升级EasyPusher-Android项目的Gradle版本号,先把gradle/wrapper/gradle-wrapper.properties里的distributionUrl值改为下面这个:

https\://services.gradle.org/distributions/gradle-6.7.1-bin.zip

再把项目级别build.gradle里面的节点路径buildscript→dependencies→classpath值改为下面这个:

'com.android.tools.build:gradle:4.2.1'

接着单击“Sync Now”同步配置变动。

5、编译并运行EasyPusher-Android

然后依次选择顶部菜单:Build→Make Project,等待编译通过后依次选择顶部菜单:Run→Run 'app',在调试的真机上即可看到EasyPusher-Android的App界面如下图所示。

点击App界面右下角的设置按钮,打开设置页面如下图所示,注意修改上方编辑框中的服务端推流地址,比如rtsp://124.70.***.***/live/test。

注意,由于EasyPusher仅支持RTSP推流,不支持RTMP等其他推流协议,因此上面只能填写RTSP推流链接。至于服务端的流媒体服务器,可采用ZLMediaKit,有关ZLMediaKit的使用说明详见之前的文章《Linux环境安装ZLMediaKit实现视频推流》。

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

 

From:https://www.cnblogs.com/aqi00/p/18390381
本文地址: http://shuzixingkong.net/article/2174
0评论
提交 加载更多评论
其他文章 Apache-Shiro <=1.2.4 反序列化漏洞 (代码审计)
一、Apache Shiro 简介: Apache Shiro提供了认证、授权、加密和会话管理功能,将复杂的问题隐藏起来,提供清晰直观的API使开发者可以很轻松地开发自己的程序安全代码。并且在实现此目标时无须依赖第三方的框架、容器或服务,当然也能做到与这些环境的整合,使其在任何环境下都可拿来使用。
Apache-Shiro <=1.2.4 反序列化漏洞 (代码审计) Apache-Shiro <=1.2.4 反序列化漏洞 (代码审计) Apache-Shiro <=1.2.4 反序列化漏洞 (代码审计)
Shiro-认证绕过漏洞(CVE-2020-1957)
漏洞原理 核心点就是shiro和spring对uri进行配合匹配的时候有缺陷导致的,shiro中很轻易就能绕过,其次spring中对;分号好像情有独钟,被大牛们发现后也就一下子绕过了。 主流payload:/xxx/..;/admin/ 具体后台路由不一定是admin,得看情况而定,但是下面的分析都
Shiro-认证绕过漏洞(CVE-2020-1957) Shiro-认证绕过漏洞(CVE-2020-1957) Shiro-认证绕过漏洞(CVE-2020-1957)
Shiro-721—漏洞分析(CVE-2019-12422)
目录Padding Oracle Attack 原理PKCS5填充怎么爆破攻击漏洞原理源码分析漏洞复现 本文基于shiro550漏洞基础上分析,建议先看上期内容: https://blog.csdn.net/weixin_60521036/article/details/142373353 Padd
Shiro-721—漏洞分析(CVE-2019-12422) Shiro-721—漏洞分析(CVE-2019-12422) Shiro-721—漏洞分析(CVE-2019-12422)
痞子衡嵌入式:如果i.MXRT离线无法启动,试着分析ROM启动日志
大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是恩智浦i.MXRT系列MCU的ROM启动日志。 关于 i.MX RT 启动问题解决的文章,痞子衡写过非常多,其中大部分都是具体到某一类启动设备下的具体问题分析,比较依赖经验,这些经验当然是非常有用的。此外也有一篇 《启动失败先查看SRC
痞子衡嵌入式:如果i.MXRT离线无法启动,试着分析ROM启动日志 痞子衡嵌入式:如果i.MXRT离线无法启动,试着分析ROM启动日志 痞子衡嵌入式:如果i.MXRT离线无法启动,试着分析ROM启动日志
manim边学边做--空心多边形
空心的多边形Cutout是一种比较特殊的多边形,主要用于解决与形状、大小、位置等相关的数学问题。 Cutout多边形可以定义物体表面的空洞或凹陷部分,从而更准确地模拟现实世界中的复杂形状。 比如,在PCB(印制电路板)设计中,通过放置Cutout空心的多边形,设计师可以精确地控制铜的覆盖区域,从而优
manim边学边做--空心多边形 manim边学边做--空心多边形 manim边学边做--空心多边形
反DDD模式之“复用”
本文书接上回《反DDD模式之关系型数据库》,关注公众号(老肖想当外语大佬)获取信息: 最新文章更新; DDD框架源码(.NET、Java双平台); 加群畅聊,建模分析、技术实现交流; 视频和直播在B站。 背景 在我们软件开发过程中,“复用接口(webapi)”、“复用服务(service)”是非常常
反DDD模式之“复用” 反DDD模式之“复用” 反DDD模式之“复用”
socket close和shutdown的区别,TIME_WAIT和CLOSE_WAIT
TCP主动关闭连接&#160;appl: close(), --&gt; FIN FIN_WAIT_1 //主动关闭socket方,调用close关闭socket,发FIN &lt;-- ACK FIN_WAIT_2 //对方操作系统的TCP层,给ACK响应。然后给FIN &lt;-- FIN --
Nuxt Kit中的 Nitro 处理程序
title: Nuxt Kit中的 Nitro 处理程序 date: 2024/9/21 updated: 2024/9/21 author: cmdragon excerpt: 摘要:本文详细介绍了在Nuxt 3框架中使用Nitro服务器引擎的实践,包括创建处理程序处理HTTP请求、路由和中间件的
Nuxt Kit中的 Nitro 处理程序 Nuxt Kit中的 Nitro 处理程序