Ejemplo n.º 1
0
        private void FrmMainForm_Load(object sender, EventArgs e)
        {
            if (!File.Exists("./HandbrakeCLI.exe"))
            {
                using (var client = new WebClient())
                {
                    client.DownloadFile("https://download2.handbrake.fr/1.2.2/HandBrakeCLI-1.2.2-win-x86_64.zip", "./CLI.zip");
                    ZipFile.ExtractToDirectory("./CLI.zip", "./");
                    File.Delete("./CLI.zip");
                    System.IO.DirectoryInfo directory = new System.IO.DirectoryInfo("./doc");
                    Empty(directory);
                    Directory.Delete("./doc");
                }
            }

            conv.TranscodingStarted   += Conv_TranscodingStarted;
            conv.TranscodingCompleted += Conv_TranscodingCompleted;
            conv.TranscodingError     += Conv_TranscodingError;

            HandbrakeCliConfigBuilder config = new HandbrakeCliConfigBuilder();

            config.Encoder = HandbrakeCLIwrapper.Encoder.x264;
            config.AudioCopyMask.Add(AudioCopyMask.aac);
            config.AudioEncoder = AudioEncoder.av_aac;
            config.Format       = Format.av_mp4;
            config.WebOptimize  = true;
            HBConfig            = config;
        }
        private static async void Run(List <string> files, string output)
        {
            if (!File.Exists("./HandbrakeCLI.exe"))
            {
                throw new Exception("Missing ./HandbrakeCLI.exe");
            }
            var hb = new HandbrakeCli("./HandbrakeCLI.exe");

            _total   = files.Count;
            _current = 0;
            PrintStatus(hb);
            var config = new HandbrakeCliConfigBuilder();

            foreach (var file in files)
            {
                await hb.Transcode(config, file, output, overwriteExisting : true);

                _current++;
            }
        }