Media (Intel® oneAPI Video Processing Library, Intel Media SDK)
Access community support with transcoding, decoding, and encoding in applications using media tools from Intel. This includes Intel® oneAPI Video Processing Library and Intel® Media SDK.
2946 Discussions

Can I use Intel's Media SDK to wrap a h264 packet within a mp4 container?

Matthew_C_
New Contributor I
183 Views

At the moment, I am using the Media SDK to convert YUV frames individually coming into my program into a h264 stream.

I would like to wrap those h264 packets in an mp4 (or mkv would be acceptable) and stream them out.

So, can Intel's Media SDK handle that?

0 Kudos
1 Solution
Petter_L_Intel
Employee
183 Views

Hi Matthew,

that question has many answers :)

There are many possible ways to package H.264 stream into containers. See below for some options:

1. Media SDK 2014 introduced a new muxing/demuxing API (which utilizes ffmpeg/libav). The benefits of using this API is that it is tightly integrated with the SDK. However, the feature set of this muxer API is limited. 

2. Use open source project such as ffmpeg/libav for muxing as illustrated in the Media SDK tutorial samples: http://software.intel.com/en-us/articles/intel-media-sdk-tutorial 

3. Integrate with any third party commercial muxing solution

4. Assuming you are using Windows: Use higher level framework such as DirectShow or Media Foundation. Many external muxing component options are available.

 

Regarding network streaming. This is out of scope of the Intel Media SDK, but there are multiple third party solutions you can utilize to achieve this. You can also use ffmpeg for network streaming as illustrated in the "very simplistic" ffmpeg integration sample part of the Media SDK tutorial.

Regards,
Petter

View solution in original post

3 Replies
Petter_L_Intel
Employee
184 Views

Hi Matthew,

that question has many answers :)

There are many possible ways to package H.264 stream into containers. See below for some options:

1. Media SDK 2014 introduced a new muxing/demuxing API (which utilizes ffmpeg/libav). The benefits of using this API is that it is tightly integrated with the SDK. However, the feature set of this muxer API is limited. 

2. Use open source project such as ffmpeg/libav for muxing as illustrated in the Media SDK tutorial samples: http://software.intel.com/en-us/articles/intel-media-sdk-tutorial 

3. Integrate with any third party commercial muxing solution

4. Assuming you are using Windows: Use higher level framework such as DirectShow or Media Foundation. Many external muxing component options are available.

 

Regarding network streaming. This is out of scope of the Intel Media SDK, but there are multiple third party solutions you can utilize to achieve this. You can also use ffmpeg for network streaming as illustrated in the "very simplistic" ffmpeg integration sample part of the Media SDK tutorial.

Regards,
Petter

Matthew_C_
New Contributor I
183 Views

Could you tell me, where is that 'very simplistic' ffmpeg integration example that demonstrates network streaming?

I don't see it here: http://software.intel.com/en-us/articles/media-sdk-tutorial-tutorial-samples-index

Thank you.

Jeffrey_M_Intel1
Employee
183 Views

It is in the Media SDK tutorials package.  See "simple_6_transcode_opaque - async - ffmpeg".  If you output to UDP you can play with ffplay or VLC.  Other products can read the UDP output and translate to a wider range of streaming formats.

Reply