Android可以使用的直播流播放器Vitamio5.2.3

这篇博客记录了将yixia大神的Vitamio Android直播流播放器项目在最新Android Studio中运行的过程。主要解决了gradle插件和版本不兼容的问题,调整了源码的编译SDK版本,以及NDK版本,并成功在Android 12设备上测试播放。提供了不同类型的流媒体测试URL。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

yixia大神的git上有两个Android直播流播放器的项目:GitHub - yixia/VitamioBundle: Vitamio for Android  弄了1天没弄出来,过! GitHub - yixia/VitamioBundleStudio这个是我可以在最新的Android Studio跑起来的sample。

开始:

源码的gradle插件和gradle不适配最新Android Studio.

下面是我的Android Studio版本:

解决步骤:

主项目的build.gradle文件修改如下:

gradle插件使用当前Android Studio支持的最低的版本3.2.0.

gradle-wrapper.properties文件中修改如下:

gradle使用4.6的。具体gradle插件和gradle版本,是一点点试出来的。

 vitamio的build.gradle修改如下:

源码中complieSdkVersion和tgargetSdkVersion使用的是21。buildToolsVersion使用的也是21.0.x的。因为有人说高于21是跑不起来的,但试了下,改成30的是可以在Android8手机上跑起来的。9 10 11 12没有测试。将来有机会测试完会补充测试结果的。

 vitamio-sample的build.gradle和上面的一样都改成30

 local.properties中配置的NDK使用的版本是24.0.8215888

 源码中的gradle.properties文件中添加了一行代码:

 整个Android Studio Setting中设置使用gradle-wrapper.properties中的gradle.JDK使用的是JDK8(Gradle JDK选择的路径是环境变量中的JAVA_HOME配置的路径)。

 结束。

sample启动以后。可以在VideoSubtitle->MediaPlayerSubtitle页中尝试把path修改成rtsp流rtmp流HLS(m3u8)流测试url如下:

private String path1 = "http://219.151.31.38/liveplay-kk.rtxapp.com/live/program/live/hnwshd/4000000/mnf.m3u8";// 湖南卫视

private String path2 = "rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mp4";

private String path3 = "rtmp://mobliestream.c3tv.com:554/live/goodtv.sdp";//韩国goodtv

private String path = "https://sf1-hscdn-tos.pstatp.com/obj/media-fe/xgplayer_doc_video/flv/xgplayer-demo-360p.flv";//西瓜播放器测试视频

PS:Android12(小米手机)上测试可以正常播放。

一: 使用javacv来实现,最终也是用过ffmpeg来进行编码和推流,javacv实现到可以直接接收摄像头的帧数据 需要自己实现的代码只是打开摄像头,写一个SurfaceView进行预览,然后实现PreviewCallback将摄像头每一帧的数据交给javacv即可 javacv地址:https://github.com/bytedeco/javacv demo地址:https://github.com/beautifulSoup/RtmpRecoder/tree/master 二: 使用Android自带的编码工具,可实现硬编码,这里有一个国内大神开源的封装很完善的的库yasea,第一种方法需要实现的Camera采集部分也一起封装好了,进行一些简单配置就可以实现编码推流,并且yasea目前已经直接支持摄像头的热切换,和各种滤镜效果 yasea地址(内置demo):https://github.com/begeekmyfriend/yasea 服务器 流媒体服务器我用的是srs,项目地址:https://github.com/ossrs/srs 关于srs的编译、配置、部署、在官方wiki中已经写的很详细了,并且srs同样是国内开发人员开源的项目,有全中文的文档,看起来很方便 这里有最基本的简单编译部署过程 Android直播实现(二)srs流媒体服务器部署 播放器 android端的播放使用vitamio,还是国内的开源播放器,是不是感觉国内的前辈们越来越屌了^~^! vitamio支持几乎所有常见的的视频格式和流媒体协议 vitamio地址(内置demo):https://github.com/yixia/VitamioBundle 这里使用的是yaesa库,先介绍一下直播实现的流程:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值