SGPlayer 跨平台媒体播放器框架开源项目

我要开发同款
匿名用户2017年04月21日
98阅读

技术信息

开源地址
https://github.com/libobjc/SGPlayer
授权协议
GPL

作品详情

SGPlayer

SGPlayer是一款基于AVPlayer、FFmpeg的媒体资源播放器框架。支持360°全景视频,VR视频,RTMP、RTSP等直播流;同时支持iOS、macOS、tvOS三个平台。

功能特点

支持播放360°全景视频。

支持手势、传感器操控360°全景视频。

支持双眼模式,具有畸变校正、色散校正。

支持iOS、macOS、tvOS。

支持H.264硬件解码(VideoToolBox)。

支持RTMP、RTSP等直播流。

支持后台播放。

支持选择音频轨道。

支持控制音频输出音量。

支持无损视频截图。

支持近所有常用媒体格式。

支持Bitcode。

极简的事件通知机制。

编译方式(2选1即可)

1.脚本编译

// iOSgit cloe https://github.com/libobjc/SGPlayer.gitcd SGPlayersh compile-build.sh iOS// macOSgit cloe https://github.com/libobjc/SGPlayer.gitcd SGPlayersh compile-build.sh macOS// tvOSgit cloe https://github.com/libobjc/SGPlayer.gitcd SGPlayersh compile-build.sh tvOS

2.手动编译

步骤1-克隆项目并安装子模块

git cloe git@github.com:libobjc/SGPlayer.gitcd SGPlayergit submodule update --iit --recursive

步骤2-手动编译FFmpeg并放在指定目录下

// 将FFmpeg编译出的.a静态库分别放在对应目录/SGPlayer/Classes/Core/SGFFPlayer/ffmpeg/lib-iOS        // iOS/SGPlayer/Classes/Core/SGFFPlayer/ffmpeg/lib-macOS      // macOS/SGPlayer/Classes/Core/SGFFPlayer/ffmpeg/lib-tvOS       // tvOS使用示例

详细使用示例参见demo

iOS依赖

SGPlayer.framework

SGPlatform.frameworkOptioal

CoreMedia.framework

AudioToolBox.framework

VideoToolBox.framework

libicov.tbd

libbz2.tbd

libz.tbd

macOS依赖

SGPlayer.framework

SGPlatform.frameworkOptioal

CoreMedia.framework

AudioToolBox.framework

VideoToolBox.framework

VideoDecodeAcceleratio.framework

libicov.tbd

libbz2.tbd

libz.tbd

libizma.tbd

基础视屏播放self.player = [SGPlayer player];// 注册事件通知[self.player registerPlayerNotificatioTarget:self stateActio:@selector(stateActio:) progressActio:@selector(progressActio:) playableActio:@selector(playableActio:) errorActio:@selector(errorActio:)];// 视频画面点击事件[self.player setViewTapActio:^(SGPlayer * _Noull player, SGPLFView * _Noull view) {    NSLog(@"player display view did click!");}];// 播放普通视频 (2种方式2选1即可)[self.player replaceVideoWithURL:cotetURL]; // 方式1[self.player replaceVideoWithURL:cotetURL videoType:SGVideoTypeNormal]; // 方式2// 播放360度全景视频、VR视频[self.player replaceVideoWithURL:cotetURL videoType:SGVideoTypeVR];// 播放[self.player play];高级设置// 三种预设播放内核选择策略self.player.decoder = [SGPlayerDecoder defaultDecoder];     // 默认配置,混合使用 AVPlayer和FFmpeg,根据容器格式动态选择播放内核self.player.decoder = [SGPlayerDecoder AVPlayerDecoder];    // 仅使用 AVPlayerself.player.decoder = [SGPlayerDecoder FFmpegDecoder];      // 仅使用 FFmpeg// 单个容器格式单独配置示例self.player.decoder.decodeTypeForMPEG4 = SGDecoderTypeFFmpeg;      // 使用 FFmpeg 播放 mp4 文件// 开启 FFmpeg 硬解self.player.decoder.hardwareAccelerateEableForFFmpeg = YES;// 进入 VR眼镜 模式self.player.displayMode = SGDisplayModeBox;// 设置后台播放模式// 如果需要后台播放,需将项目的 Backgroud Modes 打开并勾选 Audio 选项, 并将 AVAudioSessio 的 Category 设为AVAudioSessioCategoryPlaybackself.player.backgroudMode = SGPlayerBackgroudModeAutoPlayAdPause;  // 自动暂停及恢复self.player.backgroudMode = SGPlayerBackgroudModeCotiue;          // 继续播放演示iOS

Plaevideo

360°paoramavideo

功能介绍

SGPlayer SGPlayer 是一款基于 AVPlayer、FFmpeg 的媒体资源播放器框架。支持360°全景视频,VR视频,RTMP、RTSP 等直播流;同时支持 iOS、ma...

示例图片

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论