android之视频直播与播放Vitamio

Android播放器——VitamioPlayer vitamio是一个开源的播放器,在Android端和ios端都有相应的库,支持硬解码,api与Android原生播放器的api类似 Vitamio 能够流畅播放720P甚至1080P高清MKV,FLV,MP4,MOV,TS,RMVB等常见格式的视频,还可以在 Android 与 iOS 上跨平台支持 MMS, RTSP, RTMP, HLS(m3u8) 等常见的多种视频流媒体协议,包括点播与 阅读详情

直播APP

l  直播原理

直播本质:实时推送/拉取过来的音视频数据


直播相关的协议:

l  RTMP(实时消息的传输协议)

RTMP协议是一个互联网TCP/IP五层体系结构中的应用层协议

RTMP协议可以用来推送又可以用来直播

RTMP协议中基本的数据单元成为消息(Message)


RTMP协议在互联网传输数据的时候,消息会被拆分成更小的单元,成为消息块(Chunk)


二:FLV协议

FLV协议是在大块的视频帧和音频帧头部加入一些标记条信息。

FLV协议在延迟变现  和  大规模并发方面和成熟

FLV非常适合  手机端APP的直播协议

三:HLS

     苹果推出的解决方案:

     将视频分成5~10秒的视频小分片,然后用m3u8索引进行管理。

     HLS在iphone和大部分Android手机浏览器上的支持非常给力,

常用的想QQ和微信朋友圈的URL分享。

什么是m3U8


VItamio操作:

Vitamio 能够流畅播放720P甚至1080P高清MKV,FLV,MP4,MOV,TS,RMVB等常见格式的视频,还可以在Android 上支持 MMS, RTSP, RTMP, HLS(m3u8) 等常见的多种视频流媒体协议,包括点播与直播。 

Github下载地址:https://github.com/yixia/VitamioBundle

     第一步在GitHub上下载Vitamio的依赖库,下载后的结构为:


之后将Vitamio文件夹作为Module导入到项目中。


将module导入到APP中,作为依赖库使用




或者直接在app的build.gradle中添加


将Vitamio的依赖库导入到APP中!

注意:最好是将Vitamio—res下的raw中的libarm.so   so

文件复制到app res  下的raw中:

之后可能会出现的 问题是:显示api过期等问题,

学要在build,gradle中加入代码:


之后将defaultConfig中的targetSdkVersion设置为21 Vitamio的版本为4.0.0。此版本测试为21 不会出现问题!之后clear一下过程!编辑即可通过!!

清单文件的操作:

添加必要的权限:

<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

导入actiivity

<activity
    android:name="io.vov.vitamio.activity.InitActivity"
    android:configChanges="orientation|screenSize|smallestScreenSize|keyboard|keyboardHidden|navigation"
    android:launchMode="singleTop"
    android:theme="@android:style/Theme.NoTitleBar"
    android:windowSoftInputMode="stateAlwaysHidden"
/>

XML布局的设置:

布局使用io.vov.vitamio.widget.VideoView中的VideoView,切记不要使用原始的VideoView。

 

 

Activity的操作:

1、      检测Vitamio框架是否可以使用

    if(!LibsChecker.checkVitamioLibs(this)) {

            return;

        }

不建议使用模拟器进行测试,真机测试出现 闪退的情况(说明Vitamio不能使用)上面代码直接用Toast进行的是。

2、      初始化加载库文件

   Vitamio.Initialized(getApplicationContext());

3、      判读初始化是否成功(模拟器部分显示不成功)

   Vitamio.isInitialized(getApplicationContext());

返回值为boolean,true表示初始化成功,false表示初始化失败。

4、      设置播放的url地址

mVideoView.setVideoURI(Uri.parse(url));

     5、     设置控制器(this表示系统知道的模式,可以自定义)

MediaControllercontroller = new MediaController(this);

           videoView.setMediaController(controller);

     实现的接口:





函数:



















Android平台基于Vitamio的开源播放器( 源代码) Android平台基于Vitamio的开源播放器 支持以下协议的音频和视频播放: •MMS •RTSP (RTP, SDP) •HTTP流式传输(progressive streaming) •HTTP Live Streaming (M3U8), Android 2.1+ Vitamio集成了许多音频和视频的解码包,相比Android内置默认的媒体格式,这里列出其中的一些: •divx/xvid •wmv •flv •ts •rmvb •mkv •mov •m4v •avi •mp4 •3gp 依赖Vitamio,下载最新的Vitamio: https://github.com/yixia/VitamioBundle 立即下载

相关推荐

直播+视频通话框架

最潮流的rtmp直播推流,视频通话技术,此项目中已经实现直播,视频播放,视频通话技术(还有待自己修改修改就可以实现了)

Android视频播放之vitamio播放视频(一)

视频播放的控件有很多,这里我要说的一个开源的项目Vitamio Vitamio能够流畅播放720P甚至1080P高清MKV,FLV,MP4,MOV,TS,RMVB等常见格式的视频,还可以在 Android 上支持 MMS, RTSP, RTMP, HLS(m3u8) 等常见的多种视频流媒体协议,包括点播与直播。支持 ARMv6 和 ARMv7 两种 ARM CPU,同时对 VFP, VFPv3,

