试水Bilibili/ijkplayer-Android

ijkplayer 是Bilibili基于ffmpeg开发并开源的视频播放器,支持播放本地网络视频,也支持流媒体播放。支持Android&iOS.

系统:Mac os 10.11.1
NDK: ndk-r12b
Androd Studio 2.1.2

配置SDK/NDK

下载解压后,配置环境变量

vi ~/.bash_profile

在文件后添加:

export ANDROID_DIR=/Users/MOMO/Library/Android  
export ANDROID_SDK=$ANDROID_DIR/sdk  
export ANDROID_NDK=$ANDROID_DIR/android-ndk-r12b  
export PATH=$PATH:$ANDROID_NDK:$ANDROID_SDK/tools:$ANDROID_SDK/platform-tools  

最后可以手动使其起作用:

source ~/.bash_profile 

下载源码

下载ijkplayer源码

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

准备及处理源码:

cd ijkplayer-android  
git checkout -B latest k0.6.0   #切分支 在master分支有可能编译不过 
./init-android.sh  #执行初始化的shell脚本,脚本会自动下载ffmpeg的主干代码  时间有些长...

开始编译

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

cd ..
./compile-ijk.sh all
或者
compile-ijk.sh armv5|armv7a|x86|arm64-v8a #编译指定版本

编译完成后使用Android studio选择android/ijkplayer/ 并且import。

ijkplayer-java:ijkplayer的一些操作封装及定义
ijkplayer-exo:google开源的一个新的播放器ExoPlayer,在Demo中和ijkplayer对比用的
ijkplayer-example:测试程序
ijkplayer-{arch}:编译出来的各个版本的.so文件

运行

精简使用代码见下一篇博客:Link

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
Traceback (most recent call last): File "train.py", line 354, in <module> fit_one_epoch(model_train, model, yolo_loss, loss_history, optimizer, epoch, epoch_step, epoch_step_val, gen, gen_val, UnFreeze_Epoch, Cuda, save_period, save_dir) File "/hy-tmp/yolov5-pytorch-bilibili/yolov5-pytorch-bilibili/utils/utils_fit.py", line 34, in fit_one_epoch outputs = model_train(images) File "/usr/local/miniconda3/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1194, in _call_impl return forward_call(*input, **kwargs) File "/usr/local/miniconda3/lib/python3.8/site-packages/torch/nn/parallel/data_parallel.py", line 169, in forward return self.module(*inputs[0], **kwargs[0]) File "/usr/local/miniconda3/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1194, in _call_impl return forward_call(*input, **kwargs) File "/hy-tmp/yolov5-pytorch-bilibili/yolov5-pytorch-bilibili/nets/yolo.py", line 102, in forward self.h3 = self.bottlenecklstm3(P3, self.h3, self.c3) # lstm File "/usr/local/miniconda3/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1194, in _call_impl return forward_call(*input, **kwargs) File "/hy-tmp/yolov5-pytorch-bilibili/yolov5-pytorch-bilibili/nets/bottleneck_lstm.py", line 141, in forward new_h, new_c = self.cell(inputs, h, c) File "/usr/local/miniconda3/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1194, in _call_impl return forward_call(*input, **kwargs) File "/hy-tmp/yolov5-pytorch-bilibili/yolov5-pytorch-bilibili/nets/bottleneck_lstm.py", line 68, in forward y = torch.cat((x, h),1) RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cpu! (when checking argument for argument tensors in method wrapper_cat)
06-07

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值