32bit RGBA AVI | C#Bytescout SWF To Video SDK

32bit RGBA AVI | C#

Program.cs:

C#
// x64 IMPORTANT NOTE: set CPU to x86 to build in x86 mode. 

using System.Diagnostics;
using BytescoutSWFToVideo;

namespace SwfTo32BitRgbaAvi
{
    class Program
    {
        static void Main(string[] args)
        {
            // Create an instance of SWFToVideo ActiveX object
            SWFToVideo converter = new SWFToVideo();

            // Set debug log
            //converter.SetLogFile("log.txt");

            // Register SWFToVideo
            converter.RegistrationName = "demo";
            converter.RegistrationKey = "demo";

            // Set RGBA Mode. IMPORTANT: Set .RGBAMode = True BEFORE calling .SetMovie()
            converter.RGBAMode = true;

            // set input SWF file
            converter.InputSWFFileName = "circles.swf";

            // you may calculate output video duration using information about the the source swf movie
            // WARNING #1: this method to calculate the output video duration is not working for movies with dynamic scenes 
            // and interactive scripts as in these movies it is not possible to calculate the precise duration of the movie 
            // WARNING #2: you should set the input swf or flv filename (or url) before this calculation

            // So the movie duration is calculated as the following:
            // as swf frame count (number of frames in the swf) / movieFPS (frames per second defined in swf)
            // and then multiplied by 1000 (as we are setting the .ConverstionTimeout in milliseconds)
            // as the following (uncomment if you want to set the length of the output video to the same as the original swf)
            // or as the following source code (uncomment to enable):

            // converter.ConversionTimeout = 1000 * (converter.FrameCount / converter.MovieFPS)


            // set output AVI video filename
            converter.OutputVideoFileName = "result.avi";

            // Set output movie dimensions
            converter.OutputWidth = 640;
            converter.OutputHeight = 480;

            // Run conversion
            converter.RunAndWait();

            // release resources
            System.Runtime.InteropServices.Marshal.ReleaseComObject(converter);
            converter = null;

            // Open the result movie in default media player
            Process.Start("result.avi");
        }
    }
}