国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

ExoPlayer(AndroidX Media3) 擴展ffmpeg實現(xiàn)音頻軟解碼

這篇具有很好參考價值的文章主要介紹了ExoPlayer(AndroidX Media3) 擴展ffmpeg實現(xiàn)音頻軟解碼。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

環(huán)境準備:

1.Ubuntu 20.04.4 LTS
2.AndroidNDK版本r26C
3.AndroidStudio 2023.1.1(配置好SDK和JDK 17.0.10)
4.ffmpeg6.0源碼
5.ExoPlayer源碼,AndroidX Media release分支版本

操作步驟:

1.下載Exoplayer源碼

目前官方已廢棄Exopler2,代碼已經遷移到AndroidX Media,下載完成設置FFMPEG_MODULE_PATH變量
1.git clone https://github.com/androidx/media
2.cd media && FFMPEG_MODULE_PATH="$(pwd)/libraries/decoder_ffmpeg/src/main"
media3 ffmpeg aar,androidx,ffmpeg,音視頻

2.下載NDK

官網下載NDK或者通過SDKManager安裝
media3 ffmpeg aar,androidx,ffmpeg,音視頻
下載完成后解壓,設置NDK_PATH變量
1.unzip android-ndk-r26c-linux.zip
2.cd android-ndk-r26c && NDK_PATH="$(pwd)"
media3 ffmpeg aar,androidx,ffmpeg,音視頻

3.設置編譯平臺

Lunux為

HOST_PLATFORM="linux-x86_64"

MacOX為

HOST_PLATFORM="darwin-x86_64"

4.設置最小支持Android版本

通常為項目設置的minSDK版本,NDKr26最小支持SDK為21
ANDROID_ABI=23

5.下載ffmpeg源碼

下載源碼并設置FFMPEG_PATH變量
git clone git://source.ffmpeg.org/ffmpeg && \ cd ffmpeg && \ git checkout release/6.0 && \ FFMPEG_PATH="$(pwd)"
media3 ffmpeg aar,androidx,ffmpeg,音視頻

6.配置解碼器格式

根據自己需要解碼的格式設置,具體支持的解碼格式參考官網
ENABLED_DECODERS=(aac ac3 mp3 flac)
media3 ffmpeg aar,androidx,ffmpeg,音視頻

7.關聯(lián)ffmpeg源碼

將ExoPlayer源碼中ffmpeg模塊jni與ffmpeg源碼關聯(lián),關聯(lián)成功后會在jni目錄中生成一個快捷方式指向ffmpeg源碼目錄
1.cd "${FFMPEG_MODULE_PATH}/jni"
2.ln -s "$FFMPEG_PATH" ffmpeg
media3 ffmpeg aar,androidx,ffmpeg,音視頻

8.編譯ffmpeg

編譯成功后,會在ffmepg目錄下生成一個android-libs目錄
./build_ffmpeg.sh \ "${FFMPEG_MODULE_PATH}" "${NDK_PATH}" "${HOST_PLATFORM}" "${ANDROID_ABI}" "${ENABLED_DECODERS[@]}"
media3 ffmpeg aar,androidx,ffmpeg,音視頻

9.編譯生成Android項目依賴的aar包

退回到ExoPlayer項目工程目錄執(zhí)行,編譯成功后會在\libraries\decoder_ffmpeg\buildout\outputs\aar\目錄生成aar包
./gradlew lib-decoder-ffmpeg:assembleRelease
media3 ffmpeg aar,androidx,ffmpeg,音視頻

10.項目使用

復制生成的aar包到項目libs目錄,修改app下的build.gradle文件,引用aar包
implementation(files("libs/extension-ffmpeg-release.aar"))
自定義DefaultRenderersFactory,構造ExoPlayer實例時傳入,日志中有ffmpeg相關信息代表加載成功。

media3 ffmpeg aar,androidx,ffmpeg,音視頻

media3 ffmpeg aar,androidx,ffmpeg,音視頻

11.常見問題

1.shell變量屬于臨時設置,只在當前窗口生效,新打開命令窗口后需要重新設置,運行build_ffmpeg.sh腳本時會打印相關變量信息,注意查看是否正確。
media3 ffmpeg aar,androidx,ffmpeg,音視頻
2.編譯ffmpeg源碼和生成aar時NDK最好保持一致,否則生成aar包時可能報錯。
3.編譯時下載Gradle和同步Maven庫很慢或超時可以設置國內鏡像源,參考AndroidStudio配置騰訊鏡像地址
4.教程參考官方開發(fā)者指南README.md。文章來源地址http://www.zghlxwxcb.cn/news/detail-848794.html

