當前位置:首頁 » 編程軟體 » ijk編譯好的so

ijk編譯好的so

發布時間: 2022-06-15 04:06:50

『壹』 ijkplayer 為什麼要編譯

也可以直接導入已經編譯好的環境

java">#requiredallprojects{
repositories{
jcenter()
}
}

dependencies{
#required,enoughformostdevices.
compile'tv.danmaku.ijk.media:ijkplayer-java:0.6.1'
compile'tv.danmaku.ijk.media:ijkplayer-armv7a:0.6.1'

#OtherABIs:optional
compile'tv.danmaku.ijk.media:ijkplayer-armv5:0.6.1'
compile'tv.danmaku.ijk.media:ijkplayer-arm64:0.6.1'
compile'tv.danmaku.ijk.media:ijkplayer-x86:0.6.1'
compile'tv.danmaku.ijk.media:ijkplayer-x86_64:0.6.1'

#ExoPlayerasIMediaPlayer:optional,experimental
compile'tv.danmaku.ijk.media:ijkplayer-exo:0.6.1'}

這是我寫的文章,裡面有詳細說明
http://blog.csdn.net/u010987039/article/details/52301077

『貳』 關於android studio so文件 沖突 怎麼解決

猜測可能的原因是lib/arm64-v8a目錄下沒有相應版本的libijkffmpeg.so。
解決的方法可以有:
1、配置完整的arm64位版本so, 所有用到的so都要有64位版本。 或者
2、刪除arm64位目錄,只配置lib/armeabi目錄, 所有用到的so都需要完整。(或者再加一個lib/armeabi-v7a目錄,一樣需要所有完整的so)

『叄』 ios ijkplayer怎麼加入自己編譯的ffmpeg

找到問題了編譯的時候首先要連接libx264 ,le-libx264 --enable-gpl --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/lib 然後要打開這個編碼器--enable-encoder=libx264,我就是這一步搞錯了一直找不到,我在編譯的時候禁掉...

『肆』 怎麼獲取ijkplayer 以前版本的java代碼

ijk源碼地 ithub.com/Bilibili/ijkplayer,直接下載的是 未編譯過的,沒有so文件,無法運行
下面說說怎麼獲取編譯的版本,首先環境要求
我的編譯環境為Ubuntu14.04 x64位和android-ndk-r10e

在上面那個ijk源碼的地址往下找,找到Android build 有編譯說明:
git c ub.com/Bilibili/ijkplayer.git ijkplayer-android
cd ijkplayer-android
git checkout -B latest k0.5.1

./init-android.sh

cd android/contrib
./compile-ffmpeg.sh clean
./compile-ffmpeg.sh all

cd ..
./compile-ijk.sh all

『伍』 i,j,k是int,i=j=k=-1,執行i++||++j&&++k後,ijk的值分別變成了0,-1,-1,請問k的值為什麼是-1

是C 語言嗎?(TC2.0)
這個表達式相當於(i++)||(++j&&++k)因為」||」作邊是-1,是非零!所以右面的表達式不執行!因為無論右面的表達式的值是真是假!整個表達式的值都是真(1)的!所以K++沒有被執行!所以是-1!(K++先用後執行)!
同樣的道理!」&&」也有這個性質的!當」&&」表達式的左側是假(0)時!」&&」右面的表達式是不執行的!!

『陸』 ijkPLayer 0.8.8播放rtsp(android),編譯出來的庫需要在真機上調試嗎

編譯環境是:

virtualbox下的ubuntu
jdk-8u112-linux-x64 .tar.gz
android-ndk-r13-linux-x86_64.zip
android-sdk_r24.4.1-linux.tgz

配置好這些後安裝: install homebrew, git, yasm

搭建好環境後就可以編譯了,開始我編譯出了0.8.4版本,發現播放不了rtsp,播放就是黑屏,後來發現有人說新版本有這個問題,退回到舊版本就沒有問題了,於是我使用了K0.7.6

『柒』 iOS 怎麼使用ijkplayer

(1):首先完成github上的步驟之後,打開iOS文件夾下的IJKMediaPlayer工程,發現output是一個framework包。

『捌』 Android ijkplayer詳細使用步驟

ijkplayer是Bilibili基於ffmpeg開發並開源的輕量級視頻播放器,支持播放本地網路視頻,也支持流媒體播放。支持Android&iOS。

