Class MP4SinkSettings
- Namespace
- VisioForge.Core.Types.X.Sinks
- Assembly
- VisioForge.Core.dll
MP4 sink settings.
public class MP4SinkSettings : IMediaBlockSettingsInheritance
Derived
Implements
Inherited Members
Constructors
MP4SinkSettings(string)
Initializes a new instance of the VisioForge.Core.Types.X.Sinks.MP4SinkSettings class.
public MP4SinkSettings(string filename)Parameters
filenamestring-
The filename.
MP4SinkSettings(int)
Initializes a new instance of the VisioForge.Core.Types.X.Sinks.MP4SinkSettings class.
public MP4SinkSettings(int fileDescriptor)Parameters
fileDescriptorint-
The file descriptor.
MP4SinkSettings()
Initializes a new instance of the VisioForge.Core.Types.X.Sinks.MP4SinkSettings class.
public MP4SinkSettings()Properties
FastStart
Gets or sets a value indicating whether fast start enabled.
public bool FastStart { get; set; }Property Value
FileDescriptor
Gets or sets the file descriptor. If set, the file will be written to this descriptor instead of a file.
public int? FileDescriptor { get; set; }Property Value
- int?
Filename
Gets or sets the filename (or pattern like "file%02d.mp4" if the split mode used).
public string Filename { get; set; }Property Value
ForceChunks
Gets or sets a value indicating whether force multiple chunks to be created even for single-stream files.
public bool ForceChunks { get; set; }Property Value
ForceCreateTimecodeTrak
Gets or sets a value indicating whether create a timecode trak even in unsupported flavors.
public bool ForceCreateTimecodeTrak { get; set; }Property Value
FragmentDuration
Gets or sets the fragment durations (produce a fragmented file if > 0).
public TimeSpan FragmentDuration { get; set; }Property Value
FragmentMode
Gets or sets the influence how fragmented files are produces. Only has any affect when the the 'FragmentDuration' property is set to a value greater than '0'.
public MP4FragmentMode FragmentMode { get; set; }Property Value
Remarks
Currently, two options exist:
"dash-or-mss": for the original fragmented mode that supports dash or mocrosoft smoothstreaming with a single input stream
"first-moov-then-finalise" is a fragmented mode that will start with a self-contained 'moov' atom fo the first fragment,
then produce fragments.When the file is finalised, the initial 'moov' is invalidated and a new 'moov' is written covering the entire file.
InterleaveBytes
Gets or sets the interleave between streams in bytes.
public ulong InterleaveBytes { get; set; }Property Value
InterleaveTime
Gets or sets the interleave between streams in nanoseconds.
public ulong InterleaveTime { get; set; }Property Value
MOOVRecoveryFile
Gets or sets the file to be used to store data for moov atom making movie file recovery possible in case of a crash during muxing. Null for disabled. (Experimental).
public string MOOVRecoveryFile { get; set; }Property Value
MaxRAWAudioDrift
Gets or sets the maximum allowed drift of raw audio samples vs.timestamps in nanoseconds.
public ulong MaxRAWAudioDrift { get; set; }Property Value
MovieTimescale
Gets or sets the timescale to use in the movie (units per second, 0 == default).
public uint MovieTimescale { get; set; }Property Value
MuxOnly
Gets or sets a value indicating whether to mux only and send data to an output pad instead of a file.
public bool MuxOnly { get; set; }Property Value
PresentationTime
Gets or sets a value indicating whether calculate and include presentation/composition time (in addition to decoding time).
public bool PresentationTime { get; set; }Property Value
ReservedBytesPerSec
Gets or sets the multiplier for converting reserved-max-duration into bytes of header to reserve, per second, per track.
public uint ReservedBytesPerSec { get; set; }Property Value
ReservedMOOVUpdatePeriod
Gets or sets the when used with reserved-max-duration, periodically updates the index tables with information muxed so far.
public ulong ReservedMOOVUpdatePeriod { get; set; }Property Value
ReservedMaxDuration
Gets or sets the when set to a value > 0, reserves space for index tables at the beginning of the file..
public ulong ReservedMaxDuration { get; set; }Property Value
ReservedPrefill
Gets or sets a value indicating whether prefill samples table of reserved duration.
public bool ReservedPrefill { get; set; }Property Value
StartGapThreshold
Gets or sets the threshold for creating an edit list for gaps at the start in nanoseconds.
public ulong StartGapThreshold { get; set; }Property Value
TrakTimescale
Gets or sets the timescale to use for the tracks (units per second, 0 is automatic).
public uint TrakTimescale { get; set; }Property Value
Methods
CreateBlock()
Creates the media block instance for MP4 sink.
public MediaBlock CreateBlock()Returns
- MediaBlock
-
A new instance of VisioForge.Core.MediaBlocks.Sinks.MP4SinkBlock configured with these settings.