FFMPEG in Visual Studio C++ Express Edition

Hallo,

Könnte mir jemand zufällig sagen ob und wie man FFMPEG mit Visual Studio benutzen kann? Hab schon was gefunden aber das muss ich mit MSYS und MinGW kompileren, leider bekomm ich das nicht hin.

Gruß Michael

Hallo Michael,

so einfach „mit Visual Studio benutzen“ wird wohl nicht gehen. Auf http://ffmpeg.arrozcru.org/wiki/index.php?title=Main… findest Du den Hinweis „FFMPEG DOES NOT BUILD UNDER MSVC++, AND WILL NOT, EVER, BUILD UNDER MSVC++. MSVC++ still does not adhere to the C99 standard, and FFmpeg relies on it, because its developers chose to rely on it. That means the entire build process of FFmpeg must be done with MSys+MinGW. The libraries created by FFmpeg with MinGW are usable just like any other library (either static or shared), with a C99 compiler. This again means that MSVC++ is not supported. You can, however, modify your build system to behave more closely like a C99 system, and then you will be able to use FFmpeg’s libraries with MSVC++.“

Der Ausweg ist, eine MSVC-Anwendung zu programmieren, die die ffmpeg-Kommandozeile erzeugt und dann ffmpeg.exe startet. Genau so etwas macht WinFF (http://winff.org/html/). Wenn Du diesen Weg gehen möchtest, könnte ich Dir weiter helfen. Den mit „You can, however, modify your build system to behave more closely like a C99 system, and then you will be able to use FFmpeg’s libraries with MSVC++.“ angedeuteten Weg halte ich für sehr aufwendig und würde die Finger davon lassen.

Gruß,
Dietmar

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Michael,

Der Ausweg ist, eine MSVC-Anwendung zu programmieren, die die
ffmpeg-Kommandozeile erzeugt und dann ffmpeg.exe startet.
Genau so etwas macht WinFF (http://winff.org/html/). Wenn Du
diesen Weg gehen möchtest, könnte ich Dir weiter helfen. Den
mit „You can, however, modify your build system to behave more
closely like a C99 system, and then you will be able to use
FFmpeg’s libraries with MSVC++.“ angedeuteten Weg halte ich
für sehr aufwendig und würde die Finger davon lassen.

Gruß,
Dietmar

Habe mir jetzt eine ffmpeg exe gesucht, leider schaffe ich es nicht die avi datei in ein mpg umzuwandeln. Ich starte FFMPEG mit den Parametern

sprintf(parameter, „ffmpeg.exe -i „%s“ -target svcd „%s““, input, output);
CreateProcess(NULL, parameter, NULL, NULL, false, CREATE_NO_WINDOW, NULL, NULL, &si, &pi);
Die Konsole von FFMPEG startet aber schliesst sich auch gleich wieder und die Ausgabedatei gibt es nicht. Wie kann ich die input nun umwandeln?

Gruß Michael

Versuche erst einmal auf der Windows-Console (Start->cmd), ob ffmpeg mit Deiner Kommandozeile ( = fprintf(stdout,"%s",parameter) )klarkommt. Wenn nicht, gibt ffmpeg Hinweise, was nicht OK ist. Ein anderer Tip ist, dass Du Dir WinFF downloadest und mal versuchst, damit Dein avi zu konvertieren. WinFF startet auch ffmpeg auf der Konsole und zeigt dort die genutzte Parameterzeile an (Konsole anhalten mit Cntrl-S).

Die nächste Fehlerquelle wäre dann der Aufruf von CreateProcess. Den habe ich mir jedoch noch nicht genau angesehen.

Gruß,
Dietmar

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]