Hello Guys i am new here so still picking up things.
I want to make a Screen Capture -> H264 Encode -> Network Solution. I tried x264 and it has latency of around 150ms grabbing a 1280x720@30fps feed. I achieved this on my Intel i5 520M Laptop. Now what I was wondering is, using a 4th Gen Intel Processor and the Media SDK (native h264 encoding [HW Accelerated]) will i be able to drop the latency? like say broadcast 720p@30fps wth a latency of around 40-50ms?
You may want to define the events of the latency period you're talking about.
Are you talking about from screen capture to receipt by another computer?, Or are you talking about screen capture to encoded bitstream out of the encoder? Or are you talking about NV12 frame submitted to encoder to bitstream output?
In any event, it's a good question, and I'm curious to see what the Intel engineers say about latency through the encoder.
I meant end to end.
From what i see on the host screen and then after decoding what i see on the other machine.
To test the latency i use a stopwatch running in the browser. There are watches with microsecond counting.
What I tested - ScreenCapture -> x264 -> udp packet -> ffmpeg decoder -> ScreenOut
on a first generation i7 the latency (final stream) around 300ms for 1280x720@30fps.
With a Raspberry Pi Decoder(The pi supports hardware accelerated decoding) I got around 200ms for the same feed with omxplayer with the livestream flag.
i5 host running x264 -> i7 Decoder 1280x720@30fps 300-400ms latency
i5 host running x264 -> raspberry pi decoder 1280x720@30fps 180-250ms latency so i am guessing the pi takes approximately 80's ms to decode. Well the hardware decoders are 40-80ms latency just saying. To improve the real time factor i was just wondering if i can do something to optimize the encoder. Use Hardware Accelerated h.264 encoding. So my final solution will be something like 100-150ms End to end latency.
So my question is can i drop the encoding latency to around 50ms for 1280x720@30fps using a 4th Gen intel i5/7 and Hardware Accelerated Encoding?