Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Matthew_C_
New Contributor I
122 Views

Where is the muxing/demuxing API

Jump to solution

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
122 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

5 Replies
Matthew_C_
New Contributor I
122 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

Petter_L_Intel
Employee
123 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

Matthew_C_
New Contributor I
122 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

Petter_L_Intel
Employee
122 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

Matthew_C_
New Contributor I
122 Views

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

Reply