단일 이미지와 drawtext가 포함된 ffmpeg 비디오가 실패했습니다. -loop로 인해 짧은 정지가 발생합니다.

단일 이미지와 drawtext가 포함된 ffmpeg 비디오가 실패했습니다. -loop로 인해 짧은 정지가 발생합니다.

단일 이미지로 비디오를 만들고 위에 텍스트를 추가하려고 합니다. 우분투에서의 명령:

ffmpeg -loop 1 -r 1 -i image.jpg -b:v 1M -vf scale=320:240 "drawtext=fontfile=/usr/share/fonts/truetype/DejaVuSans.ttf: text='Test Text'" -t 20 output.mp4

이 오류가 발생합니다.

    Unable to find a suitable output format for 'drawtext=fontfile=/usr/share/fonts/truetype/DejaVuSans.ttf: text='Test Text''
drawtext=fontfile=/usr/share/fonts/truetype/DejaVuSans.ttf: text='Test Text': Invalid argument

배율을 320:240으로 유지해야 합니다

왜 이런 일이 발생하는지 잘 모르겠습니다.

-loop 1또 다른 문제는 명령을 추가하면 인코딩을 진행하기 전에 5-7초 동안 정지된다는 것입니다 . 이 문제는 존재하지 않는 경우에는 발생하지 않습니다.-loop 1

이 출력이 -loop 1정지된 후:

 ffmpeg version 2.3.git Copyright (c) 2000-2014 the FFmpeg developers
  built on Aug 14 2014 01:22:13 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
  configuration: --prefix=/home/user/ffmpeg_build --extra-cflags=-I/home/user/ffmpeg_build/include --extra-ldflags=-L/home/user/ffmpeg_build/lib --bindir=/home/user/bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libfreetype --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree --enable-libfribidi --enable-libfontconfig
  libavutil      54.  1.100 / 54.  1.100
  libavcodec     56.  0.100 / 56.  0.100
  libavformat    56.  0.100 / 56.  0.100
  libavdevice    56.  0.100 / 56.  0.100
  libavfilter     5.  0.100 /  5.  0.100
  libswscale      3.  0.100 /  3.  0.100
  libswresample   1.  0.100 /  1.  0.100
  libpostproc    53.  0.100 / 53.  0.100

그런 다음 평소대로 인코딩을 진행합니다. 기이한.

답변1

문제는 방금 ffmpeg에 하나의 필터, 즉 필터를 제공했다는 것입니다 scale.

-vf scale=320:240 "drawtext=fontfile=/usr/share/fonts/truetype/DejaVuSans.ttf: text='Test Text'"

해당 "drawtext…"부분은 열 수 없는 출력 파일 이름으로 해석됩니다. 사용할 필터가 여러 개인 경우 쉼표로 결합하세요.

-vf "scale=320:240, drawtext=fontfile=/usr/share/fonts/truetype/DejaVuSans.ttf: text='Test Text'"

관련 정보