播放网络视频,通常解析库我们可以有多个选择,如FFMPEG,Daniulive SDK 或者 vitamio。
1. 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。
2. 大牛直播SDK(Daniulive SDK)
官网地址: 地址
github地址:地址
始于2014年,国内外为数不多致力于极致体验的超强全自研跨平台(windows/android/iOS)流媒体内核,通过模块化自由组合,支持实时RTMP推流、RTMP/RTSP直播播放(支持RTSP/RTMP H.265)、实时录像、多路流媒体转发、音视频导播、动态视频合成、音频混音、互动直播、内置轻量级RTSP服务等,比快更快,业界真正靠谱的超低延迟直播SDK(1秒内,低延迟模式下200~400ms)。
适用于在线教育、无纸化推屏/会议、智慧教室、直播答题、智能可视门禁对讲、智慧安防、智能家居、物联网、智能车载、传统硬件领域、超低延迟娃娃机抓取播放方案、媒体移动直播、应急指挥调度(针对保险、城管、交警、消防、公安等职能管理部门的单兵应急执法系统)、可视化购物、远程专家诊断、可视化巡检、(如电信/电力线路/铁路沿线/水利设施/油田/消防设施巡检)、移动视频安防监控,企业内训、金融在线直播室、微信直播、监控对接、活动现场直播、游戏直播、秀场直播等场景。
支持平台:windows/android/iOS
Windows/Android/iOS RTMP、RTSP直播播放器SDK
Windows/Android/iOS平台高稳定、超低延迟的跨平台RTMP直播播放器;
Windows/Android/iOS平台高稳定、超低延迟的跨平台RTSP直播播放器;
Windows/Android/iOS平台完美支持多实例播放(如同时播放多路rtmp/rtsp流);
Windows/Android/iOS平台支持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);
详尽的callback状态回调机制。
3. 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也是基于ffmpeg内核实现,如果是播放点播文件,可以考虑vitamio或ffmpeg,如果对延迟和稳定性要求比较高的直播场景,可以选用大牛直播SDK。