到了這里,關于ExoPlayer(AndroidX Media3) 擴展ffmpeg實現(xiàn)音頻軟解碼的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Media3:Android下一代媒體框架

    Media3:Android下一代媒體框架

    無論您是在構建音樂播放器、視頻流應用程序還是其他需要播放媒體內容的 Android 應用程序,擁有可靠的媒體播放庫都是必不可少的。 這就是 Media3 發(fā)揮作用的地方。 Media3 是由 Google 作為 AndroidX 的一部分推出的強大媒體播放庫。它提供了一個易于使用的 API,簡化了 Android 應

    2024年02月16日
    瀏覽(18)
  • 在Jetpack Compose中使用ExoPlayer實現(xiàn)直播流和音頻均衡器

    在Jetpack Compose中使用ExoPlayer實現(xiàn)直播流和音頻均衡器

    ExoPlayer與Media3的能力結合,為Android應用程序播放多媒體內容提供了強大的解決方案。在本教程中,我們將介紹如何設置帶有Media3的ExoPlayer來支持使用M3U8 URL進行直播流。此外,我們還將探討如何集成音頻均衡器,為用戶提供個性化的音頻體驗。 使用ExoPlayer進行直播流涉及到利

    2024年02月04日
    瀏覽(20)
  • 【干貨】Android系統(tǒng)定制基礎篇:第六部分-Android擴展服務-AndroidX

    AndroidX 做為一個后臺 Service 應用,開機自動運行,配合系統(tǒng)做一些定制化功能,并且對外提供 API。 主要功能: ● 硬件看門狗代理 ● USB Host/Device 切換 ● 4G 網絡?;?● 系統(tǒng)日志寫入文件 ● 鍵值攔截 ● 啟用應用 項目地址:https://github.com/aystshen/AndroidX 硬件看門狗代理主要

    2024年02月09日
    瀏覽(23)
  • 使用ffmpeg實現(xiàn)音頻靜音修剪

    使用ffmpeg實現(xiàn)音頻靜音修剪

    本文主要介紹在? FFmpeg ?命令中使用? silenceremove ?filter 進行音頻靜音的修剪。 參數(shù)名 說明 取值范圍 默認值 start_periods 設置是否應在音頻開頭修剪音頻。 0 ?表示不應從一開始就修剪靜音。當指定一個 非 ? 0 ?值時,它會修剪音頻直到找到非靜音。通常,當從音頻的開頭修

    2024年02月01日
    瀏覽(18)
  • python加上ffmpeg實現(xiàn)音頻分割

    python加上ffmpeg實現(xiàn)音頻分割

    前言: 這是一個系列的文章,主要是使用python加上ffmpeg來對音視頻文件進行處理,包括音頻播放、音頻格式轉換、音頻文件分割、視頻播放等。 系列文章鏈接: 鏈接1: python使用ffmpeg來制作音頻格式轉換工具(優(yōu)化版) 鏈接2:<Python>PyQt5+ffmpeg,簡單視頻播放器的編寫(解

    2024年02月04日
    瀏覽(22)
  • FFmpeg代碼實現(xiàn)抽取音頻、視頻數(shù)據

    FFmpeg代碼實現(xiàn)抽取音頻、視頻數(shù)據

    今天開始擼代碼,首先使用FFmpeg的API抽取一個MP4文件的音頻數(shù)據。 應該是第一次在Mac上做C/C++開發(fā),糾結過后選擇使用CLion 開發(fā)。CLion是 JetBrains下專門用來開發(fā)C/C++的IDE,已經用習慣了Android studio和IntelliJ IDEA ,所以CLion用起來還是很順手的。 在新建一個C項目后,需要把FFmpe

    2024年02月08日
    瀏覽(18)
  • 使用ffmpeg實現(xiàn)給音頻,視頻添加水印的操作

    使用ffmpeg實現(xiàn)給音頻,視頻添加水印的操作

    本文主要針對ffmpeg進行整理,從而解決在現(xiàn)實中可能存在的問題。 這里參考的是 Java后臺用ffmpeg命令給視頻添加水印 - ^身后有尾巴^ - 博客園 (cnblogs.com) 1:先去ffmpeg官網下載其壓縮包??Download FFmpeg 下載,解壓到指定位置? 2.將壓縮包拷貝到你想的任意位置并解壓,正常解壓出

    2023年04月08日
    瀏覽(21)
  • Linux簡單安裝ffmpeg 實現(xiàn)用PHP壓縮音頻

    Linux簡單安裝ffmpeg 實現(xiàn)用PHP壓縮音頻

    一、下載安裝 1、官方下載地址:Download FFmpeg 2、下載完上傳到服務器然 然后解壓就算安裝完成了 3、然后配置一下全局變量(當然也可以不用配置 使用的時候帶上文件路徑就行) ? ?二、在PHP中用exec()函數(shù)運行ffmpeg命令處理音頻 1、php.ini中exec()函數(shù)禁用去掉 保存 重啟php 2、

    2024年01月24日
    瀏覽(18)
  • qt+ffmpeg 實現(xiàn)音視頻播放(二)之音頻播放

    qt+ffmpeg 實現(xiàn)音視頻播放(二)之音頻播放

    通過? avformat_open_input ()?打開媒體文件并分配和初始化? AVFormatContext?? 結構體。 函數(shù)原型如下: int avformat_open_input(AVFormatContext **ps, const char *url, AVInputFormat *fmt, AVDictionary **options); 參數(shù)說明: - `ps`:指向 `AVFormatContext` 結構體指針的指針,用于存儲打開的媒體文件的信息。

    2024年04月22日
    瀏覽(37)
  • 基于FFMpeg實現(xiàn)音頻mp3/aac/wav解碼

    編譯環(huán)境:Ubuntu16.04 64位 交叉編譯工具:arm-himix200-linux-gcc 我這里使用的是ffmpeg-5.1.2.tar.gz,下載地址點擊下載地址。 這樣,/root/ffmpeg-5.1.2/output下面就是咱們要的程序,bin目錄下ffmpeg可以在開發(fā)板上運行,include下是需要的頭文件,lib下是需要的靜態(tài)庫,share/ffmpeg/examples是一些

    2024年02月11日
    瀏覽(93)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包