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.

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

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

0 Kudos
3 Replies
Petter_L_Intel
Employee
432 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

0 Kudos
Matthew_C_
New Contributor I
431 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.

0 Kudos
Jeffrey_M_Intel1
Employee
431 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.

0 Kudos
Reply