exoplayer与ffmpeg_在MacOS上编译ExoPlayer的FFmpeg扩展

2023-10-19 19:40

本文主要是介绍exoplayer与ffmpeg_在MacOS上编译ExoPlayer的FFmpeg扩展,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

没有前言 就是视频没声音 然后ExoPlayer音频可以FFmpeg扩展

1.git源码

git clone https://github.com/google/ExoPlayer.git

EXOPLAYER_ROOT="$(pwd)"

FFMPEG_EXT_PATH="${EXOPLAYER_ROOT}/extensions/ffmpeg/src/main"

HOST_PLATFORM="darwin-x86_64"

NDK_PATH=/Users/nlj/android-ndk-r15c #这里填你解压出来的地址

COMMON_OPTIONS="\

--target-os=android \

--disable-static \

--enable-shared \

--disable-doc \

--disable-programs \

--disable-everything \

--disable-avdevice \

--disable-avformat \

--disable-swscale \

--disable-postproc \

--disable-avfilter \

--disable-symver \

--disable-swresample \

--enable-avresample \

--enable-decoder=vorbis \

--enable-decoder=opus \

--enable-decoder=flac \

--enable-decoder=alac \

--enable-decoder=pcm_mulaw \

--enable-decoder=pcm_alaw \

--enable-decoder=mp3 \

--enable-decoder=amrnb \

--enable-decoder=amrwb \

--enable-decoder=aac \

--enable-decoder=ac3 \

--enable-decoder=eac3 \

--enable-decoder=dca \

--enable-decoder=mlp \

--enable-decoder=truehd \

" && \

cd "${FFMPEG_EXT_PATH}/jni" && \

