Media (Intel® oneAPI 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
3030 Discussions

FFMPEG Quick Sync Acceleration Performance & Optimization

yang_z_
Beginner
419 Views

Hi,

I am currently working on Quick Sync based stream solution, ffmpeg is a very good open source software, so our product is based on ffmpeg, and also ffmpeg has supported the Quick Sync technology. here is the hardware details(CPU I3-6100, Memory 2 x 8G DDR4 2133 card).

I have built the ffmpeg with quick sync supports successfully, the performance is very good, encoding 8 1080p@30fps live channels at same time is not problem. but our final target is to encoding 8 1080p@50/60fps live channels. so I want to know is it possible?

The current version ffmpeg can only encoding 8 1080p channels with maximum 40 fps. I am seeking a way to achieve our target. I read this pdf document(https://www.intel.com/content/dam/www/public/us/en/documents/white-papers/cloud-computing-quicksync-video-ffmpeg-white-paper.pdf), and at the last page, it says following steps may increase the quick sync performance.

Intel *_qsv codecs present compelling performance, quality, and TCO opportunities and will continue to improve. However, especially for h264_qsv and mpeg2_qsv, significant additional performance is possible via:

     –  Use of video instead of system memory
     –  Implementing gpu-only pipelines with multiple decode, frame processing (i.e. resize), and encode executing
asynchronously
     –  Removing redundant synchronization

I haven't deep into the quick sync implementation of ffmpeg yet, but I want to know above optimization  is possible to encoding 8 1080p@50/60fps channels at same time?

best regards,

Yang Zhang

0 Kudos
2 Replies
Jiandong_Z_Intel
Employee
419 Views

Hi There,

There is an article https://software.intel.com/en-us/articles/aync-and-join-operation-in-media-sdk-multi-transcoding

may help you to understand async and join.

 

Thanks,

Zachary

 

0 Kudos
Ishmael_Sameen
Beginner
419 Views

Hi Yang Z.,

You can try these GStreamer plugins:

https://github.com/ishmael1985/gstreamer-media-SDK

These plugins should be able to meet your performance requirements as they have already addressed the issues listed for FFMPEG QSV (full video memory support, asynchronous task sharing, zero-copy, etc.). They should be considerably faster than FFMPEG QSV, and with a lot more options, the gst-mfx plugin performance should be able to match the reference sample MSDK apps.

0 Kudos
Reply