ijkPlayer

ijkPlayer是BiliBili公司维护的一个开源工程,基于ffmpeg开发的一个播放器软件,支持Android和iOS平台,整个ijkplayer就是以ffplay为基础,如果只是使用它进行播放,集成也较为简单,使用也和MediaPlayer差不多,但是要定制化需求,就有一定的门槛高度。支持软硬编解码,支持倍速播放,可以定制化集成需要的功能,集成占用体积也很小,更详细的解释参看下面官方介绍:

Features

  • Common
  • remove rarely used ffmpeg components to reduce binary size config/module-lite.sh
  • workaround for some buggy online video.
  • Android
  • platform: API 9~23
  • cpu: ARMv7a, ARM64v8a, x86 (ARMv5 is not tested on real devices)
  • api: MediaPlayer-like
  • video-output: NativeWindow, OpenGL ES 2.0
  • audio-output: AudioTrack, OpenSL ES
  • hw-decoder: MediaCodec (API 16+, Android 4.1+)
  • alternative-backend: android.media.MediaPlayer, ExoPlayer
  • iOS
  • platform: iOS 7.0~10.2.x
  • cpu: armv7, arm64, i386, x86_64, (armv7s is obselete)
  • api: MediaPlayer.framework-like
  • video-output: OpenGL ES 2.0
  • audio-output: AudioQueue, AudioUnit
  • hw-decoder: VideoToolbox (iOS 8+)
  • alternative-backend: AVFoundation.Framework.AVPlayer, MediaPlayer.Framework.MPMoviePlayerControlelr (obselete since iOS 8)

VLC Media Player

VLC 是一款自由、开源的跨平台多媒体播放器及框架,可播放大多数多媒体文件,以及 DVD、音频 CD、VCD 及各类流媒体协议。

Plays all formats

MPEG-1/2, DivX® (1/2/3/4/5/6), MPEG-4 ASP, XviD, 3ivX D4, H.261, H.263 / H.263i, H.264 / MPEG-4 AVC, Cinepak, Theora, Dirac / VC-2, MJPEG (A/B), WMV 1/2, WMV 3 / WMV-9 / VC-1, Sorenson 1/3, DV, On2 VP3/VP5/VP6, Indeo Video v3 (IV32), Real Video (1/2/3/4).

MPEG Layer 1/2, MP3 - MPEG Layer 3, AAC - MPEG-4 part3, Vorbis, AC3 - A/52, E-AC-3, MLP / TrueHD>3, DTS, WMA 1/2, WMA 3, FLAC, ALAC, Speex, Musepack / MPC, ATRAC 3, Wavpack, Mod, TrueAudio, APE, Real Audio, Alaw/µlaw, AMR (3GPP), MIDI, LPCM, ADPCM, QCELP, DV Audio, QDM2/QDMC, MACE.

DVD, Text files (MicroDVD, SubRIP, SubViewer, SSA1-5, SAMI, VPlayer), Closed captions, Vobsub, Universal Subtitle Format (USF), SVCD / CVD, DVB, OGM, CMML, Kate.

ID3 tags, APEv2, Vorbis comment.

Advanced formats

Input Media

UDP/RTP Unicast, UDP/RTP Multicast, HTTP / FTP, MMS, TCP/RTP Unicast, DCCP/RTP Unicast, File, DVD Video, Video CD / VCD, SVCD, Audio CD (no DTS-CD), DVB (Satellite, Digital TV, Cable TV), MPEG encoder, Video acquisition.

Input Formats

MPEG (ES,PS,TS,PVA,MP3), AVI, ASF / WMV / WMA, MP4 / MOV / 3GP, OGG / OGM / Annodex, Matroska (MKV), Real, WAV (including DTS), Raw Audio: DTS, AAC, AC3/A52, Raw DV, FLAC, FLV (Flash), MXF, Nut, Standard MIDI / SMF, Creative™ Voice.

Miscellaneous

SAP/SDP announces, Bonjour protocol, Mozilla/Firefox plugin, ActiveX plugin, SVCD Menus, Localization, CD-Text, CDDB CD info, IGMPv3, IPv6, MLDv2, CPU acceleration.

SmartPlayer

