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.

Where is the muxing/demuxing API

Matthew_C_
New Contributor I
574 Views

Hello,

I understand that the sample_full_transcode only converts from one container format to another.  However, I understand that I should still be able to find in there a way to convert a h264 stream that I am generating out of YUV packets, into mp4 packets, which I would then be able to stream.

Using Intel's new  muxing/demuxing API is that possible if I don't have audio involved?  Or do those functions also only work between container function to container function?

How would I go about finding that API?  Is that what ffmpeg_mux_impl.c?  If so how can I find documentation on what functions like MFXMuxer_PutBitstream do?

Anyway something still isn't clicking yet.. thanks!

0 Kudos
1 Solution
Petter_L_Intel
Employee
574 Views

Hi Matthew,

I would not recommend using mux/demux using Intel IPP samples framework. Those components will likely work, but the capabilities are very limited and those samples are not maintained anymore so if you find issues you would have to find a solution yourself.

Instead I suggest you use the new Media SDK mux/demux library (the compete mux/demux solution is available as sample code) or use FFmpeg directly as illustrated in the Media SDK tutorial sample which showcases FFmpeg integration,

 

You can use the new Media SDK mux/demux API in any scenario you desire. Such as YUV->H.264->mux.  Unfortunately there is currently no individual Media SDK sample showcasing just using the mux/demux functionality. However, "full_transcode" sample does showcase how the API is used so you can extract the mux/demux component and use it in your own application without issues.

Regards,
Petter

View solution in original post

0 Kudos
5 Replies
Matthew_C_
New Contributor I
574 Views

Actually I found this tutorial, which seems nice:

http://software.intel.com/en-us/articles/muxing-with-intel-media-software-development-kit

 

It does require buying this though to use the muxer, right?:

http://software.intel.com/en-us/intel-ipp

0 Kudos
Petter_L_Intel
Employee
575 Views

Hi Matthew,

I would not recommend using mux/demux using Intel IPP samples framework. Those components will likely work, but the capabilities are very limited and those samples are not maintained anymore so if you find issues you would have to find a solution yourself.

Instead I suggest you use the new Media SDK mux/demux library (the compete mux/demux solution is available as sample code) or use FFmpeg directly as illustrated in the Media SDK tutorial sample which showcases FFmpeg integration,

 

You can use the new Media SDK mux/demux API in any scenario you desire. Such as YUV->H.264->mux.  Unfortunately there is currently no individual Media SDK sample showcasing just using the mux/demux functionality. However, "full_transcode" sample does showcase how the API is used so you can extract the mux/demux component and use it in your own application without issues.

Regards,
Petter

0 Kudos
Matthew_C_
New Contributor I
574 Views

Ok, looks like a good start,  I believe you are referring to the functions within ffmpeg_mux_impl.cpp...  sort of figuring out what those do but is there any documentation on the mux/demux API yet?

Thanks,

Matt

0 Kudos
Petter_L_Intel
Employee
574 Views

Hi Matt,

The mux/demux documentation is part of the samples package. Look in the folder "sample_spl_mux" inside the "full_transcode" sample package.

Regards,
Petter

0 Kudos
Matthew_C_
New Contributor I
574 Views

Good place to put it, probably should have noticed that one myself.  Thanks again Petter!

0 Kudos
Reply