|Type||Topic||Plugin||Version||macOS||Windows||Linux||Console & Web||iOS|
|class||AVFoundation||MBS AVFoundation Plugin||13.2||Yes||No||No||Yes, macOS only||No|
dim f as FolderItem = SpecialFolder.Desktop.Child("test.m4v")
dim a as AVAssetMBS = AVAssetMBS.assetWithFile(f)
dim p as string = AVAssetExportSessionMBS.AVAssetExportPresetAppleM4VCellular
dim e as new AVAssetExportSessionMBS(a, p)
dim FileTypes() as string = e.supportedFileTypes
e.outputFileType = FileTypes(0)
e.OutputFile = SpecialFolder.Desktop.Child("small.m4v")
// instead of waiting for event, we simply wait for it to finish
loop until e.status <> e.AVAssetExportSessionStatusExporting
An AVAssetExportSession object transcodes the contents of an AVAsset source object to create an output of the form described by a specified export preset.
Prior to initializing an instance of AVAssetExportSession, you can use allExportPresets to get the complete list of presets available. Use exportPresetsCompatibleWithAsset to get a list of presets that are compatible with a specific asset.
After you have initialized an export session with the asset that contains the source media, the export preset name (presetName), and the output file type (outputFileType), you can start the export running by invoking exportAsynchronously. Because the export is performed asynchronously, this method returns immediately—you can use progress to check on the progress. Depending on the capabilities of the device, some exports may be queued when multiple exports are attempted. When this happens, the status of a queued export will indicate that it's waiting (AVAssetExportSessionStatusWaiting).
The exportAsynchronouslyCompleted event on AVFoundationMBS is called whether the export fails, completes, or is cancelled. Upon completion, the status property indicates whether the export has completed successfully. If it has failed, the value of the error property supplies additional information about the reason for the failure.
Available in OS X v10.7 and later.
- 20 properties
- property asset as AVAssetMBS
- property audioMix as AVAudioMixMBS
- property audioTimePitchAlgorithm as String
- property canPerformMultiplePassesOverSourceMediaData as Boolean
- property customVideoCompositor as AVVideoCompositingMBS
- property directoryForTemporaryFiles as Folderitem
- property directoryForTemporaryFilesURL as String
- property error as NSErrorMBS
- property estimatedOutputFileLength as Int64
- property Handle as Integer
- property metadataItemFilter as AVMetadataItemFilterMBS
- property OutputFile as folderitem
- property outputFileType as string
- property outputURL as string
- property presetName as string
- property progress as Double
- property shouldOptimizeForNetworkUse as boolean
- property status as Integer
- property videoComposition as AVVideoCompositionMBS
- property timeRange as CMTimeRangeMBS
- 8 methods
- method cancelExport
- method Constructor(asset as AVAssetMBS, presetName as string)
- method determineCompatibleFileTypes(tag as Variant = nil)
- method exportAsynchronously(tag as Variant = nil)
- method metadata as AVMetadataItemMBS()
- method outputFileExtension as string
- method setMetadata(items() as AVMetadataItemMBS)
- method supportedFileTypes as string()
- 20 shared methods
- shared method allExportPresets as string()
- shared method available as boolean
- shared method AVAssetExportPreset1280x720 as string
- shared method AVAssetExportPreset1920x1080 as string
- shared method AVAssetExportPreset3840x2160 as string
- shared method AVAssetExportPreset640x480 as string
- shared method AVAssetExportPreset960x540 as string
- shared method AVAssetExportPresetAppleM4A as string
- shared method AVAssetExportPresetAppleM4V1080pHD as string
- shared method AVAssetExportPresetAppleM4V480pSD as string
- shared method AVAssetExportPresetAppleM4V720pHD as string
- shared method AVAssetExportPresetAppleM4VAppleTV as string
- shared method AVAssetExportPresetAppleM4VCellular as string
- shared method AVAssetExportPresetAppleM4ViPod as string
- shared method AVAssetExportPresetAppleM4VWiFi as string
- shared method AVAssetExportPresetAppleProRes422LPCM as string
- shared method AVAssetExportPresetPassthrough as string
- shared method determineCompatibilityOfExportPreset(presetName as string, asset as AVAssetMBS, outputFileType as string, tag as Variant = nil)
- shared method exportPresetsCompatibleWithAsset(asset as AVAssetMBS) as string()
- shared method exportSessionWithAsset(asset as AVAssetMBS, presetName as string) as AVAssetExportSessionMBS
- 6 constants
Indicates that the export session was cancelled.
Indicates that the export session completed successfully.
Indicates that the export session is in progress.
Indicates that the export session failed.
Indicates that the status is unknown.
Indicates that the session is waiting to export more data.
This class has no sub classes.
Some events for this class:
- AVFoundationMBS.determineCompatibleFileTypesCompleted(exportsession as AVAssetExportSessionMBS, compatibleFileTypes() as string, tag as Variant)
- AVFoundationMBS.exportAsynchronouslyCompleted(ExportSession as AVAssetExportSessionMBS, tag as Variant)
Some examples which use this class:
- /AVFoundation/AVAssetExportSessionMBS test
- /AVFoundation/AVAssetExportSessionMBS test batch
- /AVFoundation/Device List
- /AVFoundation/Donut Video Player
- /AVFoundation/Donut Video Player Overlay
- /AVFoundation/Generate Thumbnails
- /AVFoundation/Make Video From Images
- /AVFoundation/Make Video From Images with transparency
- /AVFoundation/Merge and Crop Videos
- /AVFoundation/Merge Audio and Video
- /AVFoundation/Overlay video track with picture
- /AVFoundation/Simple Player
- /AVFoundation/Transcode batch
- /AVFoundation/Transparent Player
The items on this page are in the following plugins: MBS AVFoundation Plugin.
MBS Xojo Plugins