2016-05-12 20 views
0

fusionieren, wenn ich für merge in cmd verwendet, die es erfolgreich fusionieren, hier ist Beispielcode,ffmpeg Wave-Audio-und AVI-Video-Format

ffmpeg -i „D: \ Entwicklung \ Video Capture \ My Video-Capture \ WindowsFormsApplication1 \ bin \ Debug \ Video \ uuu.wav "-i" D: \ Entwicklungen \ Videoaufnahme \ Meine Videoaufnahme \ WindowsFormsApplication1 \ bin \ Debug \ Video \ 1.avi "-codec kopieren -vcodec kopieren" D: \ Entwicklungen \ Video erfassen \ My Video-Capture \ WindowsFormsApplication1 \ bin \ Debug \ Video \ output.avi“

aber hier ist Beispielcode i in C# Antragsformular verwendet,

string Path_FFMPEG = Application.StartupPath + "\\ffmpeg.exe"; 
     string Wavefile = Application.StartupPath + "\\Video\\uuu.wav"; 
     string video1 = Application.StartupPath + "\\Video\\1.avi"; 
     string file = Application.StartupPath + "\\Video\\text.txt"; 
     string strResult = Application.StartupPath + "\\Video\\output.avi"; 
     System.Diagnostics.Process proc = new System.Diagnostics.Process(); 
     try 
     { 

      proc.StartInfo.FileName = Path_FFMPEG; 
      proc.StartInfo.Arguments = string.Format("ffmpeg -i {0} -i {1} -acodec copy -vcodec copy {2}", Wavefile, video1, strResult); 
      proc.StartInfo.UseShellExecute = false; 
      proc.StartInfo.CreateNoWindow = false; 
      proc.StartInfo.RedirectStandardOutput = true; 
      proc.StartInfo.RedirectStandardError = true; 

      proc.Start(); 

      string StdOutVideo = proc.StandardOutput.ReadToEnd(); 
      string StdErrVideo = proc.StandardError.ReadToEnd(); 
     } 
     catch { } 
     finally 
     { 
      proc.WaitForExit(); 
      proc.Close(); 
     } 

hier ist outpu Fehler ....

FFmpeg-Version SVN-r23607, Copyright (c) 2000-2010 die Entwickler FFmpeg vom Jun 2010 04.09.35 mit gcc 4.4.2 Konfiguration 15 gebaut: - -target-os = mingw32 --enable-runtime-cpudetect --openable-avisynth --enable-gpl --enable-version3 --enable-bzlib --enable-libgsm --enable-libfaad --openable-pthreads - enable-libvorbis --enable-libtheora --enable-libspeex --enable-libmp3lame --enable-libopenjpeg --enable-libxvid --enable-libschroedinger --enable-libx264 --Extra-libs = '- lx264 -lpthread' --enable- libopencore_amrwb --enable- libopencore_amrnb --enable- librtmp --Extra-libs = '- lrtmp -lpolarssl -lws2_32 -lwinmm' --arch = x86 --cross-prefix = i686-mingw32- --cc = 'ccache i686-mingw32-gcc' --enable-memalign-hack libavu bis 50.19. 0/50.19. 0 libavcodec 52,76. 0/52.76. 0 libavformat 52,68. 0/52.68. 0 libavdevice 52. 2. 0/52. 2. 0 libavfilter 1.20. 0/1.20. 0 libswscale 0.11. 0/0.11. 0 kein geeignetes Ausgabeformat für 'ffmpeg'

mir bitte helfen, dieses Problem zu beheben ..

+0

'SVN-r23607' ist alt und nicht unterstützt. Warum benutzt du so eine alte Version? Ihnen fehlen 6 Jahre Entwicklung, Fehlerbehebungen, Funktionen und Sicherheitsupdates. – LordNeckbeard

Antwort

1

Du ffmpeg bereits Aufruf finden über proc.StartInfo.FileName

so zu

proc.StartInfo.Arguments = string.Format("-i {0} -i {1} -acodec copy -vcodec copy {2}", Wavefile, video1, strResult); 
ändern
+0

Ich habe es geändert, wie Sie erwähnt haben, aber wieder einen anderen Fehler haben, wenn Sie das ganze Verzeichnis geändert haben. FFmpeg Version SVN-r23607, Copyright (c) 2000-2010 die FFmpeg Entwickler libavutil 50.19. 0/50.19. 0 libavcodec 52,76. 0/52.76. 0 libavformat 52,68. 0/52.68. 0 libavdevice 52. 2. 0/52. 2. 0 libavfilter 1.20. 0/1.20. 0 libswscale 0.11. 0/0.11. 0 D: \ Entwicklungen \ Video: Keine solche Datei oder Verzeichnis. –

+0

Sie müssen entweder Ihren Weg Start ändern oder den Pfad Verweis in die Saiten, so dass der resultierende Pfad 'D: \ Entwicklung \ Video Capture \ My Video-Capture \ WindowsFormsApplication1 \ bin \ Debug \ Video \' – Mulvya

+0

ja, dann ist es gut funktionieren . Große Hilfe .. –