播放网络视频,通常解析库我们可以有多个选择 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地址:地址
国内外为数不多致力于极致体验的超强全自研跨平台(windows/android/iOS)流媒体内核,通过模块化*组合,支持实时RTMP推流、RTMP/RTSP直播播放、录像、多路流媒体转发、音视频导播、动态视频合成、音频混音、直播互动、内置轻量级RTSP服务等,比快更快,业界真正靠谱的超低延迟直播SDK(1秒内,低延迟模式下200~400ms)。
适用于在线教育、无纸化推屏/会议、智慧教室、智能可视门禁对讲、超低延迟娃娃机抓取播放方案、媒体移动直播、应急指挥调度(针对保险、城管、交警、消防、*等职能管理部门的单兵应急执法系统)、可视化购物、远程专家诊断、可视化巡检、(如电信/电力线路/铁路沿线/水利设施/油田/消防设施巡检)、移动视频安防监控,企业内训、金融在线直播室、微信直播、监控对接、活动现场直播、游戏直播、秀场直播等场景。
支持平台:windows/android/iOS
功能列表:
- Windows/Android/iOS平台高稳定、超低延迟的跨平台RTMP直播播放器;
- Windows/Android/iOS平台高稳定、超低延迟的跨平台RTSP直播播放器;
- Windows/Android/iOS平台完美支持多实例播放(如同时播放多路rtmp/rtsp流);
- Windows平台支持rtmp扩展H.265播放;
- Windows/Android/iOS平台支持RTSP TCP/UDP模式设置;
- Windows/Android/iOS平台支持RTSP TCP、UDP模式自动切换;
- Windows/Android/iOS平台支持rtsp超时时间设置;
- Windows/Android/iOS平台支持上报rtsp 401事件;
- Windows/Android/iOS平台支持buffer time设置;
- Windows/Android/iOS平台支持首屏秒开模式;
- Windows平台双击画面进入全屏模式;
- Windows/Android/iOS平台视频支持H.264(RTMP/RTSP)/H.265(RTSP),音频支持AAC/PCMA/PCMU和SPEEX(RTMP)播放;
- Windows/Android/iOS平台支持RTSP H.265播放,并支持RTSP H.265录制到MP4文件;
- Windows/Android/iOS平台均支持回调音视频数据(视频: H.264/YUV 音频:AAC/PCMA/PCMU/SPEEX)到上层;
- Windows/Android/iOS平台支持自定义播放布局;
- Android平台音视频多种render机制,视频支持普通Surface和GLSurface,音频支持audiotrack和opensl es;
- Windows/Android/iOS平台支持播放过程中,’实时静音/取消静音’;
- Windows/Android/iOS平台支持播放端视频view实时旋转(0° 90° 180° 270°)、水平反转、垂直反转;
- Windows/Android/iOS平台支持播放过程中快速切换URL;
- [录像SDK同步使用]Windows/Android/iOS平台播放、录像完全隔离,同等配置的流,切换url依旧可以录制到同一个文件;
- Windows/Android/iOS平台播放过程中,音视频信息改变后自适应;
- Android/iOS平台支持软、硬解码,超低延迟、低资源占用播放rtsp/rtmp 1080p+;
- Windows/Android/iOS平台支持播放/录像过程中,随时快照;
- [Windows点播播放器]支持本地flv文件播放(支持获取flv文件的duration(时长);支持显示当前播放位置;支持开始播放或播放过程中seek(跳转播放位置),也许是行业内seek最快的flv点播播放器);
- Windows/Android/iOS平台支持类似于线上娃娃机等直播方案的超低延迟模式设置(公网200~400ms)。
什么是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工程使用即可。