ffplay - Datei mit lavfi nicht zu finden

ffplay - Datei mit lavfi nicht zu finden

Ich habe einige Probleme bei der Verwendung von lavfi ffplayzum Anwenden von Filtern.

Ich versuche einfach, ein Video aufzufüllen und ein anderes Video innerhalb des aufgefüllten Bereichs zu überlagern.

Mein Befehl und die Konsolenausgabe lauten wie folgt:

ffplay -f lavfi "movie=h:\test.mpg,pad=704:770:0:0[padded];movie=h:\test2.mpg[2];[padded][2]overlay=shortest=1:x=0:y=490[1]"

ffplay version N-69920-g8bc8001 Copyright (c) 2003-2015 the FFmpeg developers
  built with gcc 4.9.2 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --
enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-lib
modplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrw
b --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinge
r --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --en
able-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis
 --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-
libx265 --enable-libxavs --enable-libxvid --enable-lzma --enable-decklink --enab
le-zlib
  libavutil      54. 18.100 / 54. 18.100
  libavcodec     56. 22.100 / 56. 22.100
  libavformat    56. 22.100 / 56. 22.100
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 11.100 /  5. 11.100
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  3.100 / 53.  3.100
[Parsed_movie_0 @ 0000000000399480] Failed to avformat_open_input 'd'
[lavfi @ 0000000000396a60] Error initializing filter 'movie' with args 'd:test.mpg'
movie=d:\test.mpg,pad=704:770:0:0[padded];movie=d:\test2.mpg[2];[padded][2]overlay=shortest=1:x=0:y=490[1]: No such file or directory

Der Einfachheit halber erhalte ich den gleichen Fehler, wenn ich versuche, den Befehl drastisch zu vereinfachen:

ffplay -f lavfi "movie=d:/test.mpg"

Ich hoffe, dass ich einfach die falsche Syntax verwende, um den Dateispeicherort hier in lavfi anzugeben.

Antwort1

Zwei Dinge:

  • Deine Klammern und Anführungszeichen sind falsch. Du hättest "][1]am Ende stehen sollen, aber das wäre eine Klammer zu viel, und du solltest das Anführungszeichen erst ganz am Ende schließen.

  • Unter Windows müssen Sie den Doppelpunkt im Filter doppelt maskieren movie. Andernfalls wird er als Optionstrennzeichen interpretiert. Ich weiß nicht genau, warum, aberTicket Nr. 2166 erwähnt es.

Das sollte funktionieren:

ffplay -f lavfi "movie=d\\:/test.mpg,pad=704:770:0:0[padded];movie=d\\:/test2.mpg[2];[padded][2]overlay=shortest=1:x=0:y=490[1]"

verwandte Informationen