#
MXF output
MXF (Material Exchange Format)
: A container format designed for professional digital video and audio media, defined by SMPTE standards. It is used in the broadcasting industry to support stream-based workflows with full metadata and timecode support.
Use the MXFSinkSettings
class to set the parameters.
#
Block info
Name: MXFSinkBlock.
#
The sample pipeline
graph LR; UniversalSourceBlock-->H264EncoderBlock; UniversalSourceBlock-->MP2EncoderBlock; H264EncoderBlock-->MXFSinkBlock; MP2EncoderBlock-->MXFSinkBlock;
#
Sample code
var pipeline = new MediaBlocksPipeline();
var filename = "test.mp4";
var fileSource = new UniversalSourceBlock(await UniversalSourceSettings.CreateAsync(new Uri(filename)));
var audioEncoderBlock = new MP2EncoderBlock(new MP2EncoderSettings() { Bitrate = 192 });
pipeline.Connect(fileSource.AudioOutput, audioEncoderBlock.Input);
var h264EncoderBlock = new H264EncoderBlock(new OpenH264EncoderSettings());
pipeline.Connect(fileSource.VideoOutput, h264EncoderBlock.Input);
var sinkBlock = new MXFSinkBlock(new MXFSinkSettings(@"output.mxf", MXFVideoStreamType.H264, MXFAudioStreamType.MPEG));
pipeline.Connect(h264EncoderBlock.Output, sinkBlock.CreateNewInput(MediaBlockPadMediaType.Video));
pipeline.Connect(audioEncoderBlock.Output, sinkBlock.CreateNewInput(MediaBlockPadMediaType.Audio));
await pipeline.StartAsync();
#
Platforms
Windows, macOS, Linux, iOS, Android.