Class VideoEncoder
Inheritance
System.Object
Foundation.NSObject
VideoEncoder
Implements
System.IEquatable<Foundation.NSObject>
Foundation.INSObjectProtocol
ObjCRuntime.INativeObject
System.IDisposable
Inherited Members
MediaPipe<IVideoOutput, IVideoOutputCollection, IVideoInput, IVideoInputCollection, VideoPipe, VideoFrame, VideoBuffer, VideoBufferCollection, VideoFormat>.ProcessSdpMediaDescriptionFromInput(MediaDescription, Boolean, Boolean)
MediaPipe<IVideoOutput, IVideoOutputCollection, IVideoInput, IVideoInputCollection, VideoPipe, VideoFrame, VideoBuffer, VideoBufferCollection, VideoFormat>.ProcessSdpMediaDescriptionFromOutput(MediaDescription, Boolean, Boolean)
MediaPipe<IVideoOutput, IVideoOutputCollection, IVideoInput, IVideoInputCollection, VideoPipe, VideoFrame, VideoBuffer, VideoBufferCollection, VideoFormat>.DoProcessSdpMediaDescription(MediaDescription, Boolean, Boolean)
Foundation.NSObject.MonoMacAssembly
Foundation.NSObject.PlatformAssembly
Foundation.NSObject.Dispose()
Foundation.NSObject.IsNewRefcountEnabled()
Foundation.NSObject.MarkDirty()
Foundation.NSObject.ConformsToProtocol(System.IntPtr)
Foundation.NSObject.DangerousRelease()
Foundation.NSObject.DangerousRetain()
Foundation.NSObject.DangerousAutorelease()
Foundation.NSObject.GetNativeField(System.String)
Foundation.NSObject.SetNativeField(System.String, Foundation.NSObject)
Foundation.NSObject.BeginInvokeOnMainThread(ObjCRuntime.Selector, Foundation.NSObject)
Foundation.NSObject.InvokeOnMainThread(ObjCRuntime.Selector, Foundation.NSObject)
Foundation.NSObject.BeginInvokeOnMainThread(System.Action)
Foundation.NSObject.InvokeOnMainThread(System.Action)
Foundation.NSObject.FromObject(System.Object)
Foundation.NSObject.SetValueForKeyPath(System.IntPtr, Foundation.NSString)
Foundation.NSObject.GetHashCode()
Foundation.NSObject.Equals(System.Object)
Foundation.NSObject.Equals(Foundation.NSObject)
Foundation.NSObject.ToString()
Foundation.NSObject.Invoke(System.Action, System.Double)
Foundation.NSObject.Invoke(System.Action, System.TimeSpan)
Foundation.NSObject.Dispose(System.Boolean)
Foundation.NSObject.AddObserver(System.String, Foundation.NSKeyValueObservingOptions, System.Action<Foundation.NSObservedChange>)
Foundation.NSObject.AddObserver(Foundation.NSString, Foundation.NSKeyValueObservingOptions, System.Action<Foundation.NSObservedChange>)
Foundation.NSObject.AddObserver(Foundation.NSObject, Foundation.NSString, Foundation.NSKeyValueObservingOptions, System.IntPtr)
Foundation.NSObject.AddObserver(Foundation.NSObject, System.String, Foundation.NSKeyValueObservingOptions, System.IntPtr)
Foundation.NSObject.AutomaticallyNotifiesObserversForKey(System.String)
Foundation.NSObject.AwakeFromNib()
Foundation.NSObject.Bind(Foundation.NSString, Foundation.NSObject, System.String, Foundation.NSDictionary)
Foundation.NSObject.CancelPreviousPerformRequest(Foundation.NSObject)
Foundation.NSObject.CancelPreviousPerformRequest(Foundation.NSObject, ObjCRuntime.Selector, Foundation.NSObject)
Foundation.NSObject.CommitEditing()
Foundation.NSObject.CommitEditing(Foundation.NSObject, ObjCRuntime.Selector, System.IntPtr)
Foundation.NSObject.Copy()
Foundation.NSObject.DidChange(Foundation.NSKeyValueChange, Foundation.NSIndexSet, Foundation.NSString)
Foundation.NSObject.DidChange(Foundation.NSString, Foundation.NSKeyValueSetMutationKind, Foundation.NSSet)
Foundation.NSObject.DidChangeValue(System.String)
Foundation.NSObject.DoesNotRecognizeSelector(ObjCRuntime.Selector)
Foundation.NSObject.ExposedBindings()
Foundation.NSObject.GetBindingInfo(Foundation.NSString)
Foundation.NSObject.GetBindingOptionDescriptions(Foundation.NSString)
Foundation.NSObject.GetBindingValueClass(Foundation.NSString)
Foundation.NSObject.GetDefaultPlaceholder(Foundation.NSObject, System.String)
Foundation.NSObject.GetDefaultPlaceholder(Foundation.NSObject, Foundation.NSString)
Foundation.NSObject.GetDictionaryOfValuesFromKeys(Foundation.NSString[])
Foundation.NSObject.GetKeyPathsForValuesAffecting(Foundation.NSString)
Foundation.NSObject.GetMethodForSelector(ObjCRuntime.Selector)
Foundation.NSObject.GetNativeHash()
Foundation.NSObject.IsEqual(Foundation.NSObject)
Foundation.NSObject.IsKindOfClass(ObjCRuntime.Class)
Foundation.NSObject.IsMemberOfClass(ObjCRuntime.Class)
Foundation.NSObject.MutableCopy()
Foundation.NSObject.ObjectDidEndEditing(Foundation.NSObject)
Foundation.NSObject.ObserveValue(Foundation.NSString, Foundation.NSObject, Foundation.NSDictionary, System.IntPtr)
Foundation.NSObject.PerformSelector(ObjCRuntime.Selector, Foundation.NSObject, System.Double, Foundation.NSString[])
Foundation.NSObject.PerformSelector(ObjCRuntime.Selector, Foundation.NSObject, System.Double)
Foundation.NSObject.PerformSelector(ObjCRuntime.Selector, Foundation.NSThread, Foundation.NSObject, System.Boolean)
Foundation.NSObject.PerformSelector(ObjCRuntime.Selector, Foundation.NSThread, Foundation.NSObject, System.Boolean, Foundation.NSString[])
Foundation.NSObject.PerformSelector(ObjCRuntime.Selector)
Foundation.NSObject.PerformSelector(ObjCRuntime.Selector, Foundation.NSObject)
Foundation.NSObject.PerformSelector(ObjCRuntime.Selector, Foundation.NSObject, Foundation.NSObject)
Foundation.NSObject.PrepareForInterfaceBuilder()
Foundation.NSObject.RemoveObserver(Foundation.NSObject, Foundation.NSString, System.IntPtr)
Foundation.NSObject.RemoveObserver(Foundation.NSObject, System.String, System.IntPtr)
Foundation.NSObject.RemoveObserver(Foundation.NSObject, Foundation.NSString)
Foundation.NSObject.RemoveObserver(Foundation.NSObject, System.String)
Foundation.NSObject.RespondsToSelector(ObjCRuntime.Selector)
Foundation.NSObject.SetDefaultPlaceholder(Foundation.NSObject, Foundation.NSObject, Foundation.NSString)
Foundation.NSObject.SetNilValueForKey(Foundation.NSString)
Foundation.NSObject.SetValueForKey(Foundation.NSObject, Foundation.NSString)
Foundation.NSObject.SetValueForKeyPath(Foundation.NSObject, Foundation.NSString)
Foundation.NSObject.SetValueForUndefinedKey(Foundation.NSObject, Foundation.NSString)
Foundation.NSObject.SetValuesForKeysWithDictionary(Foundation.NSDictionary)
Foundation.NSObject.Unbind(Foundation.NSString)
Foundation.NSObject.ValueForKey(Foundation.NSString)
Foundation.NSObject.ValueForKeyPath(Foundation.NSString)
Foundation.NSObject.ValueForUndefinedKey(Foundation.NSString)
Foundation.NSObject.WillChange(Foundation.NSKeyValueChange, Foundation.NSIndexSet, Foundation.NSString)
Foundation.NSObject.WillChange(Foundation.NSString, Foundation.NSKeyValueSetMutationKind, Foundation.NSSet)
Foundation.NSObject.WillChangeValue(System.String)
Foundation.NSObject.IsDirectBinding
Foundation.NSObject.SuperHandle
Foundation.NSObject.Handle
Foundation.NSObject.ClassHandle
Foundation.NSObject.Class
Foundation.NSObject.DebugDescription
Foundation.NSObject.Description
Foundation.NSObject.IsProxy
Foundation.NSObject.RetainCount
Foundation.NSObject.Self
Foundation.NSObject.Superclass
Foundation.NSObject.Zone
Foundation.NSObject.ChangeIndexesKey
Foundation.NSObject.ChangeKindKey
Foundation.NSObject.ChangeNewKey
Foundation.NSObject.ChangeNotificationIsPriorKey
Foundation.NSObject.ChangeOldKey
System.Object.Equals(System.Object, System.Object)
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
Assembly: FM.LiveSwitch.dll
Syntax
public abstract class VideoEncoder : VideoPipe, IEquatable<NSObject>, INSObjectProtocol, INativeObject, IDisposable, IVideoInput, IMediaInput<IVideoOutput, IVideoInput, VideoFrame, VideoBuffer, VideoBufferCollection, VideoFormat>, IInput<IVideoOutput, IVideoInput, VideoFrame, VideoBuffer, VideoBufferCollection, VideoFormat>, IVideoOutput, IMediaOutput<IVideoOutput, IVideoInput, VideoFrame, VideoBuffer, VideoBufferCollection, VideoFormat>, IOutput<IVideoOutput, IVideoInput, VideoFrame, VideoBuffer, VideoBufferCollection, VideoFormat>, IVideoElement, IMediaElement, IElement
Constructors
Declaration
public VideoEncoder(VideoFormat inputFormat, VideoFormat outputFormat)
Parameters
Properties
Bitrate
Gets or sets the current bitrate, in kbps.
A value of -1 indicates unset.
Declaration
public virtual int Bitrate { get; protected set; }
Property Value
Type |
Description |
System.Int32 |
|
CanChangeBitrate
Gets whether this pipe can change the output bitrate.
Declaration
protected override bool CanChangeBitrate { get; }
Property Value
Type |
Description |
System.Boolean |
|
Overrides
FM.LiveSwitch.MediaPipe<FM.LiveSwitch.IVideoOutput, FM.LiveSwitch.IVideoOutputCollection, FM.LiveSwitch.IVideoInput, FM.LiveSwitch.IVideoInputCollection, FM.LiveSwitch.VideoPipe, FM.LiveSwitch.VideoFrame, FM.LiveSwitch.VideoBuffer, FM.LiveSwitch.VideoBufferCollection, FM.LiveSwitch.VideoFormat>.CanChangeBitrate
ForceKeyFrame
Gets or sets a value indicating whether a keyframe should be forced.
Declaration
public abstract bool ForceKeyFrame { get; set; }
Property Value
Type |
Description |
System.Boolean |
|
FrameHeight
Gets the last frame height.
Declaration
public int FrameHeight { get; }
Property Value
Type |
Description |
System.Int32 |
|
FrameRate
Gets the current frame rate.
Declaration
public double FrameRate { get; }
Property Value
Type |
Description |
System.Double |
|
FramesEncoded
Gets the number of encoded frames.
Declaration
public long FramesEncoded { get; }
Property Value
Type |
Description |
System.Int64 |
|
FrameWidth
Gets the last frame width.
Declaration
public int FrameWidth { get; }
Property Value
Type |
Description |
System.Int32 |
|
MaxBitrate
Gets or sets the maximum bitrate, in kbps.
A value of -1 indicates unset (no maximum).
Declaration
public virtual int MaxBitrate { get; set; }
Property Value
Type |
Description |
System.Int32 |
|
MaxCodecBitrate
Gets the maximum possible codec bitrate, in kbps.
A value of -1 indicates unset (no maximum).
Declaration
public virtual int MaxCodecBitrate { get; }
Property Value
Type |
Description |
System.Int32 |
|
MaxOutputBitrate
Gets or sets the maximum output bitrate, in kbps.
A value of -1 indicates unset (no maximum).
Declaration
public override int MaxOutputBitrate { get; protected set; }
Property Value
Type |
Description |
System.Int32 |
|
Overrides
FM.LiveSwitch.MediaPipe<FM.LiveSwitch.IVideoOutput, FM.LiveSwitch.IVideoOutputCollection, FM.LiveSwitch.IVideoInput, FM.LiveSwitch.IVideoInputCollection, FM.LiveSwitch.VideoPipe, FM.LiveSwitch.VideoFrame, FM.LiveSwitch.VideoBuffer, FM.LiveSwitch.VideoBufferCollection, FM.LiveSwitch.VideoFormat>.MaxOutputBitrate
MinBitrate
Gets or sets the minimum bitrate, in kbps.
A value of -1 indicates unset (no minimum).
Declaration
public virtual int MinBitrate { get; set; }
Property Value
Type |
Description |
System.Int32 |
|
MinCodecBitrate
Gets the minimum possible codec bitrate, in kbps.
A value of -1 indicates unset (no minimum).
Declaration
public virtual int MinCodecBitrate { get; }
Property Value
Type |
Description |
System.Int32 |
|
MinOutputBitrate
Gets or sets the minimum output bitrate, in kbps.
A value of -1 indicates unset (no minimum).
Declaration
public override int MinOutputBitrate { get; protected set; }
Property Value
Type |
Description |
System.Int32 |
|
Overrides
FM.LiveSwitch.MediaPipe<FM.LiveSwitch.IVideoOutput, FM.LiveSwitch.IVideoOutputCollection, FM.LiveSwitch.IVideoInput, FM.LiveSwitch.IVideoInputCollection, FM.LiveSwitch.VideoPipe, FM.LiveSwitch.VideoFrame, FM.LiveSwitch.VideoBuffer, FM.LiveSwitch.VideoBufferCollection, FM.LiveSwitch.VideoFormat>.MinOutputBitrate
StaticOutputBitrate
Declaration
public bool StaticOutputBitrate { get; set; }
Property Value
Type |
Description |
System.Boolean |
|
TargetBitrate
Gets or sets the target bitrate, in kbps.
A value of -1 indicates unset (no target).
Declaration
public virtual int TargetBitrate { get; set; }
Property Value
Type |
Description |
System.Int32 |
|
TargetOutputBitrate
Gets or sets the target output bitrate, in kbps.
A value of -1 indicates unset (no target).
Declaration
public override int TargetOutputBitrate { get; protected set; }
Property Value
Type |
Description |
System.Int32 |
|
Overrides
FM.LiveSwitch.MediaPipe<FM.LiveSwitch.IVideoOutput, FM.LiveSwitch.IVideoOutputCollection, FM.LiveSwitch.IVideoInput, FM.LiveSwitch.IVideoInputCollection, FM.LiveSwitch.VideoPipe, FM.LiveSwitch.VideoFrame, FM.LiveSwitch.VideoBuffer, FM.LiveSwitch.VideoBufferCollection, FM.LiveSwitch.VideoFormat>.TargetOutputBitrate
Methods
Processes the control frames.
Declaration
protected override void DoProcessControlFrames(MediaControlFrame[] controlFrames)
Parameters
Overrides
FM.LiveSwitch.MediaPipe<FM.LiveSwitch.IVideoOutput, FM.LiveSwitch.IVideoOutputCollection, FM.LiveSwitch.IVideoInput, FM.LiveSwitch.IVideoInputCollection, FM.LiveSwitch.VideoPipe, FM.LiveSwitch.VideoFrame, FM.LiveSwitch.VideoBuffer, FM.LiveSwitch.VideoBufferCollection, FM.LiveSwitch.VideoFormat>.DoProcessControlFrames(FM.LiveSwitch.MediaControlFrame[])
Processes track stats from an output.
Declaration
protected override void DoProcessTrackStatsFromOutput(MediaTrackStats trackStats)
Parameters
Overrides
FM.LiveSwitch.MediaPipe<FM.LiveSwitch.IVideoOutput, FM.LiveSwitch.IVideoOutputCollection, FM.LiveSwitch.IVideoInput, FM.LiveSwitch.IVideoInputCollection, FM.LiveSwitch.VideoPipe, FM.LiveSwitch.VideoFrame, FM.LiveSwitch.VideoBuffer, FM.LiveSwitch.VideoBufferCollection, FM.LiveSwitch.VideoFormat>.DoProcessTrackStatsFromOutput(FM.LiveSwitch.MediaTrackStats)
ProcessFrame(VideoFrame)
Declaration
public override bool ProcessFrame(VideoFrame frame)
Parameters
Returns
Type |
Description |
System.Boolean |
|
Overrides
FM.LiveSwitch.MediaPipe<FM.LiveSwitch.IVideoOutput, FM.LiveSwitch.IVideoOutputCollection, FM.LiveSwitch.IVideoInput, FM.LiveSwitch.IVideoInputCollection, FM.LiveSwitch.VideoPipe, FM.LiveSwitch.VideoFrame, FM.LiveSwitch.VideoBuffer, FM.LiveSwitch.VideoBufferCollection, FM.LiveSwitch.VideoFormat>.ProcessFrame(FM.LiveSwitch.VideoFrame)
RaiseFrame(VideoFrame)
Declaration
protected override void RaiseFrame(VideoFrame frame)
Parameters
Overrides
Events
OnBitrateChange
Raised when the bitrate changes.
Declaration
public event Action0 OnBitrateChange
Event Type
Implements
System.IEquatable<T>
Foundation.INSObjectProtocol
ObjCRuntime.INativeObject
System.IDisposable