播放网络视频,通常解析库我们可以有多个选择 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工程使用即可。

播放RTMP协议的流媒体的几种选择 1相关推荐

  1. 播放RTMP协议的流媒体的几种选择

    播放网络视频,通常解析库我们可以有多个选择 FFMPEG,Daniulive 或者 vitamio. 什么FFMPEG? 官网地址: 地址 FFmpeg是一套可以用来记录.转换数字音频.视频,并能将其 ...

  2. 利用nginx搭建http和rtmp协议的流媒体服务器

    利用nginx搭建http和rtmp协议的流媒体服务器 一.准备工作 1.安装依赖包: yum install gcc glibc glibc-devel libtool make openssl-d ...

  3. 前端播放rtmp协议的视频流文件

    前端播放rtmp协议的视频流文件 最近公司的项目中需要在大屏可视化的页面中的一个位置是视频监控的,需求大概是这样的: 大屏右下角布局中有六个div,每个可以实时播放监控视频 点击某个视频全屏放大, 自 ...

  4. HTML页面 加载播放RTMP协议流和HLS协议流直播视频

    主要内容让rtmp或hls的协议流直播视频能在html页面正常显示(这里也是综合参考了网上其余的资料,最终放出下面这些实测可用的方案). 首先是HLS协议流, 这种是播放m3u8格式的视频. 解决方案 ...

  5. 通过 wireshark 抓包了解直播流媒体 RTMP 协议基本过程

    作者:Elias Zhang 声网资深工程师,拥有从Iaas层的基础信息存储服务到paas层的云服务的职业经历,喜欢python语言,习惯使用C#,熟悉基于和结合CDN的业务产品架构,点播.直播.云导 ...

  6. RTMP协议深度解析:从原理到实践,掌握实时流媒体传输技术

    目录标题 1. 引言 1.1 流媒体传输技术的重要性 1.2 为什么选择RTMP协议 1.3 RTMP协议的发展与应用 2. RTMP协议基础 2.1 RTMP协议简介 2.2 RTMP协议与其他流媒 ...

  7. 流媒体传输 - RTMP 协议

    RTMP 是 Real Time Messaging Protocol(实时消息传输协议)的首字母缩写.它是由 Adobe 公司提出的一种应用层的协议,用来解决多媒体数据传输流的多路复用(Multip ...

  8. 网络协议 14 - 流媒体协议

    大家都会关注"在浏览器输入一个地址,然后回车,会发生什么"这样一个问题,但是有没有想过这样一个问题:主播开始直播,用户打开客户端观看,这个过程发生了什么?     随着技术的发展, ...

  9. HLS,HTTP,RTSP,RTMP协议的区别

    HLS,HTTP,RTSP,RTMP协议的区别: 用HTTP方式: 先通过服务器将FLV下载到本地缓存,然后再通过NetConnection的本地连接来播放这个FLV,这种方法是播放本地的视频,并不是 ...

最新文章

  1. html5 minlength,HTML5中是否有minlength验证属性?
  2. python整数类型-Python 的数值类型(整数、长整数、浮点数和复数)
  3. 修改html时webpack热更新,利用webpack实现对html文件的热更新
  4. jsp中不能正常显示图片+不能正常显示bootstrap字体图标
  5. 315. 计算右侧小于当前元素的个数
  6. 字符数组和strcpy
  7. sky下载 star_star sky五军之战高清无损下载 star sky 高清mv下载
  8. CoreLocation框架--监测方向/地磁传感器
  9. 1177:奇数单增序列
  10. gitee项目能用SVN拉取吗_基于SpringBoot的车牌识别系统(附项目地址)
  11. 串行通信(二):串口流控
  12. mybatis 3.2.3 maven dependency pom.xml 配置
  13. CCNA新版教程笔记 (一)
  14. Brother DCP-1608 Printer共享打印机防坑指南
  15. Java之映射(map)
  16. 基于tushare和python的证券市场价格分析
  17. 什么是根证书?为什么用户必须下载根证书?
  18. Bugzilla的安装和配置
  19. 计算机网络:常见的网络拓扑结构
  20. OPEN-WRT老毛子固件的无线中继设置建议

热门文章

  1. Linux删除文件和文件夹【命令】
  2. sql server numeric 可存几位小数_CBA中的10大传奇队长,将篮球精神一直传递下去,你认识几位呢?...
  3. 微软封闭服务器切换,执行服务器切换:Exchange 2013 帮助 | Microsoft Docs
  4. 怎么在电脑上看磁盘分配单元的大小_电脑磁盘到底该不该分区?怎么分区?
  5. [转载] 《Python语言程序设计》课程笔记
  6. 哈希表的最差复杂度是n2_给定数组A []和数字X,请检查A []中是否有对X | 使用哈希O(n)时间复杂度| 套装1...
  7. Java ClassLoader setPackageAssertionStatus()方法与示例
  8. portlet java_Java Portlet 规范概述
  9. python字典怎么设置_在python中设置字典中的属性
  10. npm 全局安装vuecli报错_cnn explainer本地使用--被npm坑惨