一.简介
-
VLC是由VideoLAN开源并维护的一款自由、开源的跨平台多媒体播放器及框架,可播放大多数多媒体文件,以及 DVD、音频 CD、VCD 及各类流媒体协议。
-
官网:https://www.videolan.org/vlc/
-
github:https://github.com/videolan/vlc-android
-
说明:前段时间进行视频相关的开发,预研了VLC软解,自己也是从0到1,经历一些搜索和坑,发现网上有关vlc的资料相比ijkplayer少很多,因此把自己的使用过程记录下来,供其他网友参考。同时感谢网上乐于分享的博客主,虽然有时候只是提供了线索,对寻求的人来说真的很有帮助。
二.依赖方式
看了网上的资料,大概有两种引入方式
-
通过aar:如maven中的https://mvnrepository.com/artifact/org.videolan/vlc-lib-android
-
通过libvlc+so
如果可以用maven上aar,就直接用这个了,最简单方便。
如果需要在源码编译app,出现so引入不了、androidx编译不过的话,就需要采用libvlc+so的方式了
- maven上libvlc.aar可能下载不了,可以去https://github.com/JeffMony/VLCAndroidDemo项目中提供的下载地址
三.编译问题
- 官方编译文档:https://wiki.videolan.org/AndroidCompile
- 编译可以参考博客系列:https://blog.csdn.net/u010735007/article/details/108141213
- 有关AS编译的问题:
可以在AS3.5+vlc-android编译最新的apk,解压apk获取各个平台的so文件,再把libvlc模块作为库引入到自己的项目中即可
(参考博客:https://www.jianshu.com/p/a26e4a00f907,注意我用官方最新的apk解压出来的so有点问题)
四.api使用问题
可以参考官方apk用法,博客推荐https://blog.csdn.net/u010735007/article/details/108168267
注意:vlc当前MediaPlayer那套api还不能用,VideoView也有问题。播放视频时需要适配下分辨率,否则画面显示有问题
五.我个人修改的libvlc
我在vlc-android3.2.12的基础上,将androidX替换为androidSupport,提取生成apk中so,测试稳定可用和支持源码下编译。
github:https://github.com/dongpingwang/vlc
六.参考博客
- https://blog.csdn.net/u010735007/article/details/108141213
- https://www.jianshu.com/p/a26e4a00f907
- https://blog.csdn.net/wyc12306/article/details/79497641?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2allsobaiduend~default-1-79497641.nonecase&utm_term=android%20vlc%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B&spm=1000.2123.3001.4430
七.其他文档
当时有收集,但未细看,觉得还不错的博客等,没有经过测试
- vlc源码分析相关:https://blog.csdn.net/u012459903/article/details/100661865
- 封装好的libvlc: vlc-android-sdk