SmartPlayer是大牛直播SDK(Github)开发的全自研跨平台(windows/android/iOS)流媒体内核,支持RTSP、RTMP,功能齐全、高稳定、超低延迟,超低资源占用,适用于安防、教育、单兵指挥等行业。如不单独说明,系Windows、Android、iOS全平台支持。

  • [支持播放协议]RTSP、RTMP;
  • [多实例播放]支持多实例播放;
  • [事件回调]支持网络状态、buffer状态等回调;
  • [视频格式]支持H.265、H.264,此外,还支持RTSP MJPEG播放;
  • [音频格式]支持AAC/PCMA/PCMU;
  • [H.264/H.265软解码]支持H.264/H.265软解;
  • [H.264硬解码]Windows/Android/iOS支持特定机型H.264硬解;
  • [H.265硬解]Windows/Android/iOS支持特定机型H.265硬解;
  • [H.264/H.265硬解码]Android支持设置Surface模式硬解和普通模式硬解码;
  • [RTSP模式设置]支持RTSP TCP/UDP模式设置;
  • [RTSP TCP/UDP自动切换]支持RTSP TCP、UDP模式自动切换;
  • [RTSP超时设置]支持RTSP超时时间设置,单位:秒;
  • [RTSP 401认证处理]支持上报RTSP 401事件,如URL携带鉴权信息,会自动处理;
  • [缓冲时间设置]支持buffer time设置;
  • [首屏秒开]支持首屏秒开模式;
  • [复杂网络处理]支持断网重连等各种网络环境自动适配;
  • [快速切换URL]支持播放过程中,快速切换其他URL,内容切换更快;
  • [音视频多种render机制]Android平台,视频:surfaceview/OpenGL ES,音频:AudioTrack/OpenSL ES;
  • [实时静音]支持播放过程中,实时静音/取消静音;
  • [实时音量调节]支持播放过程中实时调节音量;
  • [实时快照]支持播放过程中截取当前播放画面;
  • [只播关键帧]Windows平台支持实时设置是否只播放关键帧;
  • [渲染角度]支持0°,90°,180°和270°四个视频画面渲染角度设置;
  • [渲染镜像]支持水平反转、垂直反转模式设置;
  • [等比例缩放]支持图像等比例缩放绘制(Android设置surface模式硬解模式不支持);
  • [实时下载速度更新]支持当前下载速度实时回调(支持设置回调时间间隔);
  • [解码前视频数据回调]支持H.264/H.265数据回调;
  • [解码后视频数据回调]支持解码后YUV/RGB数据回调;
  • [解码前音频数据回调]支持AAC/PCMA/PCMU数据回调;
  • [音视频自适应]支持播放过程中,音视频信息改变后自适应;
  • [扩展录像功能]支持和录像SDK组合使用。

ExoPlayer

ExoPlayer 是google推出的开源播放器,主要是集成了Android 提供的一套解码系统来解析视频和音频,将MediaCodec封装地非常完善,形成了一个性能优越,播放稳定性较好的一个开发播放器。

ExoPlayer is an application level media player for Android. It provides an alternative to Android’s MediaPlayer API for playing audio and video both locally and over the Internet. ExoPlayer supports features not currently supported by Android’s MediaPlayer API, including DASH and SmoothStreaming adaptive playbacks. Unlike the MediaPlayer API, ExoPlayer is easy to customize and extend, and can be updated through Play Store application updates.

Documentation

  • The developer guide provides a wealth of information to help you get started.
  • The class reference documents the ExoPlayer library classes.
  • The release notes document the major changes in each release.

Using ExoPlayer

Via jCenter

The easiest way to get started using ExoPlayer is by including the following in your project's build.gradle file:

compile 'com.google.android.exoplayer:exoplayer:rX.X.X'

where rX.X.X is the your preferred version. For the latest version, see the project's Releases. For more details, see the project on Bintray.

As source

ExoPlayer can also be built from source using Gradle. You can include it as a dependent project like so:

// settings.gradle
include ':app', ':..:ExoPlayer:library'// app/build.gradle
dependencies {compile project(':..:ExoPlayer:library')
}

As a jar

If you want to use ExoPlayer as a jar, run:

./gradlew jarRelease

and copy library.jar to the libs folder of your new project.

总结

ijkplayer结构比较相对比较清晰,可扩展性较差,基本上没有提供modules供开发者二次开发,官方更新比较慢,值得欣慰的是,好多开发者基于ijkplayer做了扩展,填了非常多的坑,往上资料非常多;

VLC对点播的支持比较好,但是工程庞大,接入或二次开发难度比较大;

SmartPlayer对RTSP和RTMP直播播放支持非常优秀,毫秒级延迟,稳定性比较好;

ExoPlayer不太适合直播,视频解码无法接入软解,可扩展性一般,而且只支持Android平台。

