android无法播放视频文件格式,基于Android引入IjkPlayer无法播放mkv格式视频的解决方法...

写在前面

项目中直接引用或者直接编译源码得到的ijkplayer在播放mkv文件时出现(-10000)的错误,去项目github查看了才知道,默认是不支持mkv和rmvb格式视频的播放的。

用了一天时间解决(为什么用了一天,因为我蠢啊),这里记录一下解决的方法(官方上面其实已经有了详细的教程,无奈我当时没有很认真看。)这里为我自己这个新手做个记录:

仍然是采用编译源码的方式引入,只是需要按照官方的方法更改一下脚本文件

运行系统:Mac OS

第一步 安装 homebrew, git, yam,ndk

这个网上教程很多,要不就不写了吧。。。。

ndk的版本不要使用15,可以去网上下一个14的版本,否则可能会出现编译错误的状况。

第二步 进行源码的下拉

在终端内输入以下命令:

git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android

cd ijkplayer-android

git checkout -B latest k0.8.3

./init-android.sh

第三步 修改编译ffmpeg用的脚本文件

这个就是主要的地方了,其实官方已经写了

cd config

rm module.sh

ln -s module-default.sh module.sh

cd android/contrib

第四步 编译源码

cd android/contrib

./compile-ffmpeg.sh clean

./compile-ffmpeg.sh all

cd ..

./compile-ijk.sh all

第五步 项目中加入对应的so库和引用

编译完成后我们在ijkplayer-android/android/ijkplayer文件夹就能看到对应不同架构的ijkplayer的文件夹

72828ffc3acea37bf0cbea4d7bb02b41.png

首先将项目导入Android Studio中运行一下,导入这个操作一定要做,不然不会生成

ijkplayer-java-release.aar文件

导入的操作如下:

943e8b5e78fdebfbb29c1d3217dec982.png

03e6f5944509fb29a37a76465583f06a.png

之后将我们所需架构所对应的包含so文件的文件夹(例:ijkplayer-x86/src/main/libs/下的x86文件夹)和ijkplayer-java-release.aar文件(在ijkplayer-java/build/output/aar文件夹下)拷贝到我们的项目libs目录下

49479805c39003912bed2f4adc3e476a.png

然后在build.gradle文件中添加

android{

...

sourceSets {

main {

jniLibs.srcDirs = ['libs']

}

}

}

repositories {

mavenCentral()

flatDir {

dirs 'libs'

}

}

dependencies {

...

compile(name: 'ijkplayer-java-release', ext: 'aar')

...

}

到此就搞定了,然后使用就好了,怎么使用,这个网上教程也很多,我也不讲了吧。。。。。。。

以上这篇基于Android引入IjkPlayer无法播放mkv格式视频的解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

ijkplayer 的动态库v7a 和v8a,支持海康摄像头RTSP h264协议,源码来自最新版本ijkplayer k0.8.0 使用原DEMO即可支持RTSP mp4文件等播放,首画面500ms显示. module-lite-rtsp.sh的内容如下: #! /usr/bin/env bash #-------------------- # Standard options: export COMMON_FF_CFG_FLAGS= # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --prefix=PREFIX" # Licensing options: export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-gpl" # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-version3" export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-nonfree" # Configuration options: # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-static" # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-shared" # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-small" export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-runtime-cpudetect" export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-gray" export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-swscale-alpha" # Program options: export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-programs" export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-ffmpeg" export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-ffplay" export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-ffprobe" export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-ffserver" # Documentation options: export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-doc" export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-htmlpages" export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-manpages" export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-podpages" export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-txtpages" # Component options: export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-avdevice" export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-avcodec" export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-avformat" export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-avutil" export COMMON_FF_CF
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值