知足常乐 856

野菜部落源代码

野菜部落 一个韩国Q版2D游戏的源代码 哥不保证代码的完整性,但是分析分析是有价值的。没有资源文件。

android视频流大小,android使用Vitamio实现视频播放大小屏流畅切换

之前在自己的一个项目中用到过视频播放,今天抽空把遇到的坑都写下来,顺便给将要用到的朋友提个醒。首先说下开源的视频播放框架有好几个,我这里主要讲我用到的这个,那就是Vitamio。有关vitamio的详细介绍,有一位朋友写了比较详细的介绍,也是开发者之一,有时间的朋友可以移步这里。一.项目导入:我是用Android Studio开发的,将vitamio以一个module导入,再它作为一个依赖注入到需...

weixin_30738065的博客 471

vitamio视频播放器

vitamio视频播放器,可以播放网络视频,也可以播放本地视频,http和rtmp 播放流都支持,使用非常简单,里面就一个类,还有个安装包

VitamioBundle20151118播放器,支持直播,缓存功能

VitamioBundle20151118播放器,支持直播,缓存功能 [注:本内容来自网络,在此分享仅为帮助有需要的网友,如果侵犯了您的权利,麻烦联系我,我会第一时间删除,谢谢您。]

android 视频直播

一、直播原理直播本质是实时推送/拉取过来音视频数据二、相关协议直播协议主要分为三种:RTMP协议、FLV、HLS。(视频直播源有效性测试工具:VLC,这是一个开源的跨平台多媒体直播器)(1)RTMP一个互联网TCP/IP五层体系结构中应用层协议,可以用来推送又可以直播,基本单元称为消息,可以查分为更小的单元:消息块。(2)FLVFLV协议是在大块的视频和音频头部加入一些标志性信息,在延迟表现和大规...

u011897782的博客 965

android RTMP 视频流播放器

android RTMP流视频播放器,基于Vitamio框架开发,3个文件夹,vitamio作为引用项目,simple 是简单例子。具体实现可自行修改

视频直播应用,且配有弹幕显示,内容均从斗鱼抓取

视频直播应用,且配有弹幕显示,内容均从斗鱼抓取

未来很长,但我会努力的走下去。 3180

医学图像处理入门:如何用Python将CT灰度图转换为伪彩色图像(附代码)

本文详细介绍了如何使用Python将CT灰度图转换为伪彩色图像,提升医学图像的可读性和诊断效率。通过OpenCV和Matplotlib等工具,实现灰度值到彩色空间的映射,特别适用于突出显示特定组织密度差异。文章包含完整代码示例和临床实用技巧,适合医学影像分析初学者和Python开发者。

gitlab7runner的博客 326

别再手动算电阻了!手把手教你从ITF/IRCX文件自动生成EMX工艺文件(附脚本思路)

本文详细介绍了如何从ITF/IRCX文件自动生成EMX工艺文件,提升芯片设计效率。通过解析厚度变化多项式和电阻率查表,实现工艺文件的高效转换,避免手动处理带来的错误。文章还提供了脚本思路和验证方法,确保数据精确度,特别适用于电感仿真等关键环节。

didui8202的博客 456

关于Android视频直播

最近做视频直播方面的软件,以前没做过这方面的东西,google了一下,搜索出来基本没有有用的信息,最多的就是视频直播软件还有就是外包信息。搜索半天无果后,下了几个“android播放网络视频”的demo试了一下,发现还是不行,将url改成电视直播的url以后不能播放。 后来只能去下了各种电视直播的软件,来看别人是怎么实现的,最后发现了一个第三方的多媒体方面的类库。vitamio,其官方地址:ht

@#%$#^%^ 2443

使用 ArcGIS Pro 和 Google Earth Engine 可视化地表温度

在这项研究中,利用 Landsat 热数据通过各种方法检查了 2013 年和 2023 年恰纳卡莱省的地表温度变化。使用了 NDVI、大气层顶部、亮度温度、植被比例和地表温度等公式。研究结果表明,从热图像中获得的数据,特别是地表温度(LST),是土地解释的重要资源。恰纳卡莱 — 土耳其(土耳其)使用 ArcGIS 程序和 Google Earth Engine 对不同季节的卫星图像进行分析。

gis收藏家的博客 2003

Android 端的 RTMP直播实现

原文地址 软硬件环境 ubuntu 16.04 Android Studio 2.1.3 OTT BOx with android 5.1.1 nginx 1.11.3 nginx-rtmp-module vitamio 前言 当下,直播已经成为网络热词,它不单单是指传统广播电视的实时播放,更是更为广泛的音视频实时分享的延伸。早先,直播数据源只

直播社区 9456

OpenClaw与Ollama本地AI部署指南

