Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Serhat_d_
Beginner
70 Views

Intel Media SDK Live 4K HEVC 50 fps

Is there any configuration to get Live 4K HEVC 50 fps on Skylake because we could not reach 50 fps. We tested and reached only 30 fps. I shall be most grateful for any help in this matter.

0 Kudos
3 Replies
Anna_B_Intel
Employee
70 Views

Hi Serhat!

Which mode do you use: HW, SW or GACC?

Best wishes,

Anna

 

Ali_K_1
Beginner
70 Views

Hi Anna,

We tried with HW. Apart from using the direct tools in Media SDK, there is also now Intel QSV integration over Intel Media SDK in FFmpeg open source project. We tried that either and couldnt achieve 50 fps in HEVC 4K resolution.

We will be glad if you can share your ideas how to achieve this target on Skylake.

Kind Regards,

AaronL
Beginner
70 Views

It may not be possible to do this on Skylake with HW HEVC encoding.  In my software, the best I can currently do is 3840x2160p24 (this is technically UltraHD, not 4K), but I think I can get up to 30 fps with some changes to my software.  And this is on fastest encoding quality.  I've found that balanced encoding quality is generally too slow for anything above 1080p30 if you want real-time encoding.

It is highly doubtful that the hardware and underlying software and driver can keep up with any faster frame rates in real-time.  I've used Concurrency Visualizer to see what is going on, and when encoding at a quality level and/or frame rate that Skylake HEVC can't handle, you can see the impact of this on one of the Media SDK threads, and the thread quickly gets bogged down by I/O operations, I/O operations that take longer than the time gap between video frames.  This may be caused by a limitation of the hardware, but it also may be caused by software inefficiencies.

Things that might help:

  • Improved graphics driver (maybe, and this is something that depends on Intel)
  • Using a Skylake processor with a higher end version of Intel graphics components, perhaps one that is faster, has more video memory, and has more processing units
  • Building a 64-bit executable instead of a 32-bit executable
  • More and faster system memory
  • Use video memory instead of system memory

AaronL

Reply