Open Source iOS 360 Degree Panorama Video Player.

Overview

๐ŸŽบ ๐ŸŽบ ๐ŸŽบ ๐ŸŽบ ๐ŸŽบ ๐ŸŽบ ๐ŸŽบ ๐ŸŽบ ๐ŸŽบ ๐ŸŽบ ๐ŸŽบ The Metal with Swift 5.0 version is comming ๐ŸŽบ ๐ŸŽบ ๐ŸŽบ ๐ŸŽบ ๐ŸŽบ ๐ŸŽบ ๐ŸŽบ ๐ŸŽบ ๐ŸŽบ ๐ŸŽบ ๐ŸŽบ

360 VR Player

A Open Source, Ad-free, Native and Universal 360 dgree panorama video player for iOS.

SpaceAppStore

screenshot

About

HTY360Player is a 360 degree panorama video player for iOS.

Tutorial (Swift)

How to Create a 360 Video Player with OpenGL ES 3.0 and GLKit in iOS

Features

  • Play Online 360ยฐ Video

screenshot

  • Play Local 360ยฐ Video

screenshot

Todo

  • Metal version.

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add awesome feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

License

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

Comments
  • The media data could not be decoded on this device

    The media data could not be decoded on this device

    Getting this issue with SlateVideo360, however I think it is coming from this instead. My video plays fine on an iPhone 6, but on other devices like a 5c and a iPad, I get the error.

    Is this due to my video, or the code? Some sources like stack overflow suggest its an issue with the code http://stackoverflow.com/questions/26209099/error-domain-avfoundationerrordomain-code-11821-cannot-decode

    Thanks

    opened by SteveEdson 3
  • Added targeting area feature

    Added targeting area feature

    • Added HTY360Target class Class that rappresent a Target to acquire int targetId - target id if needed NSString name - target name float roll - the target center roll float yaw - the target center yaw double startTargetingTime - the starting time that the target can be acquired (eg. video length of 1 minute, the target visible from second 15) double endTargetingTime - the starting time that the target can be acquired (eg. video length of 1 minute, the target visible until second 42) float targetingAreaWidth - the width of the target area float targetingAreaHeight - the height of the target area

    • Added in HTY360PlayerVC.xib

      • targetAcquireLbl: Label that indicate whenever the target is acquired
      • targetImageView: Image view of a red target to show the current center position watched
      • currentYawAndRollView: View containing label (currentYawLbl, currentRollLbl) that show to the developer the current yaw and roll ad the center of the red target
    • Added in HTY360PlayerVC class // property for turn on or off the targeting @property (assign, nonatomic) BOOL canTargeting;

      // Hide or show the target image, the target acquire label and the current yaw and roll view

      • (void)setTargetVisiblity:(BOOL)visible;

      // Enable or disable the targeting function (set canTargeting boolean)

      • (void)setTargetingEnabled:(BOOL)enabled;

      // method called by HTYGLKVC for check if the user is acquiring a target passng yaw and roll

      • (void)checkTargetAcquiredInYaw:(float)yaw andRoll:(float)roll;

      // called when a target is acquired

      • (void)onTargetAcquired:(HTY360Target*)target;

      // method for demo, create a target in front of the video (looking straight where the camera is walking)

      • (void)createTarget;
    • Added in HTYGLKVC class // convert the current view matrix to yaw and roll center -(void)convertAngles:(GLKMatrix4)matrix;

    opened by MarkWarriors 1
  • Memory warning before crash

    Memory warning before crash

    Hi, great work! It's ok but some seconds after video starts, app crash with memory wornings!

    Log: HTY360Player[1802:660394] Received memory warning. Message from debugger: Terminated due to memory issue

    opened by marcoiacobelli 1
  • How to play local video like demo?

    How to play local video like demo?

    Hello, I want to play a local 360 video downloaded from Youtube as demo, but it seems that the player will treat it only as a normal video instead of 360 video, i.e. it doesn't support video panning by moving the phone anymore.

    How can I play local video like demo?

    opened by yenchenlin 1
  • Activating Open Collective

    Activating Open Collective

    Hi, I'm making updates for Open Collective. Either you or another core contributor signed this repository up for Open Collective. This pull request adds financial contributors from your Open Collective https://opencollective.com/HTY360Player โค๏ธ

    What it does:

    • adds a badge to show the latest number of financial contributors
    • adds a banner displaying contributors to the project on GitHub
    • adds a banner displaying all individuals contributing financially on Open Collective
    • adds a section displaying all organizations contributing financially on Open Collective, with their logo and a link to their website

    P.S: As with any pull request, feel free to comment or suggest changes.

    Thank you for your great contribution to the Open Source community. You are awesome! ๐Ÿ™Œ And welcome to the Open Collective community! ๐Ÿ˜Š

    Come chat with us in the #opensource channel on https://slack.opencollective.com - great place to ask questions and share best practices with other Open Source sustainers!

    opened by monkeywithacupcake 0
  • Prevent vertical rotation

    Prevent vertical rotation

    Hello Guys! Thanks for the wonderful library.

    I am using this library to play "Stereoscopic 360 Video" that is "Side by Side Stitched" and I don't want vertical rotation like normal "Monoscopic video". How do I prevent vertical rotation?

    Please help me guys! Thanks.

    opened by TeksniOS 0
  • How to get a front and back of a 360 video?

    How to get a front and back of a 360 video?

    Hey Hanton! Your library is very nice. I just love to use it. I am also working on 360 degree videos where your player works great.

    However, I need to render an equirectangular video format in a normal 2D field of view, and need to extract front and back part from equirectangular 360 video.

    For example:

    I am developing a video player that has 3 options to select.

    1. Front Mode
    2. Back Mode
    3. 360 Mode

    Here, "360 Mode" is what your library serves perfectly. However, I also need to know how to separate front and back parts from an equirectangular video.

    I need to split the equirectangular video on the edge and provide a front and back view.

    So my question is,

    In order to do above, what sort of transformation operations are required to be performed on input video (equirectangular format), so that I can get the cropped normal field of view?

    Any help would be much appreciated, Brother. Thanks.

    opened by TeksniOS 0
  • 'Could not load NIB in bundle ... .app (loaded) with name 'HTY360PlayerVC'

    'Could not load NIB in bundle ... .app (loaded) with name 'HTY360PlayerVC'

    Hello I have a question about integration with CocoaPods, I am getting the fatal error listed in the title every time I try to present the player.

    func testHTY360Player() {
    
            guard let hty360Player = HTY360PlayerVC(nibName: "HTY360PlayerVC", bundle: nil, url: url)
                    else { return }
            present(hty360Player, animated: true, completion: nil)
    
        }
    

    Additionally I have tried to get the bundle this way. Unfortunately that gets an empty bundleURL, so you never get to the bundle.

    let podBundle = Bundle(for: HTY360PlayerVC.classForCoder())
    if  let bundleURL = podBundle.url(forResource: "HTY360Player", withExtension: "bundle"),
        let bundle = Bundle(url: bundleURL) {
            // ... never gets to here
    }
    

    Thank you for your consideration in advance with regards to this matter, I really appreciate it.

    Best, Henry

    opened by hdinhof1 1
  • Can we have a Tiny Planet view ( Stereographic )

    Can we have a Tiny Planet view ( Stereographic )

    the way I seem is at esGenSphere, where the pixel vertices holding place..

    But I don't know how to change it, or how it happens, or whats algorithm behinds that.

    Thanks for helping & let me know & learn. please..

    opened by NewCodi 0