AI模型本地化部署是当前企业数字化转型的关键技术,通过开源框架Ollama可以在消费级硬件上运行大语言模型。本文以OpenClaw多智能体系统为例,详解从环境配置到模型优化的全流程实践,特别针对国内开发者遇到的网络问题提供了镜像加速等解决方案。这种私有化部署方案尤其适合金融数据分析、企业知识管理等对数据安全要求高的场景,通过模块化设计实现多智能体协作,同时保持对NVIDIA显卡和普通CPU的兼容性。

weixin_34302561的博客 400

niushop靶场漏洞查找-文件上传漏洞等(超详细)

发现报错,而且这个报错十分熟悉,与我们所学的sqli报错注入特别像。这里查询到后面的url有且仅有一个,目测估计是后台。上传的图片是包含一句话木马的图片。发现获取到了webshell。实战漏洞-niushop。

qq_59020256的博客 1729

直播

Vitamio 视频直播播放端 MediaPlayer:https://www.vitamio.org/docs/API/2013/0508/10.htmlVideoView:https://www.vitamio.org/docs/API/2013/0508/9.html 依赖module—vitamio (注意raw文件夹) 权限配置

riqthen的博客 684

基于单片机的宠物狗智能项圈设计

GPS定位功能:利用GPS模块实时获取宠物的位置,帮助主人追踪宠物的活动轨迹。活动监测:使用加速度传感器监测宠物的活动情况,如运动、休息等,并进行分析。健康监测:集成心率传感器,实时监控宠物的心率,以确保其健康。声音识别功能:通过麦克风捕捉宠物的叫声,检测宠物的状态(如饥饿、疼痛等)。蓝牙/Wi-Fi通信:通过蓝牙或Wi-Fi模块与手机APP或云端平台进行数据交互,实时反馈宠物的状态信息。电池管理:实现低功耗设计,确保设备的续航能力。

2201_76125393的博客 2281

第一篇、vlc-android之开篇介绍

转载请注明出处:http://blog.youkuaiyun.com/cuiran/article/details/30054835 最近一直研究android的视频直播部分,从最开始的直接播放本地视频文件,到使用http、rtsp,mms和udp.但是发现目前支持UDP TS流的很少。 刚刚接触的Vitamio 网址:http://www.vitamio.org/ 发现直播会出现很多丢失声音和画面马赛...

445822357 315

迟滞电压比较器电路的原理与计算

迟滞电压比较器是一种具有双阈值特性的电路,通过正反馈机制实现抗噪声干扰功能。文章详细分析了其工作原理,包括同相型和反相型两种结构的电压阈值计算与电阻设计方法,并提供了已知门限求电阻和已知电阻求门限的推导公式。工程应用中需注意输出类型匹配、电阻取值范围、噪声裕量设计等问题。该比较器在信号处理、波形转换等场景中具有重要应用价值,设计时需综合考虑供电电压、参考电压和噪声特性等因素。

硬核科技 2688

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Android应用源码基于vitamio的网络电视直播源码

这个项目是基于vitamio的网络电视直播源码,也是一个使用了vitamio的基于安卓的网络直播项目源码,可能现在网上已经有很多类似这样的视频播放应用了,不过这个还是相对来说比较完整的,希望这个案例能够给大家参考一下。 源码下载: h...

chunhou6778的博客 247

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

第三方SDK接入--Vitamio

第三方SDK接入之—Vitamio说明由于公司的需求,app需要能播放多种格式的视频,并能实时播放直播的视频流。所以这里使用了一款开放的,功能强大的全能多媒体开发框架—Vitamio。接下来简单说明下整个Vitamio接入的具体步骤及注意事项。注:写该文档时使用的Vitamio版本是5.0.0。所需Vitamio资源使用第三方SDK必不可少的就是需要多多去官网爬你需要的文档等资源。Vitamio官网

乐翁龙 5778

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Android万能播放器Vitamio

以下是一些参考博文,记录已下,方便以后使用 Android 如何直播RTMP流 农民伯伯-使用Vitamio打造万能播放器-1 农民伯伯-使用Vitamio打造万能播放器-2 一直更新到第9篇 农民伯伯-万能播放器全部文章

网鱼的栈 1118

Android Video

为什么80%的码农都做不了架构师?>>> ...

weixin_34232744的博客 1068

IOS 直播TV的功能

最近公司在做导航的项目,涉及到视频直播的知识,自己对视频播放呢有一点了解,做直播可就是个挑战。于是呢整天忧心忡忡,还好经理指了个方向:试试VLC播放器相关的知识。自己研究了一天,发现也是一知半解的。后来由于时间有限,也是实属无奈。结果安卓的同事指了条明道儿:使用(维他命)Vitamio播放器试试,这个播放器可以支持安卓,同时也支持IOS视频的直播。而且还支持FLV格式的播放。心中大喜,就去试了试,

豹子宝宝的专栏 974
上一篇: pagerAdapter 与FragmentPagerAdapter的区别
下一篇: Android碎片Fragment详讲(1)
JSON_ZJS
博客等级 码龄9年 30粉丝 159原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值