We need a video player to use within our Unity application. Our video comes in via a hardware encoder located on the LAN.
Our video sources are "live" RTSP streams that contain h.264 encoded video & audio. We want to be able to then play this video within our Unity application utilizing the fastest, lowest-latency way possible for our target hardware.
Our videos range from 720@15 to 4k@60.
Our target hardware device is the Amazon Firestick 4K (Fire OS 6, Android API level 25). We would like playback to be at the encoded rate if possible, and 60FPS is definitely required, even if that's only available at 1080P resolution.
All target devices have hardwired connections, network (both latency & bandwidth) are a non-concern.
Low latency is important but not critical - latency is inherent in RTSP streams and we understand that. We'd like to minimize latency as much as possible though, and we certainly expect latency be below approximately 3-5 seconds total, from encoder-to-glass. We'd rather drop frames or "reset" the stream occasionally to 'catch up' vs have the client/player end up "behind" due to decoding speed / target device speed.
We have tried all of the commercially-available solutions and experimented with several open source solutions and not had fully acceptable results.
We're developers; we don't need any UI at all, we just need working code. Ideally, we'd like this to be a native plugin that we can then use and tweak/adjust to be perfect for our use-case.
We're fine with any library that has agreeable license terms, so long as it works & is stable (ie commercial use must be allowed).