ffmpeg получить значение от cropdetect

Его можно запустить cropdetect и урожай в одной строке и получить большие пальцы от видео?

что-то вроде этого

ffmpeg -ss 1 -i 0.flv -vf cropdetect=24:16:0,crop=w:h:x:y -vcodec mjpeg -vframes 1 -an -f rawvideo -s 240x180 0.jpg 

Или, возможно, нужно запустить в 2-х строках, сначала запустить cropdetect, а затем запустить обрезку и генерировать большие пальцы из видео, но таким образом мне нужно получить значение от cropдетекта?

cropdetect на консоль, чтобы вы могли анализировать вывод, а затем использовать его как переменную:

 ffmpeg -i input -t 1 -vf cropdetect -f null - 2>&1 | awk '/crop/ { print $NF }' | tail -1 

Это приведет к чему-то вроде:

 crop=640:480:0:50 

Затем запустите свою фактическую команду обрезки:

 ffmpeg -i input -vf $cropvalue,scale=240:-1 -vframes 1 -qscale:v 2 output.jpg 
  • -vcodec mjpeg , -an и -f rawvideo являются излишними

  • Используйте -qscale:v для управления качеством вывода jpg. Нормальный диапазон составляет 2-5 (более низкое значение – более высокое качество).

  • Используйте фильтр scale вместо -s ; особенно если вы уже используете фильтры. Кроме того, фильтр scale позволит вам установить определенную ширину или высоту, а с -1 он автоматически предоставит правильное значение для сохранения аспект. В противном случае, если вы попытаетесь навязать определенный размер, вы можете рискнуть раздавленным или растянутым выходом.

Очевидно, что я не кодер PHP, но это должно дать вам хотя бы идею.