A 360-degree panorama video player library for iOS with Metal rendering and SwiftUI support.
Fisheye is an iOS library for playing 360-degree panoramic videos with immersive touch-based navigation. It solves the problem of displaying spherical video content in iOS applications by providing a high-performance rendering pipeline and easy-to-use APIs. The library handles the complex geometry and video processing required to create an interactive 360-degree viewing experience.
iOS developers building applications that require 360-degree video playback, such as virtual reality experiences, immersive media viewers, or educational/training apps with panoramic content.
Developers choose Fisheye for its modern Metal-based rendering performance, native Swift implementation, and excellent SwiftUI integration. It provides a specialized solution for 360-degree video that's more focused and easier to implement than building custom rendering pipelines from scratch.
iOS 360° panorama video player with Metal rendering support (formerly HTY360Player)
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 Apple's Metal framework for efficient graphics processing, ensuring smooth 360-degree video playback on modern iOS devices, as noted in the README's focus on modern performance.
Provides first-class SwiftUI support with FisheyeSwiftUIView and view modifiers, enabling seamless integration into modern iOS apps with idiomatic APIs, as demonstrated in the usage examples.
Offers adjustable settings like field of view, frame rate, touch sensitivity, and sphere quality presets, giving developers fine-grained control over the immersive experience without deep customization.
Written entirely in Swift, ensuring compatibility with modern iOS development practices and easier maintenance, as highlighted in the key features.
Restricted to iOS 15.0 and above, excluding older devices and other platforms, which can be a barrier for projects with broader compatibility requirements.
Focused solely on 360-degree video playback, lacking broader video player capabilities such as streaming protocols, DRM, or advanced UI controls, necessitating additional work for complex use cases.
Relies on a tutorial for an older OpenGL ES version, which may not fully align with the current Metal-based implementation, potentially causing confusion for developers seeking in-depth guidance.