當我運行此代碼時。cmd命令不被識別爲>內部或外部命令,可操作程序或批處理文件
public void WaterMarkingUsingCommandLine(string videopath, string imagepath)
{
string OutputFolder = AppDomain.CurrentDomain.BaseDirectory + "Output\\" + System.IO.Path.GetFileNameWithoutExtension(videopath) + "_Output.mp4";
string ffmpegPath = @""""+AppDomain.CurrentDomain.BaseDirectory + @"ffmpeg.exe""";
string ffmpegParams = @"-i """[email protected]""" -i """[email protected]""" -filter_complex ""overlay=10:10"" """[email protected]"""";
Process ffmpeg = new Process();
ffmpeg.StartInfo.FileName = "cmd.exe";
ffmpeg.StartInfo.Arguments = "/k " + ffmpegPath + " " + ffmpegParams;
ffmpeg.Start();
}
我在cmd中看到這個。
「C:\用戶\ jafar.baltidynamolog \文件\視覺」不被識別爲 內部或外部的命令,可操作的程序或批處理文件。
C:\用戶\ jafar.baltidynamolog \視頻\影片>
這個問題似乎是由於其他問題告訴space.As,我已經加入圍繞文件名逗號,但仍是不加工。
更新
通過調試我發現的
ffmpeg.StartInfo.Arguments該值=
「/ K \」 C:\用戶\ jafar.baltidynamolog \文件\ visual studio 2010 \ Projects \ VideoProjectBilal \ VideoProjectBilal \ bin \ Debug \ ffmpeg.exe \「 -i \」C:\ Users \ jafar.baltidynamolog \ Videos \ videos \ SampleVideo_360x240_2mb.mp4 \「 -i \」C: \用戶\ JAF ar.baltidynamolog \ Videos \ images \ 2.png \「-filter_complex \」overlay = 10:10 \「\」c:\ users \ jafar.baltidynamolog \ documents \ visual studio 2010 \ Projects \ VideoProjectBilal \ VideoProjectBilal \ bin \調試\輸出\ SampleVideo_360x240_2mb_Output.mp4 \ 「」
請分享您在'ffmpegPath'和'ffmpedParams'中獲得的內容。您可能必須將'ffmpegPath'換成雙引號。 –
這不會解決您的問題,但可能不需要通過'cmd/k'啓動 - 您的'StartInfo'文件名應該是ffmpeg.exe的路徑,並且參數應該相應地改變。 –