Удалять-to 10

Удалять-to 10

Я протестировал команду ffmpeg для создания миниатюр ffmpeg -y -ss 0 -to 10 -i acb.mp4 -qscale:v 2 -frames:v 1 abc.jpegна macOS, и она работала нормально, тогда как та же команда на Ubuntu 18.04.2 (AWS EC2) для ffmpeg выдавала ошибку.

ошибка :

Option to (record or transcode stop time) cannot be applied to input url abc.mp4 -- you are trying to apply an input option to an output file or vice versa. Move this option before the file it belongs to.
Error parsing options for input file abc.mp4.
Error opening input files: Invalid argument

Я использую AWS EC2 (ubuntu 18.04.2), использовал sudo apt install ffmpeg. Может ли кто-нибудь помочь мне с этим, если мне нужно установить его другим способом, или я что-то здесь упускаю. Спасибо заранее.

решение1

Удалять-to 10

  • Вы выводите один кадр, поэтому вам не нужно объявлять время остановки продолжительности с помощью -to. У одного изображения нет продолжительности, поэтому -toоно в любом случае игнорируется.
  • -ss(смещение начального времени) со значением 0ничего не делает, поэтому его тоже можно удалить.

Пример:

    ffmpeg -y -i acb.mp4 -qscale:v 2 -frames:v 1 abc.jpeg

То же, что и выше, но скриншот делается через 30 секунд:

    ffmpeg -y -ss 30 -i acb.mp4 -qscale:v 2 -frames:v 1 abc.jpeg

Получите снимок экрана в 22 часа 15 минут 5 секунд, но с более низким качеством:

    ffmpeg -y -ss 22:15:05 -i acb.mp4 -q:v 5 -frames:v 1 abc.jpeg

При желании вы можете использовать псевдоним -q:vвместо .-qscale:v

Почему это работает в macOS, но не в Ubuntu

Ранее эта -toопция была только опцией вывода. Она была обновлена, чтобы также работать как входной файл (объявленный ранее -i). Вы используете FFmpeg 3.4.6, который слишком стар для использования -toв качестве опции ввода. Ваша версия FFmpeg на macOS достаточно новая, чтобы ее можно было использовать -toв качестве опции ввода. Но, как упоминалось ранее, при выводе одного изображения -toничего не происходит и игнорируется.

Также см

Связанный контент