ijkplayer的編譯這里不多闡述,我也是直接獲取別人編譯完成的so庫文件,直接使用的。如果你對ijkplayer的編譯感興趣,可以網路一下,有很多文章。
使用ijkplayer
導包

ijkplayer源碼官方下載地址:https://github.com/Bilibili/ijkplayer
上面是官方提供的ijkplayer的源碼地址,但是它是沒有編譯過的。下面我給大家分享一份編譯好的ijkplayer源碼,由於比較大,分了三個包才上傳完成,需要三個包都下載後才能一起解壓
編譯好的ijkplayer.part1
編譯好的ijkplayer.part2
編譯好的ijkplayer.part3

我們下載完成,進入android/ijkplayer目錄:

ijkplayer-java:ijkplayer的一些操作封裝及定義。這裡面是通用的API介面,裡面最主要的是IMediaPlayer,它是用來渲染顯示多媒體的。
ijkplayer-exo:google開源的一個新的播放器ExoPlayer,在Demo中和ijkplayer對比用的。通過安裝ijkplayer可以發現setting裡面可以選擇不同player來渲染多媒體顯示,該模塊下面就是一個MediaPlayer。
ijkplayer-example:測試程序
ijkplayer-{arch}:編譯出來的各個版本的.so文件。

官方提供的Demo的代碼還是挺多的,甚至還用了otto,需要對官方的demo進行精簡,去除一些用不到的代碼。
首先需要的是ijkplayer-{arch}、ijkplayer-Java兩個庫。exo是Google提供的新的播放器,這里不需要,直接砍掉。其次是ijkplayer-example里的,我們需要的只有tv.danmaku.ijk.media.example.widget.media包下的部分類。
註:
鏈接庫ijkplayer-arm64,ijkplayer-armv5,ijkplayer-armv7a,ijkplayer-x86,ijkplayer-x86_64是不同體系架構的動態鏈接庫,在當前工程結構裡面作為一個模塊,如果不想做兼容多平台問題,可以刪除其他目錄結構,單獨保留自己需要的平台目錄。

新建一個工程:
(1)把ijkplayer-armv7a/src/main/libs下的文件拷貝到新工程app目錄的libs下。
(2)把ijkplayer-java/build/outputs/aar/ijkplayer-java-release.aar復制到新工程app目錄的libs下。
(3)修改APP下的build.gradle, 主要設置.so及.aar的位置:
apply plugin: 'com.android.application'