Simple 360 Video player for iOS using SceneKit

simple360player_iOS Simple 360 Video player for iOS using SceneKit. VR ready. Stereoscopic Ready. We generate a simple scene in which we add a sphere

Arthur Swiniarski 154 Nov 2, 2022
A sample project that provides the basics to create an interactive VR experience on iOS

VR_Toolkit_iOS A sample project that provides a basic toolkit to create an interactive VR experience on iOS. Written in Swift 2.0 using SceneKit. We a

Arthur Swiniarski 85 Apr 6, 2022
Open Source iOS 360 Degree Panorama Video Player.

?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? The Metal with Swift 5.0 version is comming ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 360 VR Player A Open Source, Ad-free, Na

Hanton Yang 2k Jan 1, 2023
Swifty360Player - iOS 360-degree video player streaming from an AVPlayer.

Swifty360Player iOS 360-degree video player streaming from an AVPlayer. Demo Requirements Swifty360Player Version Minimum iOS Target Swift Version 0.2

Abdullah Selek 148 Dec 18, 2022
iOS 360-degree video player streaming from an AVPlayer.

Swifty360Player iOS 360-degree video player streaming from an AVPlayer. Demo Requirements Swifty360Player Version Minimum iOS Target Swift Version 0.2

Abdullah Selek 148 Dec 18, 2022
NYT360Video plays 360-degree video streamed from an AVPlayer on iOS.

