2

Вроде в недоумении здесь. Я пытаюсь извлечь один кадр из видео для использования в качестве изображения для предварительного просмотра, используя FFmpeg на сервере Ubuntu. Десятки ответов гидов, вики и StackExchange говорят мне отформатировать команду следующим образом:

ffmpeg —ss 00:00:05 -i path/video.mp4 —frames:v 1 -vf crop=640:520 path/image.jpg

Однако, когда я пытаюсь запустить эту команду, FFmpeg возвращает мне эту ошибку:

[NULL @ 0x516d2a0] Unable to find a suitable output format for '—ss'
—ss: Invalid argument

Что может быть не так? Кажется, что FFmpeg не распознает свою собственную команду.

2 ответа2

3

Как это —ss: Invalid argument для ffmpeg?

Ваша команда в том виде, в котором она написана, вместо знака тире () имеет значение emdash (-) 1 , замените его, и это сработает:

ffmpeg -ss 00:00:05 -i path/video.mp4 -frames:v 1 -vf crop=640:520 path/image.jpg

(обратите внимание, что аргумент frames также имеет неверную черту em - будьте осторожны при копировании и вставке!)


1 См. Http://www.thepunctuationguide.com/em-dash.html для примера 2

2 Вас также может заинтересовать почтенный ан-тире и сравнение двух

1

Нашел решение здесь: https://stackoverflow.com/questions/13780736/ffmpeg-unable-to-find-a-suitable-output-format-for-i?rq=1

Для тех, кто не хочет кликать, проблема в том, что emdash (-) - это не то же самое, что дефис (-).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .