ffplay - lavfi를 사용하여 파일을 찾을 수 없습니다.

ffplay - lavfi를 사용하여 파일을 찾을 수 없습니다.

필터를 적용하기 위해 lavfi를 사용하는 데 문제가 있습니다 ffplay.

저는 단순히 하나의 비디오를 패딩하고 패딩된 영역 내에 다른 비디오를 오버레이하려고 합니다.

내 명령과 콘솔 출력은 다음과 같습니다.

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

작업을 단순화하기 위해 다음과 같이 명령을 극적으로 단순화하려고 하면 동일한 오류가 발생합니다.

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

나는 단순히 잘못된 구문을 사용하여 lavfi 내에서 파일 위치를 지정하고 있기를 바라고 있습니다.

답변1

두가지:

  • 괄호와 따옴표가 잘못되었습니다. 마지막에 그랬지만 "][1]한 괄호가 너무 많으므로 맨 끝에서만 인용문을 닫아야 합니다.

  • Windows의 경우 필터에서 콜론을 두 번 이스케이프 처리해야 합니다 movie. 그렇지 않으면 옵션 구분 기호로 해석됩니다. 정확한 이유는 알 수 없지만티켓 #2166에서 언급되어 있습니다..

이것은 작동합니다:

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]"

관련 정보