几款好用播放器ijkplayer、vlc、SmartPlayer、ExoPlayer相关推荐

  1. LZH_IJKPlayer-一个最简单使用的视频播放器,集成于bilibili开源直播播放器(ijkplayer)

    随着视频直播APP的迅速发展,许多APP也都会加入直播的功能,提高用户量.在网上也是寻找了许多直播的播放器,无意间发现Bilibili开源了一款播放器ijkplayer,想从最开始的步骤集成的同学可以 ...

  2. Linux 下的三款 Flash 独立播放器

    现在互联网上流传有不少以 SWF 形式发布的教学视频.如何在 Linux 下观看这些教学视频文件呢? 实际上,这些 SWF 格式的视频就是编译好的 Flash 字节码文件.与同样是以 Flash 传播 ...

  3. html5的在线播放页面,整理5款html5网页播放器,总有一款适合你吧

    整理了5款html5网页播放器,总有一款适合你吧. 酷播云HTML5倍速功能视频播放器 介绍: 重要提示:本播放器为酷播云在线产品,用户可以免费注册使用,下载包仅提供代码使用示例及演示,并非播放器的下 ...

  4. 无损音乐刻录成cd有意义吗_Mac装机必备之拯救歌荒,好用的五款Mac音乐播放器推荐!...

    Mac平台上好用的音乐播放器有什么推荐?想要最新最热的音乐排行榜.歌单.电台.MV?想要海量无损在线曲库?追求高品质的听觉盛宴? 今天给大家分享的是Mac装机必备之音乐播放器推荐,拯救你的歌荒,缓解你 ...

  5. 直播播放器+html5,10款html5网页播放器推荐(总有一款适合你)

    整理了5款html5网页播放器,总有一款适合你吧. 酷播云HTML5倍速功能视频播放器 介绍: 重要提示:本播放器为酷播云在线产品,用户可以免费注册使用,下载包仅提供代码使用示例及演示,并非播放器的下 ...

  6. iphone html5音乐播放器,从界面到功能 五款iPhone音乐播放器年度横评

    前言:音乐播放器应该是目前所有iPhone用户必备的一类App.而作为国内用户而言,在音乐播放器的选择上是很丰富的.比如在目前iPhone客户端上,主流的音乐播放器就有:酷狗音乐.QQ音乐.多米音乐. ...

  7. html5+php视频播放器,整理5款html5网页播放器,总有一款适合你吧

    整理了5款html5网页播放器,总有一款适合你吧. 酷播云HTML5倍速功能视频播放器 介绍: 重要提示:本播放器为酷播云在线产品,用户可以免费注册使用,下载包仅提供代码使用示例及演示,并非播放器的下 ...

  8. CyberLink PowerDVD V20.0.2325.62 ,跳脱你对影音播放工具的想象,一款全方位媒体播放器

    CyberLink PowerDVD 跳脱你对影音播放工具的想象,不仅只是播放 DVD 与蓝光光盘,更是一款全方位媒体播放器,协助你管理媒体档案,轻松播放视频.音乐与照片.除了能在计算机或笔记本上播放 ...

  9. 一款全兼容的播放器 videojs

    一款全兼容的播放器 videojs [官网]http://www.videojs.com/ videojs就提供了这样一套解决方案,他是一个兼容html5的视频播放工具,早期版本兼容所有浏览器,方法是 ...

最新文章

  1. oracle rman异机恢复
  2. escape相关方法使用
  3. 用自己的数据集在R-FCN框架下进行检测
  4. 如何正确的探索 Microsoft Ignite The Tour
  5. Identity和IdentityServer的区别及联系
  6. 信息安全工程师笔记-案例分析(二)
  7. Swift - UITableView里的cell底部分割线左侧靠边
  8. 径向基(Radial basis function)神经网络、核函数的一些理解
  9. Hyperledger Fabric、Corda和以太坊对比
  10. 数据可视化必备的高逼格图表特效,学会只需要五分钟
  11. [翻译]Review——How JavaScript works:The building blocks of Web Workers
  12. 自己动手简单实现vbb的URL静态化
  13. 原神3.2私人服务器搭建
  14. 配置单交换机VLAN划分
  15. 优启通制作系统u盘_优启通u盘启动盘制作工具BIOS+UEFI三分区双启版
  16. react详细视频 https://www.bilibili.com/video/BV1wy4y1D7JT?p=76
  17. Oracle官网下载历史版本软件
  18. 上海老百姓的胆量 VS 大牌店营业员的势利
  19. 软件开发方法论:TDD、BDD、DDD、ATDD、DevOps
  20. 《关键信息基础设施安全保护条例 》解读

热门文章

  1. 应急响应-linux-webshell查查杀工具:河马webshell查杀和深信服Webshell
  2. 英语口语100之每日十句口语
  3. C/C++ 函数出入口
  4. 10个免费的PHP编辑器/开发工具推荐
  5. 京东物流一体化供应链建设实践
  6. 宇视网络视频录像机通道名称如何设置
  7. 关于文本编辑器的一点思考
  8. JavaScript - canvas - 画直角坐标系
  9. 交易落空,房产中介索要中介费该不该支持?
  10. Java线程的死锁和活锁