首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

由于升级版的RTMP Streamer采取全Kotlin编码,对运行环境与开发者的技能要求都比较高,因此为了方便讲解,这里以标准版的RTMP Streamer为例,介绍如何使用RTMP Streamer...Android Studio就开始自动下载相关组件,并执行gradle同步等操作。...等待RTMP Streamer项目成功加载完毕,查看Android Studio左侧的导航图,可见RTMP Streamer项目由下列五个模块组成:app模块:这是RTMP Streamer的演示界面模块...rtplibrary模块:这是处理RTP协议数据传输的公共库,rtmp模块和rtsp模块都调到了该库。rtsp模块:这是RTMP Streamer处理RTSP协议通信的模块。...有关APP编译和安装的详细步骤参见《Android Studio开发实战:从零基础到App上线(第3版)》一书第2章的“2.1.1  App的运行环境”,这里不再赘述。

30610

Android Studio 4.0 稳定版发布了

在Android Studio 4.0中,已将 desugaring engine 扩展为能够对 Java 语言 API 的语法糖。...要启用对这些语言API的支持,请在模块build.gradle文件中包括以下内容: android { defaultConfig { // Required when setting minSdkVersion...:desugar_jdk_libs:1.0.4' } 3、功能上的依存关系 在早期版本的 Android Gradle 插件中,所有动态功能模块都只能依赖于应用程序的基本模块。...这意味着,当应用程序请求下载动态功能模块时,该应用程序还会下载其依赖的其他功能模块,在之后创建动态功能模块,你可以在模块声明一个功能上特征依赖 build.gradle 文件,例如 :video 模块声明对...=true 更多可见:《Android Gradle 插件 4.0.0 中 Feature-on-Feature 的依赖关系》 4、依赖元数据 使用 Android Gradle 插件 4.0.0 及更高版本构建应用时

4.6K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android 应用构建速度提升的十个小技巧

    首先来了解一下 “Google 追踪圣诞老人” 应用的工程背景: 这个应用有约 60M 大小,它包含 9 个模块,有 500 多个 Java 文件,1,700 多个 XML 文件、3,500 多张 PNG...禁用多 APK 构建不能仅仅在 splits 里设置,因为这里的设置对工程里所有的构建变体都是可见的。...这可以看到全量构建又减少了 9 秒的时间,这也是因为 Google 追踪圣诞老人应用里有 3,500 多张 PNG 图片,这要花费大量的时间进行压缩计算,所以这方面的效率提升显得很明显,而其他增量构建只是维持了之前的情况...从 Android Studio 3.5 版开始 (3.5 版目前在 Beta 构建渠道发布),开发者们可以使用 Apply Changes 功能来提高构建性能,它可以让代码和资源的改动直接生效而无需重启应用...即使您不是特别在意这些性能损耗,但是它仍然是有风险的——依赖库的版本更新会让您的构建充满不确定性,可能两周之后您就在构建一个完全不一样的工程了,因为依赖库代码的更新对开发者们是不可见的。

    95730

    FFmpeg开发笔记(六十)使用国产的ijkplayer播放器观看网络视频

    之前的文章《Linux编译ijkplayer的Android平台so库》介绍了如何编译获得App工程所需ijkplayer的so文件,接下来还要把官方的案例工程导入到新版的Android Studio,...这里以Android Studio Dolphin(小海豚版本)为例,介绍如何在App工程中导入并使用ijkplayer库,详细的操作步骤如下。...21”3、单独打开ijkplayer-example模块的build.gradle,先把productFlavors和几行all32Compile与all64Compile统统注释掉,再把下面的导包配置...的Android平台so库》编译出来的三个so文件放到ijkplayer-example模块的src/main/jniLibs/arm64-v8a目录下,这样Android Studio会在编译时自动加载这里的...可见通过ijkplayer成功在案例App上观看网络直播地址。更多详细的FFmpeg开发知识参见《FFmpeg开发实战:从零基础到短视频上线》一书。

    21710

    Android Studio 4.0重磅发布:全新的 Motion 编辑器及众多更新都在这里!

    部署到运行 API 29 或更高版本的设备还能获得其他特性,例如动态布局层次结构(随视图更改而更新)、详细的视图属性(还可以帮助你确定资源值是如何解析的)以及正在运行的应用 UI 的 3D 模型。...构建 Android Gradle 插件 4.0.0 使用 Java8 语言 API(无论你的应用的最低 API 级别如何)对 Android Studio 的 Bulid Analyzer 提供支持...功能上的依存关系 使用 Android Gradle 插件 4.0.0 及更高版本时,你现在可以指定一个动态功能模块依赖于另一个功能模块。...更多信息参考: http://d.android.com/studio/releases#4-0-0-feature-plugin 启用或禁用构建功能的新选项 Android Gradle 插件具有对很多现代库...依赖项元数据 使用 Android Gradle 插件 4.0.0 及更高版本构建应用时,插件会包含描述已编译到你应用中的库依赖项的元数据。

    4.7K30

    【译】Android Gradle 插件 4.0.0 中 Feature-on-Feature 的依赖关系

    -4-0-0-5828915d02d3 随着 Android Studio 4.0 稳定版的发布,有人对于 Feature-on-Feature Dependencies 的作用提出了疑问,表示不理解...,通过本篇将介绍它在 Android Studio 4.0 新版本中的作用。...在 Android Gradle Plugin 4.0.0 中,动态功能现在可以依赖于其他动态功能,当你的应用程序下载动态功能时,它还会下载它依赖的所有动态功能。...其中 :video-list 和 :video-player 依赖于一个共同的库 :video-data,如下图所示可能是你会使用的 Gradle 依赖项: 具有3个动态功能的示例项目,其中2个依赖于相同的库模块...,这意味着您可以使用 DFM 中基本模块及其库中定义的任何类,但是在编译时不能从 base application 中引用 DFM 中定义的任何代码。

    1.5K20

    安卓入门-熟悉Android Studio以及创建第一个安卓模块

    build.gradle配置文件 工程根目录存在一个build.gradle配置,用于对整个工程的配置(仓库,插件) 每个模块(module)内有一个build.gradle文件,对应该模块纬度的相关编译配置...这两个文件对构建Android Studio项目都起到了至关重要的作用,下面我们就来对这两个文件中的内容进行详细的分析。...dependencies闭包:这个闭包的功能非常强大,它可以指定当前项目所有的依赖关系。通常Android Studio项目一共有3种依赖方式:本地依赖、库依赖和远程依赖。...需要注意的是,通过Android Studio直接运行项目生成的都是测试版安装文件,关于如何生成正式版安装文件我们将会在第15章中学习。...,用于和其他公司的库做区分;appcompat-v7 是组名称,用于和同一个公司中不同的库做区分;24.2.1是版本号,用于和同一个库不同的版本做区分。

    2K30

    Android Studio 4.0 重磅发布!Android 11 Bata 版来了!

    在 Android Studio 4.0 中,新的 Motion Editor 让这个 API 用起来更方便。它提供了用于创建、编辑和预览 MotionLayout 动画的强大界面。...部署到运行 API 29 或更高版本的设备还能获得其他特性,例如动态布局层次结构(随视图更改而更新)、详细的视图属性(还可以帮助你确定资源值是如何解析的)以及正在运行的应用 UI 的 3D 模型。...构建 Android Gradle 插件 4.0.0 使用 Java8 语言 API(无论你的应用的最低 API 级别如何)对 Android Studio 的 Bulid Analyzer 提供支持...更多信息参考: http://d.android.com/studio/releases#4-0-0-feature-plugin 启用或禁用构建功能的新选项 Android Gradle 插件具有对很多现代库...依赖项元数据 使用 Android Gradle 插件 4.0.0 及更高版本构建应用时,插件会包含描述已编译到你应用中的库依赖项的元数据。

    2.6K20

    Android 应用构建速度提升的十个小技巧

    如果您是通过 Android Studio 的运行/调试按钮来执行构建,那么无需考虑这个问题,新版本的 Android Studio 会自动检测连接的设备和模拟器,如果系统的 API 级别大于 21 则进行原生的...禁用多 APK 构建不能仅仅在 splits 里设置,因为这里的设置对工程里所有的构建变体都是可见的。...这可以看到全量构建又减少了 9 秒的时间,这也是因为 Google 追踪圣诞老人应用里有 3,500 多张 PNG 图片,这要花费大量的时间进行压缩计算,所以这方面的效率提升显得很明显,而其他增量构建只是维持了之前的情况...从 Android Studio 3.5 版开始 (3.5 版目前在 Beta 构建渠道发布),开发者们可以使用 Apply Changes 功能来提高构建性能,它可以让代码和资源的改动直接生效而无需重启应用...即使您不是特别在意这些性能损耗,但是它仍然是有风险的——依赖库的版本更新会让您的构建充满不确定性,可能两周之后您就在构建一个完全不一样的工程了,因为依赖库代码的更新对开发者们是不可见的。

    93230

    Android Studio 4.0 正式版发布

    全新的 Layout Inspector 就可以帮您轻松做到。它提供的数据会与正在运行的应用完全同步,更会让您对各个资源在应用中如何排布和计算一览无余,使得 UI 调试变得更加简单直观。...功能模块层级的依赖关系 image.png 在使用 Android Gradle 插件 4.0.0 及以上版本时,您可以指定一个动态功能模块依赖于另一个功能模块。...新的构建功能开关选项 Android Gradle 插件内置了对现代代码库 (如数据绑定和视图绑定) 和构建功能 (如自动生成 BuildConfig 类) 的支持。...Android Gradle 插件 DSL 对 Kotlin DSL 脚本文件的基础支持 Android Studio 4.0 现在已经内置了对 Kotlin DSL 构建脚本文件 (*.kts) 的支持...依赖元数据 在使用 Android Gradle 插件 4.0.0 及以上版本构建应用时,插件中会包含描述编译到您的应用中的库依赖关系的元数据。

    3.4K31

    FFmpeg开发笔记(五十六)使用Media3的Exoplayer播放网络视频

    ​Android早期的MediaPlayer控件对于网络视频的兼容性很差,所以后来单独推出了Exoplayer库增强支持网络视频,在《Android Studio开发实战:从零基础到App上线(第3版)...1、开发工具要选用Android Studio Jellyfish(小水母版本)或更高版本。2、Gradle版本不低于8.6。...3、App模块的build.gradle里面compileSdk和targetSdk要升级到34或者更高版本。...一、修改模块的build.gradle在build.gradle的dependencies节点内部补充下面的导包语句,把ExoPlayer用到的相关库都加进来。...可见成功把Media3的ExoPlayer库跑了起来,并且正常播放网络视频。更多详细的FFmpeg开发知识参见《FFmpeg开发实战:从零基础到短视频上线》一书。​

    44710

    Gradle 与 AGP 构建 API: 配置您的构建文件

    通过了解构建阶段的工作原理及配置 Android Gradle plugin 的配置方法,可以帮您基于项目的需求自定义构建。让我们回到 Android Studio,一起看看构建系统是如何工作的吧。...在多项目层级结构中,根项目中会包含一个 settings.gradle 文件,其中列出了构建中包含的其他项目。Android 使用多项目构建来帮您模块化应用。...无论当前的 Android 项目是应用还是依赖库,Android Gradle 插件都知道如何对其进行构建和打包。...这两个插件分别定义了如何配置和构建 Android 应用和依赖库。在本例中,我要构建的是 Android 应用项目,所以我需要应用 com.android.application 插件。...Gradle 与 Android Gradle Plugin 有许多可以让您自定义构建的功能。

    1.7K20

    Android Studio Gradle文件解释其作用

    Android sutdio打开一个工程一直卡在Background Tasks怎么办? 2. 手动配置Gradle Home后,怎么还是提示错误? 3....Gradle可以自动化构建、测试、发布、部署以及更多的软件包或其他类型的项目,如生成的静态网站、生成的文档或其他任何东西。...*/ buildTypes { /** * 默认情况下,Android Studio 对release编译类型进行了配置, * minifyEnabled减少应用的体积...Android Studio IDE Gardle 配置 Use default gradle wrapper(recommended): 是否让gradle-wrapper.jar根据gradle-wrapper.properties...问题3 只是配置了gradle,gradle只是构建工具。第三方依赖的库就是通过gradle从远程依赖库中下载的,若下载库时间长,应该是本地网速不好导致。

    9810

    Android Studio 4.2 现已发布!

    △ Safe Args 支持 新项目向导和模块向导更新 - 在此版本中,为了更易于发现 Android 设备类型,我们对新项目向导的视觉效果做出新的设计,同时还向每个模板添加了 ViewBinding。...此外,我们对新模块向导的视觉效果也有更新,让您更轻松地了解可以添加到应用的各种模块类型。...△ 新项目向导和新模块向导 调试 Database Inspector (数据库检查器) 改进 - 通过 Database Inspector,您可以更轻松地管理和监控您的应用内数据库。...在此版本中,我们做出了一些新的优化。新增了离线模式,这样您在进程中断后仍可以保持对应用数据库的检查,更易于在应用崩溃后对其做出诊断。同时我们也添加了一项便捷的查询历史记录选项。...其次,我们已将默认的 Java 编程语言更新为版本 8。最后,我们为 APK v3 和 APK v4 签名格式添加了支持。您可以查看 相关文档 详细了解其他 AGP 更新。

    1.6K20

    FFmpeg开发笔记(四十五)使用SRT Streamer开启APP直播推流

    一、下载SRT StreamerSRT Streamer采取全Kotlin编码,需要在Android Studio Jellyfish(小水母版本)上编译运行,并且依赖最新的JDK17,对运行环境与开发者的技能要求都比较高...Android Studio就开始自动下载相关组件,并执行gradle同步等操作。...等待SRT Streamer项目成功加载完毕,查看Android Studio左侧的导航图,可见SRT Streamer项目由下列五个模块组成:core模块:这是SRT Streamer给音频流和视频流分别编码的模块...有关APP编译和安装的详细步骤参见《Android Studio开发实战:从零基础到App上线(第3版)》一书第2章的“2.1.1  App的运行环境”,这里不再赘述。...3、SRT Server区域的Port字段:填流媒体服务器对SRT协议的开放端口。比如SRS默认的SRT端口号为10080,ZLMediaKit默认的SRT端口号为9000。

    17710

    笔记——Gradle入门(十三)

    ——》个人平时笔记,看到的同学欢迎指正错误,文中多处摘录于各大博主精华、书籍 1、在现在的Android开发工具Android Studio中有几个Gradle文件,什么是Gradle,Gradle简单的说就是新一代的自动化构建工具...而自 Google 推出 Android Studio 以来,就宣布默认使用 Gradle 来作为构建工具,并且之后放弃更新 ADT ,从此 Gradle 走入 Android 开发者的视野,而且Gradle...如果我们的工程中没有gradle,AndroidStudio会根据这个url去下载对应版本的gradle 3、implementation、api、compile区别: api和compile关键字作用效果是一样的...api或compile在moudle模式开发中,添加的依赖库对外是可见的。...implementation添加的依赖库是私有的,对外是不可见的,所有间接依赖于模块A的module都不能访问模块A中implementation所添加的依赖库。

    69530

    从HelloWorld开始了解Android

    6.详解build.gradle文件 我们之前看到最外层有一个build.gradle文件,app目录下有一个,这两个文件对构建Android Studio项目都起到了至关重要的作用。...应用程序模块和库模块的最大区别在于,一个是可以直接运行的,一个只能作为代码库依附于别的应用程序模块来运行。...通常Android Studio 项目中一共有3种依赖方式:本地依赖、库依赖和远程依赖。...本地依赖可以对本地的jar包或者目录添加依赖关系,库依赖可以对项目中的库模块添加依赖关系,远程依赖可以对jcenter库上的开源项目添加依赖关系。...用于和其他公司的库做区分;appcompat-v7是组名称,用于和同一个公司中不同的库做区分;24.2.1是版本号,用于和同一个库不同的版本做区分。

    1.1K40
    领券