(git -C ffmpeg pull || git clone git://source.ffmpeg.org/ffmpeg ffmpeg) && \

cd ffmpeg && git checkout release/4.0 && \

./configure \

--libdir=android-libs/armeabi-v7a \

--arch=arm \

--cpu=armv7-a \

--cross-prefix="${NDK_PATH}/toolchains/arm-linux-androideabi-4.9/prebuilt/${HOST_PLATFORM}/bin/arm-linux-androideabi-" \

--sysroot="${NDK_PATH}/platforms/android-9/arch-arm/" \

--extra-cflags="-march=armv7-a -mfloat-abi=softfp" \

--extra-ldflags="-Wl,--fix-cortex-a8" \

--extra-ldexeflags=-pie \

${COMMON_OPTIONS} \

&& \

make -j4 && make install-libs && \

make clean && ./configure \

--libdir=android-libs/arm64-v8a \

--arch=aarch64 \

--cpu=armv8-a \

--cross-prefix="${NDK_PATH}/toolchains/aarch64-linux-android-4.9/prebuilt/${HOST_PLATFORM}/bin/aarch64-linux-android-" \

--sysroot="${NDK_PATH}/platforms/android-21/arch-arm64/" \

--extra-ldexeflags=-pie \

${COMMON_OPTIONS} \

&& \

make -j4 && make install-libs && \

make clean && ./configure \

--libdir=android-libs/x86 \

--arch=x86 \

--cpu=i686 \

--cross-prefix="${NDK_PATH}/toolchains/x86-4.9/prebuilt/${HOST_PLATFORM}/bin/i686-linux-android-" \

--sysroot="${NDK_PATH}/platforms/android-9/arch-x86/" \

--extra-ldexeflags=-pie \

--disable-asm \

${COMMON_OPTIONS} \

&& \

make -j4 && make install-libs && \

make clean

cd "${FFMPEG_EXT_PATH}"/jni && \

${NDK_PATH}/ndk-build APP_ABI="armeabi-v7a arm64-v8a x86" -j4

写好了请把它放到源码根目录

像这样:

a8a05bc35c40

脚本位置

4.运行脚本

打开你的终端把脚本拖过去然后回车

不出意外你会看到这个

a8a05bc35c40

成功结果好了编译完了

出意外的你可以看看这些教程:

用法

别问,问就是不知道!!!略略略

好吧瞎说的

第一步: 取编译好的so文件

‎⁨MacOS10.14.5⁩ ▸ ⁨用户⁩ ▸ ⁨nlj⁩ ▸ ⁨ExoPlayer⁩ ▸ ⁨extensions⁩ ▸ ⁨ffmpeg⁩ ▸ ⁨src⁩ ▸ ⁨main⁩

这个目录下有个文件夹叫libs 里面有不同架构的so文件 (不懂的去百度)

第二步:取Java文件

还是这个目录下有个java文件夹,点到底里面有4个类

把它放到这里

a8a05bc35c40

快速方法记得修复他们报的错

第三步:

a8a05bc35c40

官方教程

意思就是这样

a8a05bc35c40

ExoPlayerFactory.newSimpleInstance用法

别问什么意思 问就是你自己理解吧

好了这就完事了

如果你想喷我为什么不生成aar包,抱歉我嫌麻烦

这篇关于exoplayer与ffmpeg_在MacOS上编译ExoPlayer的FFmpeg扩展的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

苹果macOS 26 Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色

《苹果macOS26Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色》在整体系统设计方面,macOS26采用了全新的玻璃质感视觉风格,应用于Dock栏、应用图标以及桌面小部件等多个界面... 科技媒体 MACRumors 昨日(6 月 13 日)发布博文,报道称在 macOS 26 Tahoe 中

Spring组件实例化扩展点之InstantiationAwareBeanPostProcessor使用场景解析

《Spring组件实例化扩展点之InstantiationAwareBeanPostProcessor使用场景解析》InstantiationAwareBeanPostProcessor是Spring... 目录一、什么是InstantiationAwareBeanPostProcessor?二、核心方法解

Macos创建python虚拟环境的详细步骤教学

《Macos创建python虚拟环境的详细步骤教学》在macOS上创建Python虚拟环境主要通过Python内置的venv模块实现,也可使用第三方工具如virtualenv,下面小编来和大家简单聊聊... 目录一、使用 python 内置 venv 模块(推荐)二、使用 virtualenv(兼容旧版 P

Python使用FFmpeg实现高效音频格式转换工具

《Python使用FFmpeg实现高效音频格式转换工具》在数字音频处理领域,音频格式转换是一项基础但至关重要的功能,本文主要为大家介绍了Python如何使用FFmpeg实现强大功能的图形化音频转换工具... 目录概述功能详解软件效果展示主界面布局转换过程截图完成提示开发步骤详解1. 环境准备2. 项目功能结

SpringBoot使用ffmpeg实现视频压缩

《SpringBoot使用ffmpeg实现视频压缩》FFmpeg是一个开源的跨平台多媒体处理工具集,用于录制,转换,编辑和流式传输音频和视频,本文将使用ffmpeg实现视频压缩功能,有需要的可以参考... 目录核心功能1.格式转换2.编解码3.音视频处理4.流媒体支持5.滤镜(Filter)安装配置linu

macOS Sequoia 15.5 发布: 改进邮件和屏幕使用时间功能

《macOSSequoia15.5发布:改进邮件和屏幕使用时间功能》经过常规Beta测试后,新的macOSSequoia15.5现已公开发布,但重要的新功能将被保留到WWDC和... MACOS Sequoia 15.5 正式发布!本次更新为 Mac 用户带来了一系列功能强化、错误修复和安全性提升,进一步增

Android NDK版本迭代与FFmpeg交叉编译完全指南

《AndroidNDK版本迭代与FFmpeg交叉编译完全指南》在Android开发中,使用NDK进行原生代码开发是一项常见需求,特别是当我们需要集成FFmpeg这样的多媒体处理库时,本文将深入分析A... 目录一、android NDK版本迭代分界线二、FFmpeg交叉编译关键注意事项三、完整编译脚本示例四

idea maven编译报错Java heap space的解决方法

《ideamaven编译报错Javaheapspace的解决方法》这篇文章主要为大家详细介绍了ideamaven编译报错Javaheapspace的相关解决方法,文中的示例代码讲解详细,感兴趣的... 目录1.增加 Maven 编译的堆内存2. 增加 IntelliJ IDEA 的堆内存3. 优化 Mave

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优