All Projects → diamondfive → X1Player

diamondfive / X1Player

Licence: MIT License
iOS端封装的视频播放器.支持直播,录播视频的播放,支持常用的播放界面控制,类似于ijkplayer 优点是体积更小,使用快捷

Programming Languages

objective c
16641 projects - #2 most used programming language
Objective-C++
1391 projects
ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to X1Player

Giraffeplayer2
out of the box android video player(support lazy load, ListView/RecyclerView and hight performance)
Stars: ✭ 344 (+1538.1%)
Mutual labels:  player, ffmpeg, video-player, ijkplayer
Fijkplayer
ijkplayer for flutter. ijkplayer 的 flutter 封装。 Flutter video/audio player. Flutter media player plugin for android/iOS based on ijkplayer. fijkplayer 是基于 ijkplayer 封装的 flutter 媒体播放器,开箱即用,无需编译 ijkplayer
Stars: ✭ 943 (+4390.48%)
Mutual labels:  player, ffmpeg, video-player, ijkplayer
Dkvideoplayer
Android Video Player. 安卓视频播放器,封装MediaPlayer、ExoPlayer、IjkPlayer。模仿抖音并实现预加载,列表播放,悬浮播放,广告播放,弹幕
Stars: ✭ 3,796 (+17976.19%)
Mutual labels:  player, ffmpeg, video-player, ijkplayer
KingPlayer
🎬 一个专注于 Android 视频播放器的基础库,无缝切换内核。(IjkPlayer、ExoPlayer、VlcPlayer、MediaPlayer)
Stars: ✭ 35 (+66.67%)
Mutual labels:  player, video-player, ijkplayer
Zftplayer
iOS平台下基于IJKplayer封装的视频播放器,主要适用于视频点播。针对视频格式,前后台切换,内存管理控件的层级分离做了相应优化
Stars: ✭ 273 (+1200%)
Mutual labels:  player, ffmpeg, ijkplayer
Gsyvideoplayer
视频播放器(IJKplayer、ExoPlayer、MediaPlayer),HTTPS,支持弹幕,外挂字幕,支持滤镜、水印、gif截图,片头广告、中间广告,多个同时播放,支持基本的拖动,声音、亮度调节,支持边播边缓存,支持视频自带rotation的旋转(90,270之类),重力旋转与手动旋转的同步支持,支持列表播放 ,列表全屏动画,视频加载速度,列表小窗口支持拖动,动画效果,调整比例,多分辨率切换,支持切换播放器,进度条小窗口预览,列表切换详情页面无缝播放,rtsp、concat、mpeg。
Stars: ✭ 16,948 (+80604.76%)
Mutual labels:  player, ffmpeg, ijkplayer
Playerdemo
一个视频播放器,开源版 potplayer ,用于总结播放器开发技术。
Stars: ✭ 491 (+2238.1%)
Mutual labels:  player, ffmpeg, video-player
Flutter ijkplayer
ijkplayer for flutter
Stars: ✭ 703 (+3247.62%)
Mutual labels:  player, ffmpeg, ijkplayer
Yuview
The Free and Open Source Cross Platform YUV Viewer with an advanced analytics toolset
Stars: ✭ 665 (+3066.67%)
Mutual labels:  player, ffmpeg, video-player
Ijkplayer
Android/iOS video player based on FFmpeg n3.4, with MediaCodec, VideoToolbox support.
Stars: ✭ 29,752 (+141576.19%)
Mutual labels:  player, ffmpeg, ijkplayer
Player
FFmpeg and SDL2 video player
Stars: ✭ 119 (+466.67%)
Mutual labels:  player, ffmpeg, video-player
api.video-player-sdk
SDK to control and interact with the api.video HTML5 Player
Stars: ✭ 31 (+47.62%)
Mutual labels:  player, video-player
aos-Video
NOVA opeN sOurce Video plAyer: player frontend main UI
Stars: ✭ 35 (+66.67%)
Mutual labels:  player, video-player
shaka-player-react
A simple React component wrapper for shaka-player
Stars: ✭ 79 (+276.19%)
Mutual labels:  player, video-player
CommenPlayer
CommenPlayer ——Video player, Support ijkPlayer, Vlc, MediaPlayer, ExoPlayer; 视频播放器,支持ijkPlayer,Vlc,MediaPlayer,ExoPlayer
Stars: ✭ 81 (+285.71%)
Mutual labels:  player, ijkplayer
MVideo
An imitation of WeChat circle of friends video effects, can drag and zoom ,video view,base on ijkplayer.
Stars: ✭ 179 (+752.38%)
Mutual labels:  player, ijkplayer
ijkplayer
基于android端编译的ijkplayer、支持Https、附带编译教程,可快速引入项目。
Stars: ✭ 16 (-23.81%)
Mutual labels:  player, ijkplayer
nplayer
🚀 支持移动端、支持 SSR、支持直播,可以接入任何流媒体。高性能的弹幕系统。高度可定制,所有图标、主题色等都可以替换,并且提供了内置组件方便二次开发。无第三方运行时依赖。
Stars: ✭ 897 (+4171.43%)
Mutual labels:  player, video-player
danmaku-player
An HTML5 danmaku video player for real-time image processing using WebGl and Web Components.融合了webgl和web components的实时图像处理弹幕播放器
Stars: ✭ 40 (+90.48%)
Mutual labels:  player, video-player
angular-youtube-player
Simple youtube player created with angular and typescript. See demo.
Stars: ✭ 35 (+66.67%)
Mutual labels:  player, video-player

