播放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地址:地址

国内外为数不多致力于极致体验的超强全自研跨平台(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工程使用即可。

上一篇:SQLSERVER吞噬内存解决记录


下一篇:最简单靠谱的直播抓娃娃方案