Ejemplo n.º 1
0
        void ConvertFile(string file)
        {
            try
            {
                var ffMpeg      = new NReco.VideoConverter.FFMpegConverter();
                var ffMpegInput = new NReco.VideoConverter.FFMpegInput(file);

                ConvertSettings csettings = new ConvertSettings();
                if (EnableResize.Checked == true)
                {
                    csettings.SetVideoFrameSize((int)Xaxis.Value, (int)Yaxis.Value);
                }


                if (FormatChooser.SelectedIndex == 0)
                {
                    ffMpeg.ConvertMedia(file, ffMpegInput.Format, file + "Converted.avi", Format.avi, csettings);
                }
                else if (FormatChooser.SelectedIndex == 1)
                {
                    ffMpeg.ConvertMedia(file, ffMpegInput.Format, file + "Converted.mp4", Format.mp4, csettings);
                }
                else if (FormatChooser.SelectedIndex == 2)
                {
                    ffMpeg.ConvertMedia(file, ffMpegInput.Format, file + "Converted.m4v", Format.m4v, csettings);
                }
                else if (FormatChooser.SelectedIndex == 3)
                {
                    ffMpeg.ConvertMedia(file, ffMpegInput.Format, file + "Converted.gif", Format.gif, csettings);
                }
                else if (FormatChooser.SelectedIndex == 4)
                {
                    ffMpeg.ConvertMedia(file, ffMpegInput.Format, file + "Converted.mov", Format.mov, csettings);
                }
                else if (FormatChooser.SelectedIndex == 5)
                {
                    ffMpeg.ConvertMedia(file, ffMpegInput.Format, file + "Converted.wmv", Format.wmv, csettings);
                }
                else if (FormatChooser.SelectedIndex == 6)
                {
                    ffMpeg.ConvertMedia(file, ffMpegInput.Format, file + "Converted.swf", Format.swf, csettings);
                }
                else if (FormatChooser.SelectedIndex == 7)
                {
                    ffMpeg.ConvertMedia(file, ffMpegInput.Format, file + "Converted.ogg", Format.ogg, csettings);
                }
                else if (FormatChooser.SelectedIndex == 8)
                {
                    ffMpeg.ConvertMedia(file, ffMpegInput.Format, file + "Converted.mpeg", Format.mpeg, csettings);
                }
                else //Nothing selected? Default to .avi format.
                {
                    ffMpeg.ConvertMedia(file, ffMpegInput.Format, file + "Converted.avi", ffMpegInput.Format, csettings);
                }
            }
            catch (Exception e)
            {
                MessageBox.Show("Exception error has occured:\n" + e.Message.ToString(), Title);
            }
        }
Ejemplo n.º 2
0
        private void ChooseVidBtn_Click(object sender, EventArgs e)
        {
            PreviewImg.SetLength(0);
            PreviewImg.Position       = 0;
            VideoFileChooser.Filter   = "Video File|*.avi;*.mpeg;*.flv;*.mov;*.ogg;*.mp4;*.wmv;*.mkv;*.h264";
            VideoFileChooser.FileName = "";
            DialogResult result = VideoFileChooser.ShowDialog();

            if (result == DialogResult.OK && !string.IsNullOrWhiteSpace(VideoFileChooser.FileName))
            {
                var ffMpeg      = new NReco.VideoConverter.FFMpegConverter();
                var ffMpegInput = new NReco.VideoConverter.FFMpegInput(VideoFileChooser.FileName.ToString());
                ffMpeg.GetVideoThumbnail(VideoFileChooser.FileName.ToString(), PreviewImg);
                ThumbNailPicture.Image       = Image.FromStream(PreviewImg);
                EnableWatermarkChkBx.Enabled = true;
            }
        }
