An iOS 360-degree video player that streams from AVPlayer with device motion support.
Swifty360Player is an iOS library that enables playback of 360-degree videos using Apple's AVPlayer. It solves the problem of creating immersive, interactive video experiences by mapping device motion to the video camera, allowing users to look around the spherical video environment. It supports both local and remote video streams.
iOS developers building apps that require 360-degree video playback, such as VR experiences, immersive media viewers, or educational/training applications.
Developers choose Swifty360Player for its native AVPlayer integration, simple API, and device motion support, making it easier to add 360-degree video functionality without relying on heavy third-party frameworks.
iOS 360-degree video player streaming from an AVPlayer.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Leverages iOS's built-in AVPlayer for reliable streaming of local or remote 360-degree videos, ensuring compatibility with standard formats like MP4 and HLS without extra dependencies.
Uses Core Motion to map device orientation to video camera movement, providing an immersive, VR-like experience with minimal code, as demonstrated in the README examples.
Supports both Swifty360ViewController and Swifty360View, allowing setup via code or Storyboards, which simplifies adoption for different iOS app architectures.
Provides a shared Swifty360MotionManager instance to optimize device motion handling across the app, reducing resource overhead for multiple video players.
Exclusively targets iOS, making it unsuitable for cross-platform projects or applications that need to support Android, web, or other ecosystems.
Focuses only on core playback and motion control, lacking advanced VR features like stereo video support, spatial audio, or custom UI controls beyond tap-to-recenter.
Requires developers to manually add tap gesture recognizers for features like reorienting, as shown in the code snippets, adding extra boilerplate code and potential for errors.