I have a CCTV system, where there are 4 analog CCTV cameras connected to an Hikvision DVR box. Hikvision box has a C API which allows us to retrieve H264 streams from each of the 4 analog cameras. The problem we have is that the aggregate bandwidth is too much (~4 Mbps costs too much) since we plan to send this over the network. So what we are thinking is to transcode the stream with a more efficient codec like HVEC / H265.
This leads us to Intel Media SDK.
Is my understanding correct that I could just study the code in `sample_multi_transcode`? Will I be able to simply take the raw H264 stream and put it through the appropriate Intel Media SDK functions and it would be able to transcode the stream in real-time?
As for the hardware itself, I plan to use Skylake or Kerby Lake (when it's out) for maximum performance because, frankly, I'm afraid that the CPU performance will not be enough. The hardware running the program will be installed at each CCTV pole unsupervised and "low power" (as in, it cannot consume power like rack servers).
As I reply in the other post, you could take the code sample_multi_transcode and check its performance first, then you can modify it for your application.
You might try the SkyLake first to see if it satisfy your requirement. For CPU capability, I am not sure the codec, the system resource requirement of your application, but in general, the CPU capability should not be a problem for codec since it is offloaded to GPU.