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); } }
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; } }
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); } }
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); } }
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); } }