android {
compileSdkVersion 24
buildToolsVersion "25.0.0"
defaultConfig {
applicationId "com.hx.ijkplayer_demo"
minSdkVersion 14
targetSdkVersion 24
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
sourceSets {
main {
jniLibs.srcDirs = ['libs'] /**在libs文件夾下找so文件*/
}
}
}

repositories {
mavenCentral()
flatDir {
dirs 'libs' /**在libs文件夾下找aar文件*/
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', mole: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:24.2.1'
testCompile 'junit:junit:4.12'
compile(name: 'ijkplayer-java-release', ext: 'aar') /**編譯ijkplayer-java-release.aar文件*/
}

(4)復制ijkplayer-example下面的tv.danmaku.ijk.media.example.widget.media到新的工程,刪掉一些不需要類。

(5)IjkVideoView裡面還是有很多如exo等沒用的東西,刪!具體可以參見我後面的Demo。

(6)Manifest
...
<activity android:name=".MainActivity"
android:screenOrientation="sensorLandscape"
android:configChanges="orientation|keyboardHidden">
...
</activity>
...
<uses-permission android:name="android.permission.INTERNET"/>

『玖』 ijkplayer支持rtsp嗎

ijkplayer是Bilibili基於ffmpeg開發並開源的輕量級視頻播放器,支持播放本地網路視頻,也支持流媒體播放。支持Android&iOS。

ijkplayer的編譯這里不多闡述,我也是直接獲取別人編譯完成的so庫文件,直接使用的。如果你對ijkplayer的編譯感興趣,可以網路一下,有很多文章。
使用ijkplayer
導包

ijkplayer源碼官方下載地址:https://github.com/Bilibili/ijkplayer
上面是官方提供的ijkplayer的源碼地址,但是它是沒有編譯過的。下面我給大家分享一份編譯好的ijkplayer源碼,由於比較大,分了三個包才上傳完成,需要三個包都下載後才能一起解壓:
編譯好的ijkplayer.part1
編譯好的ijkplayer.part2
編譯好的ijkplayer.part3

我們下載完成,進入android/ijkplayer目錄:

ijkplayer-java:ijkplayer的一些操作封裝及定義。這裡面是通用的API介面,裡面最主要的是IMediaPlayer,它是用來渲染顯示多媒體的。
ijkplayer-exo:google開源的一個新的播放器ExoPlayer,在Demo中和ijkplayer對比用的。通過安裝ijkplayer可以發現setting裡面可以選擇不同player來渲染多媒體顯示,該模塊下面就是一個MediaPlayer。
ijkplayer-example:測試程序
ijkplayer-{arch}:編譯出來的各個版本的.so文件。

官方提供的Demo的代碼還是挺多的,甚至還用了otto,需要對官方的demo進行精簡,去除一些用不到的代碼。
首先需要的是ijkplayer-{arch}、ijkplayer-Java兩個庫。exo是Google提供的新的播放器,這里不需要,直接砍掉。其次是ijkplayer-example里的,我們需要的只有tv.danmaku.ijk.media.example.widget.media包下的部分類。
註:
鏈接庫ijkplayer-arm64,ijkplayer-armv5,ijkplayer-armv7a,ijkplayer-x86,ijkplayer-x86_64是不同體系架構的動態鏈接庫,在當前工程結構裡面作為一個模塊,如果不想做兼容多平台問題,可以刪除其他目錄結構,單獨保留自己需要的平台目錄。

新建一個工程:
(1)把ijkplayer-armv7a/src/main/libs下的文件拷貝到新工程app目錄的libs下。
(2)把ijkplayer-java/build/outputs/aar/ijkplayer-java-release.aar復制到新工程app目錄的libs下。
(3)修改APP下的build.gradle, 主要設置.so及.aar的位置:
apply plugin: 'com.android.application'

android {
compileSdkVersion 24
buildToolsVersion "25.0.0"
defaultConfig {
applicationId "com.hx.ijkplayer_demo"
minSdkVersion 14
targetSdkVersion 24
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
sourceSets {
main {
jniLibs.srcDirs = ['libs'] /**在libs文件夾下找so文件*/
}
}
}

repositories {
mavenCentral()
flatDir {
dirs 'libs' /**在libs文件夾下找aar文件*/
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', mole: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:24.2.1'
testCompile 'junit:junit:4.12'
compile(name: 'ijkplayer-java-release', ext: 'aar') /**編譯ijkplayer-java-release.aar文件*/
}

(4)復制ijkplayer-example下面的tv.danmaku.ijk.media.example.widget.media到新的工程,刪掉一些不需要類。

(5)IjkVideoView裡面還是有很多如exo等沒用的東西,刪!具體可以參見我後面的Demo。

(6)Manifest
...
<activity android:name=".MainActivity"
android:screenOrientation="sensorLandscape"
android:configChanges="orientation|keyboardHidden">
...
</activity>
...
<uses-permission android:name="android.permission.INTERNET"/>

『拾』 ijkplayer 基於ffmpeg什麼版本

ijkplayer中ffmpeg編譯前會需要生成android standalone工具鏈,其他的編譯步驟基本跟標准ffmpeg的編譯相同。
其編譯主要依賴兩個腳本
(1)是頂級目錄下config/mole.sh
(2)是android/contrib/tool/do-compile-ffmpeg.sh中關於cross compile相關的內容。
於是我就自助了一個ffmpeg編譯腳本。簡單說明下,ijkplayer中是通過link *.o 成shared library。我查了下gcc本身支持將.a直接鏈接成.so庫,即通過-Wl,–whole-archive參數。

熱點內容
php雲開發 發布:2025-05-18 03:12:41 瀏覽:447
sql語句顯示表 發布:2025-05-18 03:12:30 瀏覽:690
資料庫系統的例子 發布:2025-05-18 03:02:42 瀏覽:191
數字化儲存與編譯是什麼 發布:2025-05-18 02:56:55 瀏覽:217
個人網站模板源碼 發布:2025-05-18 02:51:17 瀏覽:490
主伺服器ip地址 發布:2025-05-18 02:46:29 瀏覽:856
電腦配置太低玩不了絕地求生怎麼辦 發布:2025-05-18 02:38:39 瀏覽:797
存儲過程怎麼出錯了 發布:2025-05-18 02:37:16 瀏覽:368
32寸演算法 發布:2025-05-18 02:22:14 瀏覽:744
寶塔資料庫備份 發布:2025-05-18 02:14:18 瀏覽:193