Class CaptureBase
Base class wrapping common capture functionality
Inheritance
System.Object
CaptureBase
Assembly: cs.temp.dll.dll
public class CaptureBase : MonoBehaviour
Fields
Declaration
protected bool _androidUpdateMediaGallery
Field Value
Type |
Description |
System.Boolean |
|
Declaration
protected bool _capturing
Field Value
Type |
Description |
System.Boolean |
|
Declaration
protected FileInfo _fileInfo
Field Value
Type |
Description |
FileInfo |
|
Declaration
protected string _filePath
Field Value
Type |
Description |
System.String |
|
Declaration
protected string _finalFilePath
Field Value
Type |
Description |
System.String |
|
Declaration
Field Value
Type |
Description |
System.Int32 |
|
Declaration
protected bool _isDirectX11
Field Value
Type |
Description |
System.Boolean |
|
Declaration
protected bool _isTopDown
Field Value
Type |
Description |
System.Boolean |
|
Declaration
protected MotionBlur _motionBlur
Field Value
Declaration
protected Camera[] _motionBlurCameras
Field Value
Type |
Description |
Camera[] |
|
Declaration
protected int _motionBlurSamples
Field Value
Type |
Description |
System.Int32 |
|
Declaration
protected OutputTarget _outputTarget
Field Value
Declaration
Field Value
Type |
Description |
System.Boolean |
|
Declaration
protected NativePlugin.PixelFormat _pixelFormat
Field Value
Declaration
protected int _renderAntiAliasing
Field Value
Type |
Description |
System.Int32 |
|
Declaration
protected CaptureBase.Resolution _renderResolution
Field Value
Declaration
protected Vector2 _renderSize
Field Value
Declaration
protected Material _sideBySideMaterial
Field Value
Type |
Description |
Material |
|
_sideBySideTexture
Declaration
protected RenderTexture _sideBySideTexture
Field Value
Type |
Description |
RenderTexture |
|
Declaration
protected int _sourceHeight
Field Value
Type |
Description |
System.Int32 |
|
Declaration
protected int _sourceWidth
Field Value
Type |
Description |
System.Int32 |
|
_supportTextureRecreate
Declaration
protected bool _supportTextureRecreate
Field Value
Type |
Description |
System.Boolean |
|
Declaration
protected int _targetHeight
Field Value
Type |
Description |
System.Int32 |
|
Declaration
protected int _targetWidth
Field Value
Type |
Description |
System.Int32 |
|
_texture
Declaration
protected Texture2D _texture
Field Value
Type |
Description |
Texture2D |
|
Declaration
protected Transparency _Transparency
Field Value
Declaration
protected bool _useMotionBlur
Field Value
Type |
Description |
System.Boolean |
|
Declaration
protected bool _useWaitForEndOfFrame
Field Value
Type |
Description |
System.Boolean |
|
Declaration
protected YieldInstruction _waitForEndOfFrame
Field Value
Type |
Description |
YieldInstruction |
|
Declaration
public static readonly string[] DefaultAudioCaptureDevicePriorityAndroid
Field Value
Type |
Description |
System.String[] |
|
Declaration
public static readonly string[] DefaultAudioCaptureDevicePriorityIOS
Field Value
Type |
Description |
System.String[] |
|
Declaration
public static readonly string[] DefaultAudioCaptureDevicePriorityMacOS
Field Value
Type |
Description |
System.String[] |
|
Declaration
public static readonly string[] DefaultAudioCaptureDevicePriorityWindow
Field Value
Type |
Description |
System.String[] |
|
Declaration
public static readonly string[] DefaultAudioCodecPriorityAndroid
Field Value
Type |
Description |
System.String[] |
|
Declaration
public static readonly string[] DefaultAudioCodecPriorityIOS
Field Value
Type |
Description |
System.String[] |
|
Declaration
public static readonly string[] DefaultAudioCodecPriorityMacOS
Field Value
Type |
Description |
System.String[] |
|
Declaration
public static readonly string[] DefaultAudioCodecPriorityWindows
Field Value
Type |
Description |
System.String[] |
|
Declaration
public const CaptureBase.OutputPath DefaultOutputFolderType = CaptureBase.OutputPath.RelativeToProject
Field Value
Declaration
public static readonly string[] DefaultVideoCodecPriorityAndroid
Field Value
Type |
Description |
System.String[] |
|
Declaration
public static readonly string[] DefaultVideoCodecPriorityMacOS
Field Value
Type |
Description |
System.String[] |
|
Declaration
public static readonly string[] DefaultVideoCodecPriorityWindows
Field Value
Type |
Description |
System.String[] |
|
Properties
Declaration
public static HashSet<string> ActiveFilePaths { get; }
Property Value
Type |
Description |
HashSet<System.String> |
|
Declaration
public bool AllowManualFileExtension { get; set; }
Property Value
Type |
Description |
System.Boolean |
|
Declaration
public bool AllowOfflineVSyncDisable { get; set; }
Property Value
Type |
Description |
System.Boolean |
|
Declaration
public bool AppendFilenameTimestamp { get; set; }
Property Value
Type |
Description |
System.Boolean |
|
Declaration
public AudioCaptureSource AudioCaptureSource { get; set; }
Property Value
Declaration
public string[] AudioCodecPriorityMacOS { get; set; }
Property Value
Type |
Description |
System.String[] |
|
Declaration
public string[] AudioCodecPriorityWindows { get; set; }
Property Value
Type |
Description |
System.String[] |
|
Declaration
public Action<FileWritingHandler> BeginFinalFileWritingAction { get; set; }
Property Value
Declaration
public int CameraRenderAntiAliasing { get; set; }
Property Value
Type |
Description |
System.Int32 |
|
Declaration
public Vector2 CameraRenderCustomResolution { get; set; }
Property Value
Declaration
public CaptureBase.Resolution CameraRenderResolution { get; set; }
Property Value
Declaration
public CaptureStats CaptureStats { get; }
Property Value
Declaration
public Action<FileWritingHandler> CompletedFileWritingAction { get; set; }
Property Value
Declaration
public string FilenameExtension { get; set; }
Property Value
Type |
Description |
System.String |
|
Declaration
public string FilenamePrefix { get; set; }
Property Value
Type |
Description |
System.String |
|
Declaration
public bool FlipVertically { get; set; }
Property Value
Type |
Description |
System.Boolean |
|
Declaration
public int ForceAudioInputDeviceIndex { get; set; }
Property Value
Type |
Description |
System.Int32 |
|
Declaration
public float FrameRate { get; set; }
Property Value
Type |
Description |
System.Single |
|
Declaration
public CaptureBase.FrameUpdateMode FrameUpdate { get; set; }
Property Value
Declaration
public int ImageSequenceStartFrame { get; set; }
Property Value
Type |
Description |
System.Int32 |
|
Declaration
public int ImageSequenceZeroDigits { get; set; }
Property Value
Type |
Description |
System.Int32 |
|
Declaration
public bool IsRealTime { get; set; }
Property Value
Type |
Description |
System.Boolean |
|
Declaration
public string LastFilePath { get; }
Property Value
Type |
Description |
System.String |
|
Declaration
public static string LastFileSaved { get; set; }
Property Value
Type |
Description |
System.String |
|
Declaration
public bool LogCaptureStartStop { get; set; }
Property Value
Type |
Description |
System.Boolean |
|
Declaration
public int ManualAudioChannelCount { get; set; }
Property Value
Type |
Description |
System.Int32 |
|
Declaration
public int ManualAudioSampleRate { get; set; }
Property Value
Type |
Description |
System.Int32 |
|
Declaration
public MotionBlur MotionBlur { get; set; }
Property Value
Declaration
public Camera[] MotionBlurCameras { get; set; }
Property Value
Type |
Description |
Camera[] |
|
Declaration
public int MotionBlurSamples { get; set; }
Property Value
Type |
Description |
System.Int32 |
|
Declaration
public string NamedPipePath { get; set; }
Property Value
Type |
Description |
System.String |
|
Declaration
public int NativeForceAudioCodecIndex { get; set; }
Property Value
Type |
Description |
System.Int32 |
|
Declaration
public int NativeForceVideoCodecIndex { get; set; }
Property Value
Type |
Description |
System.Int32 |
|
Declaration
public ImageSequenceFormat NativeImageSequenceFormat { get; set; }
Property Value
Declaration
public UnityEvent OnCaptureStart { get; }
Property Value
Type |
Description |
UnityEvent |
|
Declaration
public CaptureBase.OutputPath OutputFolder { get; set; }
Property Value
Declaration
public string OutputFolderPath { get; set; }
Property Value
Type |
Description |
System.String |
|
Declaration
public OutputTarget OutputTarget { get; set; }
Property Value
Declaration
public bool PauseCaptureOnAppPause { get; set; }
Property Value
Type |
Description |
System.Boolean |
|
Declaration
public bool PersistAcrossSceneLoads { get; set; }
Property Value
Type |
Description |
System.Boolean |
|
Declaration
public CaptureBase.DownScale ResolutionDownScale { get; set; }
Property Value
Declaration
public Vector2 ResolutionDownscaleCustom { get; set; }
Property Value
Declaration
public Codec SelectedAudioCodec { get; }
Property Value
Declaration
public Device SelectedAudioInputDevice { get; }
Property Value
Declaration
public Codec SelectedVideoCodec { get; }
Property Value
Declaration
public StartDelayMode StartDelay { get; set; }
Property Value
Declaration
public float StartDelaySeconds { get; set; }
Property Value
Type |
Description |
System.Single |
|
Declaration
public StartTriggerMode StartTrigger { get; set; }
Property Value
Declaration
public int StopAfterFramesElapsed { get; set; }
Property Value
Type |
Description |
System.Int32 |
|
Declaration
public float StopAfterSecondsElapsed { get; set; }
Property Value
Type |
Description |
System.Single |
|
Declaration
public StopMode StopMode { get; set; }
Property Value
SupportTextureRecreate
Declaration
public bool SupportTextureRecreate { get; set; }
Property Value
Type |
Description |
System.Boolean |
|
Declaration
public int TimelapseScale { get; set; }
Property Value
Type |
Description |
System.Int32 |
|
Declaration
public Transparency Transparency { get; }
Property Value
Declaration
public UnityAudioCapture UnityAudioCapture { get; set; }
Property Value
Declaration
public bool UseMotionBlur { get; set; }
Property Value
Type |
Description |
System.Boolean |
|
Declaration
public bool UseWaitForEndOfFrame { get; set; }
Property Value
Type |
Description |
System.Boolean |
|
Declaration
public string[] VideoCodecPriorityMacOS { get; set; }
Property Value
Type |
Description |
System.String[] |
|
Declaration
public string[] VideoCodecPriorityWindows { get; set; }
Property Value
Type |
Description |
System.String[] |
|
Declaration
public bool WriteOrientationMetadata { get; set; }
Property Value
Type |
Description |
System.Boolean |
|
Methods
ApplyPostOperations(String, VideoEncoderHints, String)
Declaration
protected void ApplyPostOperations(string filePath, VideoEncoderHints hints, string finalFilePath)
Parameters
Type |
Name |
Description |
System.String |
filePath |
|
VideoEncoderHints |
hints |
|
System.String |
finalFilePath |
|
Declaration
protected virtual void Awake()
Declaration
public void CancelCapture()
Declaration
protected bool CanContinue()
Returns
Type |
Description |
System.Boolean |
|
Declaration
protected bool CanOutputFrame()
Returns
Type |
Description |
System.Boolean |
|
Declaration
public static void DeleteCapture(OutputTarget outputTarget, string path)
Parameters
Type |
Name |
Description |
OutputTarget |
outputTarget |
|
System.String |
path |
|
Declaration
public void EncodeAudio(NativeArray<float> audioData)
Parameters
Type |
Name |
Description |
NativeArray<System.Single> |
audioData |
|
Declaration
public void EncodeAudio(float[] audioData)
Parameters
Type |
Name |
Description |
System.Single[] |
audioData |
|
Declaration
public virtual void EncodePointer(IntPtr ptr)
Parameters
Type |
Name |
Description |
System.IntPtr |
ptr |
|
EncodeTexture(Texture2D)
Declaration
protected void EncodeTexture(Texture2D texture)
Parameters
Type |
Name |
Description |
Texture2D |
texture |
|
Declaration
protected void EncodeUnityAudio()
Declaration
public UnityAudioCapture FindOrCreateUnityAudioCapture(bool logWarnings)
Parameters
Type |
Name |
Description |
System.Boolean |
logWarnings |
|
Returns
Declaration
protected void GenerateFilename()
Declaration
protected virtual string GenerateTimestampedFilename(string filenamePrefix, string filenameExtension)
Parameters
Type |
Name |
Description |
System.String |
filenamePrefix |
|
System.String |
filenameExtension |
|
Returns
Type |
Description |
System.String |
|
Declaration
protected int GetCameraAntiAliasingLevel(Camera camera)
Parameters
Type |
Name |
Description |
Camera |
camera |
|
Returns
Type |
Description |
System.Int32 |
|
Declaration
public long GetCaptureFileSize()
Returns
Type |
Description |
System.Int64 |
|
Declaration
protected static NativePlugin.Platform GetCurrentPlatform()
Returns
Declaration
public EncoderHints GetEncoderHints(NativePlugin.Platform platform = NativePlugin.Platform.Current)
Parameters
Returns
GetPreviewTexture()
Declaration
public virtual Texture GetPreviewTexture()
Returns
Declaration
public float GetProgress()
Returns
Type |
Description |
System.Single |
|
Declaration
public int GetRecordingHeight()
Returns
Type |
Description |
System.Int32 |
|
Declaration
public static Vector2 GetRecordingResolution(int width, int height, CaptureBase.DownScale downscale, Vector2 maxVideoSize)
Parameters
Type |
Name |
Description |
System.Int32 |
width |
|
System.Int32 |
height |
|
CaptureBase.DownScale |
downscale |
|
Vector2 |
maxVideoSize |
|
Returns
Declaration
public int GetRecordingWidth()
Returns
Type |
Description |
System.Int32 |
|
Declaration
public static void GetResolution(CaptureBase.Resolution res, ref int width, ref int height)
Parameters
Declaration
protected float GetSecondsPerCaptureFrame()
Returns
Type |
Description |
System.Single |
|
GetSideBySideTexture()
Declaration
public virtual Texture GetSideBySideTexture()
Returns
Declaration
protected static bool HasExtension(string path, string extension)
Parameters
Type |
Name |
Description |
System.String |
path |
|
System.String |
extension |
|
Returns
Type |
Description |
System.Boolean |
|
Declaration
protected bool InitialiseSideBySideTransparency(int width, int height, bool screenFlip = false, int antiAliasing = 1)
Parameters
Type |
Name |
Description |
System.Int32 |
width |
|
System.Int32 |
height |
|
System.Boolean |
screenFlip |
|
System.Int32 |
antiAliasing |
|
Returns
Type |
Description |
System.Boolean |
|
Declaration
public bool IsCapturing()
Returns
Type |
Description |
System.Boolean |
|
Declaration
Returns
Type |
Description |
System.Boolean |
|
Declaration
Returns
Type |
Description |
System.Boolean |
|
Declaration
public bool IsStartCaptureQueued()
Returns
Type |
Description |
System.Boolean |
|
Declaration
protected bool IsStartDelayComplete()
Returns
Type |
Description |
System.Boolean |
|
Declaration
protected bool IsStopTimeReached()
Returns
Type |
Description |
System.Boolean |
|
Declaration
protected bool IsUsingMotionBlur()
Returns
Type |
Description |
System.Boolean |
|
Declaration
protected bool IsUsingUnityAudioComponent()
Returns
Type |
Description |
System.Boolean |
|
Declaration
protected static int NextMultipleOf4(int value)
Parameters
Type |
Name |
Description |
System.Int32 |
value |
|
Returns
Type |
Description |
System.Int32 |
|
Declaration
public virtual void OnDestroy()
Declaration
public void PauseCapture()
Declaration
public virtual bool PrepareCapture()
Returns
Type |
Description |
System.Boolean |
|
Declaration
public virtual void PreUpdateFrame()
Declaration
public void QueueStartCapture()
Declaration
protected void RenderThreadEvent(NativePlugin.PluginEvent renderEvent)
Parameters
Declaration
protected void RenormTimer()
Declaration
protected void ResetFPS()
Declaration
public void ResumeCapture()
Declaration
public Codec SelectAudioCodec()
Returns
Declaration
public Device SelectAudioInputDevice()
Returns
Declaration
public void SelectRecordingResolution(int width, int height)
Parameters
Type |
Name |
Description |
System.Int32 |
width |
|
System.Int32 |
height |
|
Declaration
public Codec SelectVideoCodec(bool isStartingCapture = false)
Parameters
Type |
Name |
Description |
System.Boolean |
isStartingCapture |
|
Returns
Declaration
public void SetEncoderHints(EncoderHints hints, NativePlugin.Platform platform = NativePlugin.Platform.Current)
Parameters
Hints to the system that we want to capture audio from the microphone.
iOS
Call this with enabled = true
before you begin recording to prevent any unwanted stalls or pops when
the recording begins due to changing the audio session. Call with enabled = false
to restore the
audio session.
Declaration
public void SetMicrophoneRecordingHint(bool enabled, MicrophoneRecordingOptions options = MicrophoneRecordingOptions.Defaults)
Parameters
Type |
Name |
Description |
System.Boolean |
enabled |
Enables or disables audio recording from the microphone
|
MicrophoneRecordingOptions |
options |
Options to apply when enabling or disabling audio recording
|
Declaration
public virtual void Start()
Declaration
public bool StartCapture()
Returns
Type |
Description |
System.Boolean |
|
Declaration
public virtual void StopCapture(bool skipPendingFrames = false, bool ignorePendingFileWrites = false, bool deleteCapture = false)
Parameters
Type |
Name |
Description |
System.Boolean |
skipPendingFrames |
|
System.Boolean |
ignorePendingFileWrites |
|
System.Boolean |
deleteCapture |
|
Declaration
protected void TickFrameTimer()
Declaration
public virtual void UnprepareCapture()
UpdateForSideBySideTransparency(Texture, Boolean, Int32)
Declaration
protected RenderTexture UpdateForSideBySideTransparency(Texture sourceTexture, bool screenFlip = false, int antiAliasing = 1)
Parameters
Type |
Name |
Description |
Texture |
sourceTexture |
|
System.Boolean |
screenFlip |
|
System.Int32 |
antiAliasing |
|
Returns
Type |
Description |
RenderTexture |
|
Declaration
Declaration
public virtual void UpdateFrame()
Declaration
protected void UpdateInjectionOptions(StereoPacking stereoPacking, SphericalVideoLayout sphericalVideoLayout)
Parameters
Declaration
public static void UpdateMediaGallery(string videoFilePath)
Parameters
Type |
Name |
Description |
System.String |
videoFilePath |
|