|
@@ -20,6 +20,10 @@ namespace Common.system
|
20
|
20
|
{
|
21
|
21
|
public Process myProcess = null;
|
22
|
22
|
|
|
23
|
+ /// <summary>
|
|
24
|
+ /// 是否输出录课录屏日志
|
|
25
|
+ /// </summary>
|
|
26
|
+ public bool OutputVideoLog = FileToolsCommon.GetConfigValue("OutputVideoLog") != "0";
|
23
|
27
|
/// <summary>
|
24
|
28
|
/// ffmpeg输出日志文件地址 每个文件2MB左右
|
25
|
29
|
/// </summary>
|
|
@@ -138,7 +142,10 @@ namespace Common.system
|
138
|
142
|
myProcess.StartInfo.Arguments = SpeakerStr + MicrophoneStr + " -f gdigrab -i desktop -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -acodec aac " + PathName;
|
139
|
143
|
break;
|
140
|
144
|
}
|
141
|
|
- LogHelper.WriteInfoLog("【录屏】:"+myProcess.StartInfo.Arguments);
|
|
145
|
+ if (OutputVideoLog)
|
|
146
|
+ {
|
|
147
|
+ LogHelper.WriteInfoLog("【录屏】:" + myProcess.StartInfo.Arguments);
|
|
148
|
+ }
|
142
|
149
|
myProcess.StartInfo.UseShellExecute = false; //不使用操作系统外壳程序启动
|
143
|
150
|
myProcess.StartInfo.RedirectStandardError = true; //重定向标准错误输出
|
144
|
151
|
myProcess.StartInfo.CreateNoWindow = true; //不显示程序窗口
|
|
@@ -228,7 +235,8 @@ namespace Common.system
|
228
|
235
|
MicrophoneName + "\" -filter_complex amix=inputs=2:duration=first:dropout_transition=2 " + PathName;
|
229
|
236
|
}
|
230
|
237
|
}
|
231
|
|
- LogHelper.WriteInfoLog("【录音】:" + myProcess.StartInfo.Arguments);
|
|
238
|
+ if (OutputVideoLog)
|
|
239
|
+ LogHelper.WriteInfoLog("【录音】:" + myProcess.StartInfo.Arguments);
|
232
|
240
|
myProcess.StartInfo.UseShellExecute = false; //不使用操作系统外壳程序启动
|
233
|
241
|
myProcess.StartInfo.RedirectStandardError = true; //重定向标准错误输出
|
234
|
242
|
myProcess.StartInfo.CreateNoWindow = true; //不显示程序窗口
|
|
@@ -371,6 +379,8 @@ namespace Common.system
|
371
|
379
|
VideoSavePath;
|
372
|
380
|
break;
|
373
|
381
|
}
|
|
382
|
+ if (OutputVideoLog)
|
|
383
|
+ LogHelper.WriteInfoLog("【图片音频合成视频】:" + myProcess.StartInfo.Arguments);
|
374
|
384
|
myProcess.StartInfo.UseShellExecute = false; //不使用操作系统外壳程序启动
|
375
|
385
|
myProcess.StartInfo.RedirectStandardError = true; //重定向标准错误输出
|
376
|
386
|
myProcess.StartInfo.CreateNoWindow = true; //不显示程序窗口
|
|
@@ -471,6 +481,8 @@ namespace Common.system
|
471
|
481
|
|
472
|
482
|
myProcess.StartInfo.Arguments = "-f concat -safe 0 -i " + Path + "temprs/filelist.d -c copy " + FilePath;
|
473
|
483
|
}
|
|
484
|
+ if (OutputVideoLog)
|
|
485
|
+ LogHelper.WriteInfoLog("【音视频合成】:" + myProcess.StartInfo.Arguments);
|
474
|
486
|
myProcess.StartInfo.UseShellExecute = false; //不使用操作系统外壳程序启动
|
475
|
487
|
myProcess.StartInfo.RedirectStandardError = true; //重定向标准错误输出
|
476
|
488
|
myProcess.StartInfo.CreateNoWindow = true; //不显示程序窗口
|
|
@@ -595,6 +607,9 @@ namespace Common.system
|
595
|
607
|
myProcess.StartInfo.FileName = FileToolsCommon.GetFileAbsolutePath(@"/ffmpeg/bin/ffmpeg.exe"); //ffmpeg.exe的绝对路径
|
596
|
608
|
//myProcess.StartInfo.Arguments = "-i \"" + VideoPath + "\" -ss 1 -vframes 1 -r 1 -ac 1 -ab 2 -s " + thubWidth + "*" + thubHeight + " -f image2 \"" + ImagePath + "\"";
|
597
|
609
|
myProcess.StartInfo.Arguments = "-i \"" + VideoPath + "\" -ss 1 -vframes 1 -r 1 -ac 1 -ab 2"+ WHStr + " -f image2 \"" + ImagePath + "\"";
|
|
610
|
+
|
|
611
|
+ if (OutputVideoLog)
|
|
612
|
+ LogHelper.WriteInfoLog("【生成缩略图】:" + myProcess.StartInfo.Arguments);
|
598
|
613
|
myProcess.StartInfo.UseShellExecute = false; //不使用操作系统外壳程序启动
|
599
|
614
|
myProcess.StartInfo.RedirectStandardError = true; //重定向标准错误输出
|
600
|
615
|
myProcess.StartInfo.CreateNoWindow = true; //不显示程序窗口
|
|
@@ -653,6 +668,9 @@ namespace Common.system
|
653
|
668
|
LogPath = CreateffmpegLog();
|
654
|
669
|
myProcess.StartInfo.FileName = FileToolsCommon.GetFileAbsolutePath(@"/ffmpeg/bin/ffmpeg.exe"); //ffmpeg.exe的绝对路径
|
655
|
670
|
myProcess.StartInfo.Arguments = "-i " + VideoPathName + " -acodec copy -vcodec libx264 -s " + Width + "*" + Height + " " + VideoSavePathName;
|
|
671
|
+
|
|
672
|
+ if (OutputVideoLog)
|
|
673
|
+ LogHelper.WriteInfoLog("【视频转码】:" + myProcess.StartInfo.Arguments);
|
656
|
674
|
myProcess.StartInfo.UseShellExecute = false; //不使用操作系统外壳程序启动
|
657
|
675
|
myProcess.StartInfo.RedirectStandardError = true; //重定向标准错误输出
|
658
|
676
|
myProcess.StartInfo.CreateNoWindow = true; //不显示程序窗口
|
|
@@ -741,16 +759,6 @@ namespace Common.system
|
741
|
759
|
}
|
742
|
760
|
}
|
743
|
761
|
|
744
|
|
- //private void P_ErrorDataReceived(object sender, DataReceivedEventArgs e)
|
745
|
|
- //{
|
746
|
|
- // //+= new DataReceivedEventHandler((s, message) => { Console.WriteLine(message.Data); })
|
747
|
|
- // using (StreamWriter fs = new StreamWriter("E:\\项目\\测试\\Wpf测试\\bin\\Debug\\ffmpeg\\log.txt", true))
|
748
|
|
- // {
|
749
|
|
- // fs.WriteLine(e.Data);
|
750
|
|
- // Debug.WriteLine(output.Data.ToString());
|
751
|
|
- // }
|
752
|
|
- //}
|
753
|
|
-
|
754
|
762
|
/// <summary>
|
755
|
763
|
/// 获取麦克风
|
756
|
764
|
/// </summary>
|