NYT360Video 360ยบ video playback from The New York Times NYT360Video plays spherical 360ยบ video, allowing the user to explore the video via pan gesture

The New York Times 270 Nov 23, 2022
NYT360Video plays 360-degree video streamed from an AVPlayer on iOS.

NYT360Video 360ยบ video playback from The New York Times NYT360Video plays spherical 360ยบ video, allowing the user to explore the video via pan gesture

The New York Times 270 Nov 23, 2022
360 video player for iOS written in swift - a subset of SceneKit that works

DDDKit An open source library to support 360 videos and pictures. It's designed as a generic 3D library that you can use for much more! Example of use

Guillaume Sabran 123 Aug 9, 2022
Simple 360 Video player for iOS using SceneKit

simple360player_iOS Simple 360 Video player for iOS using SceneKit. VR ready. Stereoscopic Ready. We generate a simple scene in which we add a sphere

Arthur Swiniarski 154 Nov 2, 2022
AudioKit Sample Player (ROM Player) - EXS24, Sound Font, Wave Player

AudioKit ROM / Sample Player Welcome to the official AudioKit example of a sample-based music instrument written in Swift. It can be modified to play

AudioKit 500 Dec 27, 2022
ARVideoPortal - A Minimal iOS AR app to display 360 / video in sphere space

AR Video Portal A minimal iOS AR app to display 360 / video in sphere space. Xco

Yasuhito Nagatomo 6 Jun 3, 2022
Music Player for iOS which looks & feels like classic player

Prodigal Music Player APP looks and feels like a classic device. Bring back the good old player to life. Screenshots Home Page Album Gallery Home Page

bob.sun 40 Nov 11, 2022
Musical Player - A Simple Musical Player For iOS

Musical_Player The app is a musical player. It was written as an task for a mobi

null 1 Nov 26, 2022
An open source iOS framework for GPU-based image and video processing

GPUImage Brad Larson http://www.sunsetlakesoftware.com @bradlarson [email protected] Overview The GPUImage framework is a BSD-licensed iO

Brad Larson 20k Jan 1, 2023
Linphone is an open source softphone for voice and video over IP calling and instant messaging

Linphone is an open source softphone for voice and video over IP calling and instant messaging. It is fully SIP-based, for all calling, presence and I

Infinitaz 0 Jun 30, 2022
360ยฐ flyover on a MKMapView ๐Ÿš

FlyoverKit enables you to present stunning 360ยฐ flyover views on an MKMapView with zero effort while maintaining full configuration possibilities. Fly

Sven Tiigi 693 Jan 3, 2023
Request the Location Services via a 3D 360ยฐ flyover MKMapView ๐Ÿ—บ

STLocationRequest STLocationRequest is a simple and elegant way to request the users location services at the very first time. The STLocationRequestCo

Sven Tiigi 640 Dec 6, 2022
BMPlayer - A video player for iOS, based on AVPlayer, support the horizontal, vertical screen

A video player for iOS, based on AVPlayer, support the horizontal, vertical screen. support adjust volume, brightness and seek by slide, support subtitles.

Eliyar Eziz 1.8k Jan 4, 2023
โ–ถ๏ธ video player in Swift, simple way to play and stream media on iOS/tvOS

Player Player is a simple iOS video player library written in Swift. Looking for an obj-c video player? Check out PBJVideoPlayer (obj-c). Looking for

patrick piemonte 2k Jan 2, 2023
VGPlayer - ๐Ÿ“บ A simple iOS video player by Vein.

Swift developed based on AVPlayer iOS player,support horizontal gestures Fast forward, pause, vertical gestures Support brightness and volume adjustment, support full screen, adaptive screen rotation direction.

Wen Rong 399 Dec 23, 2022