Ejemplo n.º 3
0
        void ConvertFileWithTextOverlayOnly(string file)
        {
            try
            {
                Font textBrush = new Font(textfont.SelectedItem.ToString(), (int)fontSize.Value);
                //first, create a dummy bitmap just to get a graphics object
                Image    img     = new Bitmap(1, 1);
                Graphics drawing = Graphics.FromImage(img);

                //measure the string to see how big the image needs to be
                SizeF textSize = drawing.MeasureString(OverlayText.Text.ToString(), textBrush);

                //free up the dummy image and old graphics object
                img.Dispose();
                drawing.Dispose();

                //create a new image of the right size
                img = new Bitmap((int)textSize.Width, (int)textSize.Height);

                drawing = Graphics.FromImage(img);

                //paint the background
                drawing.Clear(Color.Transparent);

                string     colorName    = textColour.SelectedItem.ToString();
                int        Transparency = TransparencySlider.Value;
                Color      newColor     = Color.FromArgb(Transparency, Color.FromName(colorName));
                SolidBrush brush        = new SolidBrush(newColor);

                drawing.DrawString(OverlayText.Text.ToString(), textBrush, brush, 0, 0);
                drawing.Save();

                img.Save(@"text.png", System.Drawing.Imaging.ImageFormat.Png);

                textBrush.Dispose();
                drawing.Dispose();
                img.Dispose();
                brush.Dispose();
            }
            catch (Exception e)
            {
                MessageBox.Show("Exception error has occured:\n" + e.Message.ToString(), Title);
            }
            try
            {
                var ffMpeg = new NReco.VideoConverter.FFMpegConverter();

                NReco.VideoConverter.FFMpegInput[] ffMpegInputs = new NReco.VideoConverter.FFMpegInput[] { new FFMpegInput(file), new FFMpegInput(@"text.png") };

                ConvertSettings csettings = new ConvertSettings();

                if (ResizeOptions.Enabled == true)
                {
                    csettings.SetVideoFrameSize((int)Xaxis.Value, (int)Yaxis.Value);
                }

                csettings.AudioCodec = "copy";
                string arguement = "-filter_complex \"overlay=" + textxaxis.Value.ToString() + ":" + textyaxis.Value.ToString() + "\"";

                csettings.CustomOutputArgs = arguement;


                if (FormatChooser.SelectedIndex == 0)
                {
                    ffMpeg.ConvertMedia(ffMpegInputs, file + "ConvertedWithWatermark.avi", Format.avi, csettings);
                }
                else if (FormatChooser.SelectedIndex == 1)
                {
                    ffMpeg.ConvertMedia(ffMpegInputs, file + "ConvertedWithWatermark.mp4", Format.mp4, csettings);
                }
                else if (FormatChooser.SelectedIndex == 2)
                {
                    ffMpeg.ConvertMedia(ffMpegInputs, file + "ConvertedWithWatermark.mv4", Format.m4v, csettings);
                }
                else if (FormatChooser.SelectedIndex == 3)
                {
                    ffMpeg.ConvertMedia(ffMpegInputs, file + "ConvertedWithWatermark.gif", Format.gif, csettings);
                }
                else if (FormatChooser.SelectedIndex == 4)
                {
                    ffMpeg.ConvertMedia(ffMpegInputs, file + "ConvertedWithWatermark.mov", Format.mov, csettings);
                }
                else if (FormatChooser.SelectedIndex == 5)
                {
                    ffMpeg.ConvertMedia(ffMpegInputs, file + "ConvertedWithWatermark.wmv", Format.wmv, csettings);
                }
                else if (FormatChooser.SelectedIndex == 6)
                {
                    ffMpeg.ConvertMedia(ffMpegInputs, file + "ConvertedWithWatermark.swf", Format.swf, csettings);
                }
                else if (FormatChooser.SelectedIndex == 7)
                {
                    ffMpeg.ConvertMedia(ffMpegInputs, file + "ConvertedWithWatermark.ogg", Format.ogg, csettings);
                }
                else if (FormatChooser.SelectedIndex == 8)
                {
                    ffMpeg.ConvertMedia(ffMpegInputs, file + "ConvertedWithWatermark.mpeg", Format.mpeg, csettings);
                }
                else //Nothing selected? Default to .avi format.
                {
                    ffMpeg.ConvertMedia(ffMpegInputs, file + "ConvertedWithWatermark.avi", Format.avi, csettings);
                }
            }
            catch (Exception e)
            {
                MessageBox.Show("Exception error has occured:\n" + e.Message.ToString(), Title);
            }
        }
