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.
3058 Discussions

FFMPEG Quick Sync Acceleration Performance & Optimization

yang_z_
Beginner
682 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
682 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
682 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