2

Я пытаюсь добавить и выключить видеоклип продолжительностью в несколько секунд, и ffmpeg показался мне лучшим способом. В документации упоминается опция затухания, и у меня она работает со временем в кадрах, но я действительно хочу использовать секунды.

Используя пример из документации и добавив следующее в рабочую команду кодирования:

-vf "fade=t=in:st=5.5:d=0.5"

Я получил:

[fade @ 0x102f009a0] Option 'st' not found
[AVFilterGraph @ 0x102f00d00] Error initializing filter 'fade' with args 't=in:st=5.5:d=0.5'

Я получаю ту же ошибку, используя длинный аргумент start_time

У меня есть версия 1.2 ffmpeg и libavfilter 3. 42.103 / 3. 42.103

Я бы использовал кадры для указания времени и продолжительности замирания, но я указываю длину клипа в секундах, и я понятия не имею, как долго клип будет в кадрах. Чтобы указать затухание, мне нужно знать длину в кадрах, а затем указать время начала как num_frames - fade_duration_in_frames .

Кто-нибудь еще сталкивался с этой проблемой?

2 ответа2

2

Вы используете старую версию Libavfilter, где эти фильтры еще не реализованы. Я проверил это с недавней версией 3 libavfilter .60,101 / 3. 60,101 и работает правильно. Попробуйте собрать FFmpeg снова, используя текущую версию, и она также должна работать для вас.

0

У меня есть libavfilter 7. 16.100 / 7. 16.100 и получил ту же проблему с st и start_time .

Фактическая проблема может быть не st или start_time . Проверка журналов У меня есть несколько других проблем, связанных с командами в filter_complex . При проверке журнала и его исправлении у меня не возникло проблем, связанных с st и start_time

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