登录 立即注册
金钱:

Code4App-iOS开发-iOS 开源代码库-iOS代码实例搜索-iOS特效示例-iOS代码例子下载-Code4App.com

SGPlayer 强大的视频播放器,支持VR全景,RTMP直播,硬件解码

[复制链接]
来自: libobjc 分类: iOS精品源码 上传时间: 2017-3-16 19:50:15

项目介绍:

GitHub - SGPlayer

(banner)

Build Status
Platform

SGPlayer

  • SGPlayer是一个强大的媒体资源播放器框架,内核由AVPlayer、FFmpeg组成,通过播放内核选择策略动态选择最优播放内核,并且可以自定义内核选择策略。

功能特点

  • 支持VR全景视频播放

  • 支持手势、传感器操控VR全景视频

  • 支持VR眼镜双眼模式,并具有边缘畸变校正功能

  • 支持iOS、macOS、TVos

  • 支持H.264硬解解码(VideoToolBox)

  • 支持选择软件解码、硬件解码

  • 支持RTMP、RTSP等直播流

  • 支持所有常见媒体格式

  • 支持选择视频图像缩放方式

  • 支持选择音频轨道

  • 支持后台播放

  • 支持调整音频输出音量

  • 支持无损视频截图

  • 支持Bitcode

  • 极简的时间通知机制

编译方式

1.脚本编译


// iOS
git clone git@github.com:libobjc/SGPlayer.git
cd SGPlayer
git submodule update --init --recursive
sh build.sh iOS

// macOS
git clone git@github.com:libobjc/SGPlayer.git
cd SGPlayer
git submodule update --init --recursive
sh build.sh macOS

// tvOS
git clone git@github.com:libobjc/SGPlayer.git
cd SGPlayer
git submodule update --init --recursive
sh build.sh tvOS

2.手动编译

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

git clone git@github.com:libobjc/SGPlayer.git
cd SGPlayer
git submodule update --init --recursive
  • 步骤2 - 手动编译FFmpeg并放在指定目录下

// 将FFmpeg编译出的.a静态库分别放在对应目录
// iOS
/SGPlayer/Classes/Core/SGFFPlayer/ffmpeg/lib-iOS
// macOS
/SGPlayer/Classes/Core/SGFFPlayer/ffmpeg/lib-macOS
// tvOS
/SGPlayer/Classes/Core/SGFFPlayer/ffmpeg/lib-tvOS
  • 编译完成效果图(仅目标平台的静态库存在即可)

ffmpeg-libs

使用示例

  • 详细使用示例参见demo

基础视屏播放


self.player = [SGPlayer player];

// 注册事件通知
[self.player registerPlayerNotificationTarget:self stateAction:@selector(stateAction:) progressAction:@selector(progressAction:) playableAction:@selector(playableAction:) errorAction:@selector(errorAction:)];

// 视频画面点击事件
[self.player setViewTapAction:^(SGPlayer * _Nonnull player, SGPLFView * _Nonnull view) {
    NSLog(@"player display view did click!");
}];

// 播放普通视频 (2种方式2选1即可)
[self.player replaceVideoWithURL:contentURL]; // 方式1
[self.player replaceVideoWithURL:contentURL videoType:SGVideoTypeNormal]; // 方式2

// 播放VR全景视频
[self.player replaceVideoWithURL:contentURL videoType:SGVideoTypeVR];

// 播放
[self.player play];

高级设置


// 三种预设播放内核选择策略
self.player.decoder = [SGPlayerDecoder defaultDecoder];     // 默认配置,混合使用AVPlayer和FFmpeg,根据容器格式动态选择播放内核
self.player.decoder = [SGPlayerDecoder AVPlayerDecoder];    // 仅使用AVPlayer
self.player.decoder = [SGPlayerDecoder FFmpegDecoder];      // 仅使用FFmpeg

// 单个容器格式单独配置示例
self.player.decoder.mpeg4Format = SGDecoderTypeFFmpeg;      // 使用FFmpeg播放mp4文件

// 开启FFmpeg硬解
self.player.decoder.ffmpegHardwareDecoderEnable = YES;

// 进入VR眼镜模式
self.player.displayMode = SGDisplayModeBox;

// 设置后台播放模式
self.player.backgroundMode = SGPlayerBackgroundModeAutoPlayAndPause;  // 自动暂停及恢复
self.player.backgroundMode = SGPlayerBackgroundModeContinue;          // 继续播放

效果演示

iOS

  • 普通视频

ios-i-see-fire

  • VR全景视频

ios-google-vr

  • VR全景视频双眼模式

ios-google-vr-box

macOS

  • 普通视频

mac-i-see-fire

  • VR全景视频

mac-google-vr

github地址:
https://github.com/libobjc/SGPlayer

code4app

相关源码推荐:

    我来说两句
    *滑动验证:
    所有评论(128)
    BlueManlove 2017-3-18 14:02:14
    不错不错,楼主辛苦了。。。
    回复
    hellokenken 2017-3-18 14:02:18
    写的真的很不错
    回复
    AlonMessi 2017-3-18 14:02:23
    code4app确实是个好地方,必须支持~
    回复
    phoiu 2017-3-18 14:03:32
    好好 学习了 确实不错
    回复
    littleRed 2017-3-18 14:04:24
    膜拜大神~
    回复
    kengsir 2017-3-18 14:06:01
    code4app好的代码demo真的很多,谢谢啦~
    回复
    code4app热心网友 2017-3-18 16:15:23
    强烈支持楼主ing……
    回复
    code4app热心网友 2017-3-20 11:30:57
    正需要啊,感谢楼主无私分享!
    回复
    code4app热心网友 2017-3-20 15:42:46
    楼主用心了,内容非常精彩。
    回复
    提取码:  下载次数:125 状态:已购或VIP 售价:0(原价:10)金钱 下载权限:初级码农 
    2774 0 125
    相关代码
      联系我们
      首页/微信公众账号投稿

      帖子代码编辑/版权问题

      QQ:435399051,742864542

      如何获得代码达人称号?

      代码贡献英雄榜
      用户名 下载数
      代码分类
      通过邮件订阅最新 Code4App 信息
      上一条 /4 下一条
      联系我们
      关闭
      合作电话:
      13802416937
      Email:
      435399051@qq.com
      商务市场合作/投稿
      问题反馈及帮助
      联系我们

      广告投放| Github|申请友链|手机版|Code4App ( 粤ICP备15117877号-1 )

      快速回复 返回顶部 返回列表