I’m currently using a video output card with 8 ports to play 8 videos loaded from files.
My client is looking for a solution that can stream 8 different videos synchronized and looped and be able to switch instantly between channels.
At the moment I’m not decoding videos in real-time but I load the file in a memory stream, I decode the video using “EMGU CV” and grab each frame saving it in a List (this takes a lot of rams but allows a lot of stability, playback capability, instant synchronization, and switch between output channels).
This process is quite slow using the CPU for video decode as it takes 8000 ms for 30 seconds of a 1080p 30fps video.
I found the NVIDIA Video Codec SDK page with a benchmark showing a list of graphic cards that can decode up to 2000 frames each second, this list seems not updated with the latest cards so I would like to know which cards can help me improve decode time or has the capability of decoding multiple videos in real-time (8 1080p at the moment but this may change in the future to at least 4 in 4k).
I’m currently developing in C# using .NET Framework and the Video Codec SDK is written in c++ is there any official C# interface/wrapper I can use?
Any help would be appreciated.
Thank you for your time.