Ejemplo n.º 4
0
        void ConvertFileWithWatermarkOnly(string file)
        {
            try
            {
                using (var srcImage = Image.FromFile(WatermarkFileChooser.FileName))
                {
                    var newWidth  = (int)(WatermarkXsize.Value);
                    var newHeight = (int)(WatermarkYsize.Value);
                    using (var newImage = new Bitmap(newWidth, newHeight))
                        using (var graphics = Graphics.FromImage(newImage))
                        {
                            graphics.SmoothingMode     = SmoothingMode.AntiAlias;
                            graphics.InterpolationMode = InterpolationMode.HighQualityBicubic;
                            graphics.PixelOffsetMode   = PixelOffsetMode.HighQuality;
                            graphics.DrawImage(srcImage, new Rectangle(0, 0, newWidth, newHeight));
                            newImage.Save(@"Resized.png", System.Drawing.Imaging.ImageFormat.Png);
                            newImage.Dispose();
                        }
                    srcImage.Dispose();
                }
            }
            catch (Exception e)
            {
                MessageBox.Show("Exception error has occured:\n" + e.Message.ToString(), Title);
            }
            try
            {
                var ffMpeg = new NReco.VideoConverter.FFMpegConverter();

                NReco.VideoConverter.FFMpegInput[] ffMpegInputs = new NReco.VideoConverter.FFMpegInput[] { new FFMpegInput(file), new FFMpegInput(@"Resized.png") };

                ConvertSettings csettings = new ConvertSettings();

                if (ResizeOptions.Enabled == true)
                {
                    csettings.SetVideoFrameSize((int)Xaxis.Value, (int)Yaxis.Value);
                }

                csettings.AudioCodec = "copy";
                string arguement = "-filter_complex \"overlay=" + logoxaxis.Value.ToString() + ":" + logoyaxis.Value.ToString() + "\"";

                csettings.CustomOutputArgs = arguement;


                if (FormatChooser.SelectedIndex == 0)
                {
                    ffMpeg.ConvertMedia(ffMpegInputs, file + "ConvertedWithWatermark.avi", Format.avi, csettings);
                }
                else if (FormatChooser.SelectedIndex == 1)
                {
                    ffMpeg.ConvertMedia(ffMpegInputs, file + "ConvertedWithWatermark.mp4", Format.mp4, csettings);
                }
                else if (FormatChooser.SelectedIndex == 2)
                {
                    ffMpeg.ConvertMedia(ffMpegInputs, file + "ConvertedWithWatermark.mv4", Format.m4v, csettings);
                }
                else if (FormatChooser.SelectedIndex == 3)
                {
                    ffMpeg.ConvertMedia(ffMpegInputs, file + "ConvertedWithWatermark.gif", Format.gif, csettings);
                }
                else if (FormatChooser.SelectedIndex == 4)
                {
                    ffMpeg.ConvertMedia(ffMpegInputs, file + "ConvertedWithWatermark.mov", Format.mov, csettings);
                }
                else if (FormatChooser.SelectedIndex == 5)
                {
                    ffMpeg.ConvertMedia(ffMpegInputs, file + "ConvertedWithWatermark.wmv", Format.wmv, csettings);
                }
                else if (FormatChooser.SelectedIndex == 6)
                {
                    ffMpeg.ConvertMedia(ffMpegInputs, file + "ConvertedWithWatermark.swf", Format.swf, csettings);
                }
                else if (FormatChooser.SelectedIndex == 7)
                {
                    ffMpeg.ConvertMedia(ffMpegInputs, file + "ConvertedWithWatermark.ogg", Format.ogg, csettings);
                }
                else if (FormatChooser.SelectedIndex == 8)
                {
                    ffMpeg.ConvertMedia(ffMpegInputs, file + "ConvertedWithWatermark.mpeg", Format.mpeg, csettings);
                }
                else //Nothing selected? Default to .avi format.
                {
                    ffMpeg.ConvertMedia(ffMpegInputs, file + "ConvertedWithWatermark.avi", Format.avi, csettings);
                }
            }
            catch (Exception e)
            {
                MessageBox.Show("Exception error has occured:\n" + e.Message.ToString(), Title);
            }
        }
