ffmpeg arg to mux avi to mp4 without re-encoding

This commit is contained in:
mcored 2014-05-04 21:22:37 +08:00
parent 39116e6dad
commit e96308791a
4 changed files with 42 additions and 31 deletions

View file

@ -126,6 +126,7 @@ private void LoadSettings()
{
Program.Settings.VideoEncoders.Add(new VideoEncoder() { Name = "x264 encoder to MP4", Path = "x264.exe", Args = "--output %output %input", OutputExtension = "mp4" });
Program.Settings.VideoEncoders.Add(new VideoEncoder() { Name = "ffmpeg encoder to WebM", Path = "ffmpeg.exe", Args = "-i %input -c:v libvpx -crf 12 -b:v 500K %output", OutputExtension = "webm" });
Program.Settings.VideoEncoders.Add(new VideoEncoder() { Name = "Change container to MP4 using ffmpeg encoder", Path = "ffmpeg.exe", Args = "-i %input -vcodec copy %output", OutputExtension = "mp4" });
}
Program.Settings.VideoEncoders.ForEach(x => AddVideoEncoder(x));

View file

@ -43,6 +43,8 @@ private void InitializeComponent()
//
// txtExtension
//
this.txtExtension.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.txtExtension.Location = new System.Drawing.Point(88, 80);
this.txtExtension.Name = "txtExtension";
this.txtExtension.Size = new System.Drawing.Size(224, 20);
@ -59,6 +61,8 @@ private void InitializeComponent()
//
// txtArguments
//
this.txtArguments.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.txtArguments.Location = new System.Drawing.Point(88, 56);
this.txtArguments.Name = "txtArguments";
this.txtArguments.Size = new System.Drawing.Size(224, 20);
@ -66,6 +70,8 @@ private void InitializeComponent()
//
// txtPath
//
this.txtPath.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.txtPath.Location = new System.Drawing.Point(88, 32);
this.txtPath.Name = "txtPath";
this.txtPath.Size = new System.Drawing.Size(176, 20);
@ -73,6 +79,8 @@ private void InitializeComponent()
//
// txtName
//
this.txtName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.txtName.Location = new System.Drawing.Point(88, 8);
this.txtName.Name = "txtName";
this.txtName.Size = new System.Drawing.Size(224, 20);
@ -107,6 +115,7 @@ private void InitializeComponent()
//
// btnPathBrowse
//
this.btnPathBrowse.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.btnPathBrowse.Location = new System.Drawing.Point(272, 30);
this.btnPathBrowse.Name = "btnPathBrowse";
this.btnPathBrowse.Size = new System.Drawing.Size(40, 23);
@ -154,7 +163,8 @@ private void InitializeComponent()
this.Controls.Add(this.lblName);
this.Controls.Add(this.txtExtension);
this.Controls.Add(this.lblExt);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow;
this.MinimumSize = new System.Drawing.Size(340, 184);
this.Name = "EncoderProgramForm";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "Encoder Program";

View file

