当前位置:首页 » 编程软件 » 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参数。

热点内容
轻应用缓存 发布:2025-05-18 00:31:02 浏览:251
鸟存储空气 发布:2025-05-18 00:20:24 浏览:201
linux刻录iso 发布:2025-05-18 00:16:15 浏览:663
php动态参数 发布:2025-05-18 00:12:05 浏览:425
安卓应用上传 发布:2025-05-18 00:11:57 浏览:803
数对的算法 发布:2025-05-18 00:11:02 浏览:382
linuxwhile 发布:2025-05-18 00:10:08 浏览:144
xpftp外网 发布:2025-05-17 23:58:11 浏览:386
如何评价一个服务器的性能 发布:2025-05-17 23:40:53 浏览:271
淘宝客适合什么服务器 发布:2025-05-17 23:39:26 浏览:614