Ejemplo n.º 5
0
        void ConvertFileWithTextandWatermark(string file)
        {
            try
            {
                Font textBrush = new Font(textfont.SelectedItem.ToString(), (int)fontSize.Value);
                //first, create a dummy bitmap just to get a graphics object
                Image    img     = new Bitmap(1, 1);
                Graphics drawing = Graphics.FromImage(img);

                //measure the string to see how big the image needs to be
                SizeF textSize = drawing.MeasureString(OverlayText.Text.ToString(), textBrush);

                //free up the dummy image and old graphics object
                img.Dispose();
                drawing.Dispose();

                //create a new image of the right size
                img = new Bitmap((int)textSize.Width, (int)textSize.Height);

                drawing = Graphics.FromImage(img);

                //paint the background
                drawing.Clear(Color.Transparent);

                string     colorName    = textColour.SelectedItem.ToString();
                int        Transparency = TransparencySlider.Value;
                Color      newColor     = Color.FromArgb(Transparency, Color.FromName(colorName));
                SolidBrush brush        = new SolidBrush(newColor);

                drawing.DrawString(OverlayText.Text.ToString(), textBrush, brush, 0, 0);
                drawing.Save();

                img.Save(@"text.png", System.Drawing.Imaging.ImageFormat.Png);

                img.Dispose();
                textBrush.Dispose();
                drawing.Dispose();
                brush.Dispose();
            }
            catch (Exception e)
            {
                MessageBox.Show("Exception error has occured:\n" + e.Message.ToString(), Title);
            }
            try
            {
                using (var srcImage = Image.FromFile(WatermarkFileChooser.FileName))
                {
                    var newWidth  = (int)(WatermarkXsize.Value);
                    var newHeight = (int)(WatermarkYsize.Value);
                    using (var newImage = new Bitmap(newWidth, newHeight))
                        using (var graphics = Graphics.FromImage(newImage))
                        {
                            graphics.SmoothingMode     = SmoothingMode.AntiAlias;
                            graphics.InterpolationMode = InterpolationMode.HighQualityBicubic;
                            graphics.PixelOffsetMode   = PixelOffsetMode.HighQuality;
                            graphics.DrawImage(srcImage, new Rectangle(0, 0, newWidth, newHeight));
                            newImage.Save(@"Resized.png", System.Drawing.Imaging.ImageFormat.Png);
                            newImage.Dispose();
                        }
                    srcImage.Dispose();
                }
            }
            catch (Exception e)
            {
                MessageBox.Show("Exception error has occured:\n" + e.Message.ToString(), Title);
            }
            try
            {
                var ffMpeg = new NReco.VideoConverter.FFMpegConverter();

                NReco.VideoConverter.FFMpegInput[] ffMpegInputs = new NReco.VideoConverter.FFMpegInput[] { new FFMpegInput(file), new FFMpegInput(@"Resized.png"), new FFMpegInput(@"text.png") };

                ConvertSettings csettings = new ConvertSettings();

                if (ResizeOptions.Enabled == true)
                {
                    csettings.SetVideoFrameSize((int)Xaxis.Value, (int)Yaxis.Value);
                }

                csettings.AudioCodec = "copy";
                //ffmpeg - i input - i logo1 - i logo2 - filter_complex 'overlay=x=10:y=H-h-10,overlay=x=W-w-10:y=H-h-10' output
                string arguement = "-filter_complex \"overlay=" + logoxaxis.Value.ToString() + ":" + logoyaxis.Value.ToString() + ",overlay=" + textxaxis.Value.ToString() + ":" + textyaxis.Value.ToString() + "\"";

                csettings.CustomOutputArgs = arguement;


                if (FormatChooser.SelectedIndex == 0)
                {
                    ffMpeg.ConvertMedia(ffMpegInputs, file + "ConvertedWithWatermark.avi", Format.avi, csettings);
                }
                else if (FormatChooser.SelectedIndex == 1)
                {
                    ffMpeg.ConvertMedia(ffMpegInputs, file + "ConvertedWithWatermark.mp4", Format.mp4, csettings);
                }
                else if (FormatChooser.SelectedIndex == 2)
                {
                    ffMpeg.ConvertMedia(ffMpegInputs, file + "ConvertedWithWatermark.mv4", Format.m4v, csettings);
                }
                else if (FormatChooser.SelectedIndex == 3)
                {
                    ffMpeg.ConvertMedia(ffMpegInputs, file + "ConvertedWithWatermark.gif", Format.gif, csettings);
                }
                else if (FormatChooser.SelectedIndex == 4)
                {
                    ffMpeg.ConvertMedia(ffMpegInputs, file + "ConvertedWithWatermark.mov", Format.mov, csettings);
                }
                else if (FormatChooser.SelectedIndex == 5)
                {
                    ffMpeg.ConvertMedia(ffMpegInputs, file + "ConvertedWithWatermark.wmv", Format.wmv, csettings);
                }
                else if (FormatChooser.SelectedIndex == 6)
                {
                    ffMpeg.ConvertMedia(ffMpegInputs, file + "ConvertedWithWatermark.swf", Format.swf, csettings);
                }
                else if (FormatChooser.SelectedIndex == 7)
                {
                    ffMpeg.ConvertMedia(ffMpegInputs, file + "ConvertedWithWatermark.ogg", Format.ogg, csettings);
                }
                else if (FormatChooser.SelectedIndex == 8)
                {
                    ffMpeg.ConvertMedia(ffMpegInputs, file + "ConvertedWithWatermark.mpeg", Format.mpeg, csettings);
                }
                else //Nothing selected? Default to .avi format.
                {
                    ffMpeg.ConvertMedia(ffMpegInputs, file + "ConvertedWithWatermark.avi", Format.avi, csettings);
                }
            }
            catch (Exception e)
            {
                MessageBox.Show("Exception error has occured:\n" + e.Message.ToString(), Title);
            }
        }