RTSP、RTMP、HTTP流媒体播放器比较
播放网络视频或RTSP、RTMP直播流,通常解析库我们可以有多个选择 FFMPEG,daniulive播放 或者 vitamio。
什么FFMPEG?
官网地址: 地址
FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多codec都是从头开发的。
支持的编码 源自FFmpeg项目组的两个视频编码 Snow FFV1
支持的格式 ASF、AVI、BFI、IFF、RL2、FLV、MXF、Material eXchange Format、SMPTE、377M、Matroska、Maxis XA、MSN Webcam stream、MPEG transport stream、TXD、OMA、GXF、General eXchange Format、SMPTE、360M、mov、mp4、m4a、3gp。
Daniulive
github地址:地址
始于2014年,国内外为数不多致力于极致体验的超强全自研跨平台(windows/android/iOS)流媒体内核,通过模块化自由组合,支持实时RTMP推流、RTSP推流、RTMP/RTSP直播播放(支持RTSP/RTMP H.265)、RTMP推送播放整体加密(AES/SM4)方案、实时录像、多路流媒体转发(RTSP转RTMP,RTMP转RTMP)、音视频导播、动态视频合成、音频混音、一对一互动直播、内置轻量级RTSP服务、RTSP网关服务等,比快更快,业界真正靠谱的超低延迟直播SDK(1秒内,低延迟模式下200~400ms)。
适用于在线教育、智慧教室|无纸化推屏|会议、RTMP防盗播整体加解密方案、运营商视频云平台、直播答题、远程医疗、金融双录、智能可视门禁对讲、智慧安防、智能家居、物联网、智能车载、传统硬件领域、超低延迟娃娃机抓取播放方案、媒体移动直播、应急指挥调度(针对保险、城管、交警、消防、公安等职能管理部门的单兵应急执法系统)、可视化购物、远程专家诊断、可视化巡检、(如电信/电力线路/铁路沿线/水利设施/油田/消防设施巡检)、移动视频安防监控,企业内训、金融在线直播室、监控对接、活动现场直播、游戏直播、秀场直播等场景。
什么是Vitamio?
github地址:地址
Vitamio是一款 Android 与 iOS 平台上的全能多媒体开发框架,全面支持硬件解码与 GPU 渲染。
Vitamio能够流畅播放720P甚至1080P高清MKV,FLV,MP4,MOV,TS,RMVB等常见格式的视频,还可以在Android 与 iOS 上跨平台支持 MMS, RTSP, RTMP, HLS(m3u8) 等常见的多种视频流媒体协议,包括点播与直播。
Vitamio支持各种常见的流媒体协议,可以点播或者直播音频和视频,例如如下常见协议均能无缝支持:
MMS、RTSP (RTP, SDP)、RTMP、HTTP progressive streaming、HLS - HTTP live streaming (M3U8)
音频和视频格式
Vitamio使用了 FFmpeg 做为媒体解析器和最主要的解码器,同时开发了针对不同移动平台的硬解码方案,能够完美支持 H.264/AVC、H.263、MPEG4 等常见的视频编码,覆盖上百种多媒体格式。下表只是一些最常见的视频格式支持,除特殊标明,全部支持硬件加速: DivX/Xvid、WMV (一般只有软解码)、FLV、TS/TP、RMVB (只有软解码)、MKV、MOV、M4V、AVI、MP4、3GP。
Vitamio 项目托管在Github 上面,,这里有很多公司的开源项目,其中:
1、VitamioBundle是Vitamio核心插件,(大家可以搜一下"Android Library"这个关键字,和jar差不多的用途),可以方便集成到项目中。
2、VitamioDemo是Vitamio的官方例子。
使用方式
1.导入。通过github下载VitamioBundle。下载回来后大家可能发现没有.project工程文件,可以通过File-> Import -> Android -> Existing Android Code Into Workspace来导入工程,然后改一下工程名称即可。
2、将VitamioBundle工程作为Android Library引入Demo工程使用即可。
总结
FFMPEG的播放内核,比如VLC,比较适合点播播放,文件格式支持很全面,缺点是维护成本很高,daniulive的播放器,专门针对RTSP、RTMP直播的,直播播放体验好,但不支持点播。Vitamio的,基于FFMPEG的内核,降低了继承复杂度,但是Vitamio貌似已不维护了。
RTSP、RTMP、HTTP流媒体播放器比较相关推荐
- 几款优秀的点播、RTSP/RTMP直播播放器介绍
1.ijkplayer 项目地址: https://github.com/Bilibili/ijkplayer 介绍:Ijkplayer 是Bilibili发布的基于 FFplay 的轻量级 Andr ...
- SkeyePlayer RTSP/RTMP流播放器库API接口说明
概述 libSkeyePlayer实现对RTSP.RTMP直播流进行实时采集和解码显示,稳定,高效,低延时:解码可采用intel硬件解码和软件解码两种方式,能实时进行录像和快照抓图,OSD叠加等功能. ...
- phpcms html5播放器,PHPCMS 基于酷播V4.0免费播放器的应用,极酷阳光播放器官方网站,rtmp网页流媒体播放器...
PHPCMS V9(后面简称V9)采用PHP5+MYSQL做为技术基础进行开发.V9采用OOP(面向对象)方式进行基础运行框架搭建.模块化开发方式做为功能开发形式.框架易于功能扩展,代码维护,优秀的二 ...
- rtsp流媒体播放器----ffmpeg相关代码走读(一)
rtsp流媒体播放器--ffmpeg相关代码走读(一) 本文介绍avformat_open_input和init_input两个函数 直接贴代码如下 avformat_open_input 函数 in ...
- rtmp协议视频流媒体播放器安卓版本在电话通话后视频无法打开的问题解决
RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写.该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种. ...
- RTSP播放器高RTSP兼容推流网页无插件流媒体播放器EasyPlayer-RTSP关于MP4的封装调用流程介绍
EasyPlayer-RTSP播放器是一套RTSP专用的播放器,包括有:Windows(支持IE插件,npapi插件).Android.iOS三个平台,是区别于市面上大部分的通用播放器,EasyPla ...
- android 内存播放视频播放器,视频流媒体播放器EasyPlayer-RTSP安卓版在RK3399上运行APP崩溃问题...
原标题:视频流媒体播放器EasyPlayer-RTSP安卓版在RK3399上运行APP崩溃问题 我们的流媒体服务器现在都已经支持H.265编码视频的播放,流媒体播放器EasyPlayer就是目前比较稳 ...
- easyplayerpro 使用说明_EasyPlayerPro(Windows)流媒体播放器开发之ffmpeg log输出报错
EasyPlayerPro主要基于ffmpeg进行开发,在EasyPlayerPro开发过程中,曾遇到一个相对比较棘手的问题,该问题一般在播放不是很标准的流或者网络情况较差,容易出现丢帧的情况特别容易 ...
- 网页全终端安防视频流媒体播放器EasyPlayer.js如何实现在web浏览器播放H.265编码视频?
目前安防监控行业,基本所有的摄像头都支持H264编码,但是已经有部分摄像头开始支持H265,并且支持H265的摄像机已经越来越多.H265相比H264有着很多优势,压缩更高,网络传输消耗的带宽更小,相 ...
- 视频流媒体播放器EasyPlayer-RTSP-Android 如何随意切换播放视频流?
我们的视频流媒体播放器可以输出多种视频流,支持RTSP.RTMP.HTTP.HLS.UDP.RTP.File等多种流媒体协议播放,同时也支持本地文件播放.在我们的Easy Player.JS版里面,由 ...
最新文章
- Android如何更新app的版本(中级)
- @value报错_Excel这都是些啥?#VALUE!、#DIVO!、#NUM!、#REF!、#NULL!、#NA!
- 第十一章 串 (b2)蛮力匹配
- C# CKEditor、CKFinder集成使用
- 服务端开发——云服务器的端口转发设置(SSH隧道)
- 漫步微积分二十七——曲线下的面积 定积分 黎曼
- php网页302错误,swfupload提示“错误302”的解决方法
- 无线电射频能量的收集
- C语言的酒店客房管理系统
- php版微信公众号消息主动推送_PHP版微信公众号消息主动推送
- 一种车牌识别摄像机在立体车库中的应用方案
- 自然资源一体化平台(一站式服务平台)
- 联想ThinkPad装window10系统
- logging模块详细使用
- CentOS 7使用ttyd搭建一个WEB共享终端(WebSSH)
- 快充协议诱骗芯片大全:XSQ10支持9V12V15V20V
- android emoji吏上最全的详解
- Check failed: top_shape[j] == bottom[i]-shape(j) (1 vs. 2) All inputs must have the same shape, exc
- RGB YUV的来历及相互转换
- 线段树(区间修改)模板题 Luogu 2357 守墓人
热门文章
- U盘在windows电脑中毒,插入Macbook变成exe文件
- 如何选择工业相机(转载)
- 初学者必读VRay 2.0材质设置(2)——反射材质的表现
- 进行网络广告策划时需要遵循哪些原则呢?
- hao123.com 360浏览器等主页被劫持的解决方法
- 闽江学院计算机毕设,闽江学院软件学院关于2017届毕业论文答辩有关事项的通知...
- dex字符串解密_[原创]通过CTF学习Android漏洞(炸弹引爆+dex修复)
- calico更换ip地址池-k8s
- Doubly Linked List in Python
- Flutter Connection to **** was not upgraded to websocket