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.

Multiple encode processes with Media SDK on Linux

sam_p_
Beginner
430 Views

I modified example 3 of "mediasdk-tutorials-0.0.3" (simple encode, from the media sdk for clients) to encode frames delivered over ethernet instead of from a file. When I try to run two of them in paralel (i.e. on two different ports), the first one runs perfectly, but the second one prints:

libva info: VA-API version 0.34.0
libva info: va_getDriverName() returns 1
terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc
ERROR: Error 1 (Operation not permitted) on pthread_setschedparam
ERROR: Error 1 (Operation not permitted) on pthread_setschedparam
Abored (core dumped)

I am running Ubuntu 12.04, on a  Intel(R) Core(TM) i7-4790S CPU @ 3.20GHz. How do I create multiple encode pipelines?

 

 

0 Kudos
7 Replies
Sravanthi_K_Intel
430 Views

Hello there - Thanks for the question. Can you give us some more details - follow this article on what information is useful for us: https://software.intel.com/en-us/forums/topic/531083

Here are some suggestions meantime:

- The sample_multi_transcode sample shows how to transcode multiple streams in parallel. You can use that as baseline to encode multiple streams in parallel.

- In your example above, what does the command line look like? Are you firing two separate simple_encode processes from the command line?

0 Kudos
sam_p_
Beginner
430 Views

Processor Type: Intel(R) Core(TM) i7-4790S CPU @ 3.20GHz
Driver Version: how do i find this?
Operating System:Ubuntu 12.04
Media SDK System Analyzer: this dosn't appear to come with media sdk for servers, where do i find it?
Quick Reproducer Code: N/A
Concise Description of the Issue: Above
Priority: Medium-High
Input File: A test pattern.
Tracer log(if required): what is this?

To run two processes I have two shells open, each one runs a *copy* of the exe with a different port specified.

0 Kudos
sam_p_
Beginner
430 Views

Any ideas as to what would cause this not to work? Can only one process have a handle on the quick sync hardware at a time? I am fairly certain two copies of "simple_encode" are able to run at the same time on my setup.

0 Kudos
Sravanthi_K_Intel
430 Views

Hello there - It has been a supremely swamped week here. I am getting back to this issue and I will surely have something for you soon. Thanks.

0 Kudos
sam_p_
Beginner
430 Views

Thank you very much for replying. Yesterday I was able to make a breakthrough and although I still do not have it working as to separate processes, I was able to get it working with separate threads using MFXCloneSession. This is sufficient for my needs so although I am still curious as to why two processes don't work, it is academic at this point and I suspect you have better things to do.

0 Kudos
Sravanthi_K_Intel
430 Views

Glad you resolved the issue. I will get back to your question, soon - happy you are not blocked on it!

0 Kudos
Jeffrey_M_Intel1
Employee
430 Views

This is a known limitation.  A workaround is described here.  We're actively investigating long term solutions for future releases, including libdrm render nodes.

0 Kudos
Reply