X1Player

X1Player是iOS端封装的播放器,支持直播 录播视频的播放,支持常用的播放界面控制,类似于ijkplayer 优点是体积更小,使用快捷。(为了减少SDK体积,SDK只支持arm64 armV7等真机架构)

展示效果

展示效果

功能特性

  • 支持直播点播,支持格式包括RTMP、FLV、HLS、MP4等
  • 支持横竖屏切换,支持清晰度切换
  • 支持小窗播放,支持大小窗切换
  • 支持设置封面图,重播图
  • 手势操作(调整亮度、声音、进度)
  • 支持播放预加载
  • 支持屏幕锁屏
  • 高可定制性,方便添加自定义图层,控件层界面可自定义
  • 支持网络状态监听
  • 新增未开始的倒计时页面的简单业务逻辑实践
  • 支持广告(开发中)

安装与集成

运行环境与配置

  • iOS 7+
  • Xcode 9+
  • 关闭bitcode 具体按以下操作: 在Targets -> Build Settings -> Build Options 下 将Enable Bitcode 设置为NO即可

为了尽可能减小库文件的大小,SDK仅支持 armv7/arm64真机运行环境,不支持模拟器运行,不支持bitcode

安装

pod 'X1Player', '~> 1.1.5'
  • 手动安装
    • 将工程中X1PlayerSDK文件夹下的所有文件拖入项目
    • 需要导入播放器依赖的系统库
      • libmediaplayer.a
      • OpenAL.framework
      • VideoToolbox.framework
      • GLKit.framework
      • CoreTelephony.framework
      • libz.tbd
      • libbz2.tbd
      • libiconv.tbd

用例

结构图

创建播放器

X1Player主类为X1PlayerView,您需要先创建它并添加到合适的容器View中。

self.playerView =[[X1PlayerView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_WIDTH*9/16)];

//设置代理
self.playerView.delegate = self;

[self.view addSubview:self.playerView];

开始播放

 @param url 优先播放清晰度的url url需要存在于视频清晰度字典中
 @param definitionUrlArr 视频清晰度数组
 @param title 视频标题
 @param coverImage 封面图片 也可通过coverImageView/coverImage设置图片
 @param autoplay 是否自动播放
 @param style 控制层风格 参考X1PlayerViewStyle
 
[self.playerView playWithUrl:@"http://5815.liveplay.myqcloud.com/live/5815_89aad37e06ff11e892905cb9018cf0d4_900.flv" definitionUrlArr:@[model1,model2,model3] playerTitle:@"直播清晰度切换测试" coverImage:self.image autoPlay:YES style:YZMoviePlayerControlsStyleLive];

横竖屏切换

播放器的isLocked属性标识播放器是否锁屏,调用逻辑如下


-(BOOL)shouldAutorotate{
    if (self.playerView.isLocked) {
        return NO;
    }
    return YES;
}

切换视频

在播放中可以随时切换到另一个视频,无需停止当前播放。只需要再次调用上一步的play方法传入新的url

小窗播放

小窗播是指在App内,悬浮在主window上的播放器。使用小窗播放非常简单,只需要在适当位置调用下面代码即可:

[self.playerView showFloatViewWithFrame:CGRectMake(0, 100, 160, 90) showCloseBtn:YES];

移除播放器

当不需要播放器时,调用resetPlayer清理播放器内部状态,防止干扰下次播放。

[self.playerView viewDestroy];//非常重要

License

X1Player is available under the MIT license. See the LICENSE file for more info.

更多

项目封装时间比较仓促,如果使用过程中遇到问题 请issue项目或者email [email protected]

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].