Media (Intel® Video Processing Library, Intel Media SDK)
Access community support with transcoding, decoding, and encoding in applications using media tools like Intel® oneAPI Video Processing Library and Intel® Media SDK
Announcements
The Intel Media SDK project is no longer active. For continued support and access to new features, Intel Media SDK users are encouraged to read the transition guide on upgrading from Intel® Media SDK to Intel® Video Processing Library (VPL), and to move to VPL as soon as possible.
For more information, see the VPL website.

H.264 Encoding from Screen Capture

Kevin_D_
Beginner
561 Views

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?

 

0 Kudos
2 Replies
celli4
New Contributor I
561 Views

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.

 

0 Kudos
Kevin_D_
Beginner
561 Views

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?

0 Kudos
Reply