- Aurigma Graphics Mill 5.5 for .NET
- Introduction
- What's New?
- Overview of Features
- Getting Started
- Programming with Graphics Mill for .NET
- File Formats
- Graphics Mill for .NET Add-ons
- Class Library Reference
- Aurigma.GraphicsMill Namespace
- Aurigma.GraphicsMill.AjaxControls Namespace
- Aurigma.GraphicsMill.AjaxControls.VectorObjects Namespace
- Aurigma.GraphicsMill.AjaxControls.VectorObjects.Math Namespace
- Aurigma.GraphicsMill.AjaxControls.VectorObjects.RedoUndo Namespace
- Aurigma.GraphicsMill.Codecs Namespace
- AdobeResourceBlock Class
- AdobeResourceDictionary Class
- AdvancedPsdFrame Class
- AdvancedPsdReader Class
- AdvancedPsdTextFrame Class
- AsfIndexer Class
- AviAlphaTransition Class
- AviAudioManager Class
- AviCompressor Class
- AviCustomTransition Class
- AviDrawTransitionEventArgs Class
- AviDrawTransitionEventHandler Delegate
- AviDrawWatermarkEventArgs Class
- AviDrawWatermarkEventHandler Delegate
- AviEncoderOptions Class
- AviFrame Class
- AviReader Class
- AviStripesTransition Class
- AviStripesTransitionMode Enumeration
- AviTimerStyle Enumeration
- AviTransition Class
- AviWatermark Class
- AviWriter Class
- BmpEncoderOptions Class
- BmpFrame Class
- BmpReader Class
- BmpWriter Class
- CompressionType Enumeration
- CustomEncoderOptions Class
- CustomFormatReader Class
- CustomFormatReader.LoadingMode Enumeration
- CustomFormatWriter Class
- CustomFrame Class
- DisposalMethod Enumeration
- DSEncoderOptions Class
- DSFrame Class
- DSPreLoadedFrame Class
- DSReader Class
- EncoderOptions Class
- ExifDictionary Class
- ExifItemInfo Structure
- FormatManager Class
- FormatReader Class
- FormatWriter Class
- Frame Class
- GifEncoderOptions Class
- GifFrame Class
- GifReader Class
- GifWriter Class
- ID3LyricsContentType Enumeration
- ID3LyricsTimestampFormat Enumeration
- ID3SynchronisedLyrics Class
- IEncoderOptions Interface
- IFormatInfo Interface
- IFormatReader Interface
- IFormatWriter Interface
- IFrame Interface
- IFrameEnumerator Interface
- IMediaProcessorMetadataReadSupport Interface
- IMetadataReadSupport Interface
- IMetadataWriteSupport Interface
- IptcDictionary Class
- ITimeReader Interface
- ITimeWriter Interface
- IXmpDictionary Interface
- Jpeg2kEncoderOptions Class
- Jpeg2kFrame Class
- Jpeg2kProgressionOrder Enumeration
- Jpeg2kReader Class
- Jpeg2kWriter Class
- JpegAlignToSampleSizeMode Enumeration
- JpegEncoderOptions Class
- JpegFrame Class
- JpegMarkerException Class
- JpegReader Class
- JpegWriter Class
- LosslessJpegTransform Class
- MediaCorruptedException Class
- MediaFormatManager Class
- MediaProcessorMetadataDictionary Class
- MediaProviderException Class
- MediaUnsupportedException Class
- MetadataDictionary Class
- MetadataEnumerator Class
- MultiFrameException Class
- PcxEncoderOptions Class
- PcxFrame Class
- PcxReader Class
- PdfEncoderOptions Class
- PdfFrame Class
- PdfWriter Class
- PngEncoderOptions Class
- PngFrame Class
- PngReader Class
- PngWriter Class
- PreLoadedFrame Class
- PsdEncoderOptions Class
- PsdFrame Class
- PsdFrameType Enumeration
- PsdReader Class
- PsdTextJustification Enumeration
- QTEncoderOptions Class
- QTFrame Class
- QTReader Class
- SwfEncoderOptions Class
- SwfFrame Class
- SwfWriter Class
- TiffChannelType Enumeration
- TiffEncoderOptions Class
- TiffExtraChannel Class
- TiffExtraChannelCollection Class
- TiffFrame Class
- TiffReader Class
- TiffWriter Class
- WbmpEncoderOptions Class
- WbmpFrame Class
- WbmpReader Class
- WbmpWriter Class
- WMEncoderOptions Class
- WMFrame Class
- WMPreLoadedFrame Class
- WMReader Class
- XmpArrayNode Class
- XmpData Class
- XmpDictionaryNode Class
- XmpLocalizedTextItemNode Class
- XmpLocalizedTextNode Class
- XmpNamespace Class
- XmpNode Class
- XmpNodeType Enumeration
- XmpStructNode Class
- XmpTagNames Class
- XmpValueNode Class
- Aurigma.GraphicsMill.Drawing Namespace
- Aurigma.GraphicsMill.Licensing Namespace
- Aurigma.GraphicsMill.Transforms Namespace
- Aurigma.GraphicsMill.WebControls Namespace
- Aurigma.GraphicsMill.WinControls Namespace
- GraphicsMill Namespace (Client Class Library)
- Aurigma.GraphicsMill.AjaxControls Namespace (Client Class Library)
- Aurigma.GraphicsMill.AjaxControls.VectorObjects Namespace (Client Class Library)
- Aurigma.GraphicsMill.AjaxControls.VectorObjects.Math Namespace (Client Class Library)
- Aurigma.GraphicsMill.AjaxControls.VectorObjects.RedoUndo Namespace (Client Class Library)
- Samples
- Licensing
- Copyright Notices
AviWriter Class
This class is intended to create new AVI files.
Namespace:
Aurigma.GraphicsMill.Codecs
Assembly:
Aurigma.GraphicsMill.Codecs.AviProcessor (in Aurigma.GraphicsMill.Codecs.AviProcessor.dll)
Syntax
Public NotInheritable Class AviWriter _
Inherits FormatWriter _
Implements ITimeWriter
public sealed class AviWriter : FormatWriter, ITimeWriter
Remarks
AVI stands for Audio Video Interleave. This is a file format for video movies which can contain both video and audio data. Inside the AVI file these data is organized into so-called data streams. One AVI file can store several video and audio streams. When an video player software plays the AVI file, it uses one video and one audio stream at one time (allowing the user to switch between streams). AVI Processor add-on supports only one video and any number of audio streams.
Video streams are presented as a sequense of images which are called frames. The AviWriter class enables you to add any reasonable number of frames using the AddFrame(IFrame) method.
AVI Processor add-on is based on Microsoft API called Video for Windows (VfW). This API imposes some limitations, in particular for the AVI file size. It cannot be more than 1GB. VfW does not support any modifications of AVI format which overcome this limitation (in particular, DV type 1). You should keep this fact in mind when creating AVI movies. The AddFrame(IFrame) method will fail if you try to add more frames to the AVI file which exceeds 1GB.
To work with audio streams, you should use the AviAudioManager object returned through the AudioManager property. It enables you to add new sound tracks from WAV files or append audio data to existing audio streams.
Since plain sequense of bitmaps occupies too much space, it is usually video compression is used. Compression is implemented in separate DLLs (so-called VfW-codecs, represented as AviCompressor class in AVI Processor) and they are independant on the AVI Processor. Some codecs are installed on each system by default, another ones should be obtained from independent vendors. Each such codec is identified by the so-called FOURCC code (4-byte string value). If to interpret the FOURCC bytes sequence as an integer value rather than string, you will get so-called compressor handler. To specify what codec the writer object should use, set the CompressorHandler property of the writer to the compressor handler of an appropriate codec.
When you create the AVI file, you can set more parameters than just compressor handler. In particular, you can specify the output quality, number of frames per second, etc. You can either do it programmatically (using such properties as Quality, FramesPerSecond, etc) or have the user to set parameters via special dialog. This dialog is implemented by the compressor vendor, and typically it enables to specify extra output settings. To display this dialog, use ShowOptionDialog and OptionsDialogParentHandle properties.
In general the writer usage workflow should be the following:
- Create the AviWriter instance.
- Initialize its parameters (such as CompressorHandler, FramesPerSecond, ShowOptionDialog, and others).
- Open the writer using the Open(String) method. Note
After you open the writer, you will not be able to change its settings.
- For each bitmap you want to put to the video, create the AviFrame object, put this bitmap into it and add this frame using the AddFrame(IFrame) method.
- If you need audio tracks, use AudioManager property. Read the AviAudioManager class overview for more details.
Inheritance Hierarchy
Thread Safety
Static members of this type are safe for multi-threaded operations. Instance members of this type are safe for multi-threaded operations.Object Model













Supported Pixel Formats
| Member Name | Description |
|---|---|
| Format24bppRgb | 24 bits per pixel. RGB. 8 bits each are used for the red, green, and blue components. |
| Format32bppRgb | 32 bits per pixel. RGB. 8 bits each are used for the red, green, and blue components. The rest 8 bits are unused. |