@ -174,7 +174,7 @@ private void NotificationForm_MouseClick(object sender, MouseEventArgs e)
switch (ToastConfig.Action)
{
case ToastClickAction.AnnotateImage:
if (!string.IsNullOrEmpty(ToastConfig.FilePath))
if (!string.IsNullOrEmpty(ToastConfig.FilePath) && Helpers.IsImageFile(ToastConfig.FilePath))
TaskHelpers.AnnotateImage(ToastConfig.FilePath);
break;
case ToastClickAction.CopyImageToClipboard:

View file

@ -109,6 +109,8 @@ private void InitializeComponent()
this.tpCaptureShape = new System.Windows.Forms.TabPage();
this.pgShapesCapture = new System.Windows.Forms.PropertyGrid();
this.tpScreenRecorder = new System.Windows.Forms.TabPage();
this.lblScreenRecorderCLI = new System.Windows.Forms.Label();
this.btnScreenRecorderAVIOptions = new System.Windows.Forms.Button();
this.btnEncoderConfig = new System.Windows.Forms.Button();
this.cboEncoder = new System.Windows.Forms.ComboBox();
this.nudScreenRecorderDuration = new System.Windows.Forms.NumericUpDown();
@ -159,8 +161,6 @@ private void InitializeComponent()
this.tpAdvanced = new System.Windows.Forms.TabPage();
this.pgTaskSettings = new System.Windows.Forms.PropertyGrid();
this.chkUseDefaultAdvancedSettings = new System.Windows.Forms.CheckBox();
this.btnScreenRecorderAVIOptions = new System.Windows.Forms.Button();
this.lblScreenRecorderCLI = new System.Windows.Forms.Label();
this.tcHotkeySettings.SuspendLayout();
this.tpTask.SuspendLayout();
this.cmsDestinations.SuspendLayout();
@ -1126,9 +1126,28 @@ private void InitializeComponent()
this.tpScreenRecorder.Text = "Screen recorder";
this.tpScreenRecorder.UseVisualStyleBackColor = true;
//
// lblScreenRecorderCLI
//
this.lblScreenRecorderCLI.AutoSize = true;
this.lblScreenRecorderCLI.Location = new System.Drawing.Point(16, 48);
this.lblScreenRecorderCLI.Name = "lblScreenRecorderCLI";
this.lblScreenRecorderCLI.Size = new System.Drawing.Size(26, 13);
this.lblScreenRecorderCLI.TabIndex = 13;
this.lblScreenRecorderCLI.Text = "CLI:";
//
// btnScreenRecorderAVIOptions
//
this.btnScreenRecorderAVIOptions.Location = new System.Drawing.Point(200, 12);
this.btnScreenRecorderAVIOptions.Name = "btnScreenRecorderAVIOptions";
this.btnScreenRecorderAVIOptions.Size = new System.Drawing.Size(96, 23);
this.btnScreenRecorderAVIOptions.TabIndex = 12;
this.btnScreenRecorderAVIOptions.Text = "AVI options...";
this.btnScreenRecorderAVIOptions.UseVisualStyleBackColor = true;
this.btnScreenRecorderAVIOptions.Click += new System.EventHandler(this.btnScreenRecorderAVIOptions_Click);
//
// btnEncoderConfig
//
this.btnEncoderConfig.Location = new System.Drawing.Point(336, 71);
this.btnEncoderConfig.Location = new System.Drawing.Point(336, 43);
this.btnEncoderConfig.Name = "btnEncoderConfig";
this.btnEncoderConfig.Size = new System.Drawing.Size(40, 23);
this.btnEncoderConfig.TabIndex = 11;
@ -1140,7 +1159,7 @@ private void InitializeComponent()
//
this.cboEncoder.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cboEncoder.FormattingEnabled = true;
this.cboEncoder.Location = new System.Drawing.Point(48, 72);
this.cboEncoder.Location = new System.Drawing.Point(48, 44);
this.cboEncoder.Name = "cboEncoder";
this.cboEncoder.Size = new System.Drawing.Size(280, 21);
this.cboEncoder.TabIndex = 10;
@ -1154,7 +1173,7 @@ private void InitializeComponent()
0,
0,
65536});
this.nudScreenRecorderDuration.Location = new System.Drawing.Point(163, 128);
this.nudScreenRecorderDuration.Location = new System.Drawing.Point(163, 100);
this.nudScreenRecorderDuration.Maximum = new decimal(new int[] {
60,
0,
@ -1179,7 +1198,7 @@ private void InitializeComponent()
// lblScreenRecorderStartDelay
//
this.lblScreenRecorderStartDelay.AutoSize = true;
this.lblScreenRecorderStartDelay.Location = new System.Drawing.Point(16, 162);
this.lblScreenRecorderStartDelay.Location = new System.Drawing.Point(16, 134);
this.lblScreenRecorderStartDelay.Name = "lblScreenRecorderStartDelay";
this.lblScreenRecorderStartDelay.Size = new System.Drawing.Size(60, 13);
this.lblScreenRecorderStartDelay.TabIndex = 9;
@ -1193,7 +1212,7 @@ private void InitializeComponent()
0,
0,
65536});
this.nudScreenRecorderStartDelay.Location = new System.Drawing.Point(80, 158);
this.nudScreenRecorderStartDelay.Location = new System.Drawing.Point(80, 130);
this.nudScreenRecorderStartDelay.Maximum = new decimal(new int[] {
60,
0,
@ -1232,7 +1251,7 @@ private void InitializeComponent()
// cbScreenRecorderFixedDuration
//
this.cbScreenRecorderFixedDuration.AutoSize = true;
this.cbScreenRecorderFixedDuration.Location = new System.Drawing.Point(19, 130);
this.cbScreenRecorderFixedDuration.Location = new System.Drawing.Point(19, 102);
this.cbScreenRecorderFixedDuration.Name = "cbScreenRecorderFixedDuration";
this.cbScreenRecorderFixedDuration.Size = new System.Drawing.Size(144, 17);
this.cbScreenRecorderFixedDuration.TabIndex = 4;
@ -1242,7 +1261,7 @@ private void InitializeComponent()
//
// nudScreenRecorderFPS
//
this.nudScreenRecorderFPS.Location = new System.Drawing.Point(48, 102);
this.nudScreenRecorderFPS.Location = new System.Drawing.Point(48, 74);
this.nudScreenRecorderFPS.Maximum = new decimal(new int[] {
30,
0,
@ -1267,7 +1286,7 @@ private void InitializeComponent()
// lblScreenRecorderFPS
//
this.lblScreenRecorderFPS.AutoSize = true;
this.lblScreenRecorderFPS.Location = new System.Drawing.Point(16, 106);
this.lblScreenRecorderFPS.Location = new System.Drawing.Point(16, 78);
this.lblScreenRecorderFPS.Name = "lblScreenRecorderFPS";
this.lblScreenRecorderFPS.Size = new System.Drawing.Size(30, 13);
this.lblScreenRecorderFPS.TabIndex = 2;
@ -1703,25 +1722,6 @@ private void InitializeComponent()
this.chkUseDefaultAdvancedSettings.UseVisualStyleBackColor = true;
this.chkUseDefaultAdvancedSettings.CheckedChanged += new System.EventHandler(this.chkUseDefaultAdvancedSettings_CheckedChanged);
//
// btnScreenRecorderAVIOptions
//
this.btnScreenRecorderAVIOptions.Location = new System.Drawing.Point(16, 40);
this.btnScreenRecorderAVIOptions.Name = "btnScreenRecorderAVIOptions";
this.btnScreenRecorderAVIOptions.Size = new System.Drawing.Size(96, 23);
this.btnScreenRecorderAVIOptions.TabIndex = 12;
this.btnScreenRecorderAVIOptions.Text = "AVI options...";
this.btnScreenRecorderAVIOptions.UseVisualStyleBackColor = true;
this.btnScreenRecorderAVIOptions.Click += new System.EventHandler(this.btnScreenRecorderAVIOptions_Click);
//
// lblScreenRecorderCLI
//
this.lblScreenRecorderCLI.AutoSize = true;
this.lblScreenRecorderCLI.Location = new System.Drawing.Point(16, 76);
this.lblScreenRecorderCLI.Name = "lblScreenRecorderCLI";
this.lblScreenRecorderCLI.Size = new System.Drawing.Size(26, 13);
this.lblScreenRecorderCLI.TabIndex = 13;
this.lblScreenRecorderCLI.Text = "CLI:";
//
// TaskSettingsForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);