An iOS library for playing 360-degree video streams from AVPlayer with gyroscope and gesture controls.
NYT360Video is an iOS library that enables developers to integrate 360-degree spherical video playback into their applications. It solves the problem of creating immersive video experiences by providing the core functionality needed to play 360-degree videos with gyroscope and gesture-based navigation controls, while leveraging Apple's standard AVPlayer framework for video streaming.
iOS developers building applications that require immersive 360-degree video experiences, particularly those in media, entertainment, or educational sectors who need to integrate spherical video content.
Developers choose NYT360Video because it provides a focused, lightweight solution for 360-degree video playback without imposing UI constraints, allowing seamless integration into existing video player implementations while handling complex motion and gesture interactions.
NYT360Video plays 360-degree video streamed from an AVPlayer on iOS.
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 device motion sensors for immersive exploration, with a protocol-based approach to prevent conflicts with other app components using CMMotionManager.
Allows injection of custom motion managers via NYT360MotionManagement protocol, ensuring compatibility with apps already handling device motion.
Provides configurable pan axes and exposes gesture recognizers for seamless integration with host app's UI, as detailed in the README's interaction management section.
Built on Apple's AVPlayer framework, supporting both local files and network streams for reliable 360-degree video playback without reinventing the wheel.
Has a known issue causing CoreAudio crashes on iOS 10 when the device is locked, requiring workarounds like enabling background audio capability, as admitted in the README.
Requires developers to implement all playback controls (e.g., play, pause, seek) from scratch, increasing development time and complexity for basic player functionality.
Integrating with CMMotionManager can be tricky, especially for apps without prior motion handling, as it demands careful protocol conformance and singleton management.