6

У меня длинное видео с частотой кадров 30 кадров в секунду, которое я хочу преобразовать в 200-кратный интервал с частотой кадров 60 кадров в секунду. Моя единственная проблема заключается в том, что avconv излишне дублирует каждый второй кадр в выходном сигнале, в результате чего на выходе 60 FPS эффективно получается 30 FPS. Я хочу, чтобы каждый кадр был уникальным. При 200-кратном увеличении скорости и 2-кратном увеличении частоты кадров нет причин дублировать кадры.

Например, проблема в том, что на выходе используются исходные кадры, такие как 1,1,21,21,41,41, ... когда я хочу использовать кадры 1,11,21,31,41,51, .. ,

Вот команда, которую я использую:

avconv -i input_30fps.avi -vcodec h264 -an -r 60 -vf "setpts=(1/200)*PTS" output_200x_60fps.avi

2 ответа2

4

Как это часто случается со мной, потратив несколько часов, пытаясь выяснить это, прежде чем обращаться за помощью, я сам нахожу решение всего через несколько минут после запроса.

Оказывается, avconv - не лучшая замена ffmpeg, как я думал, когда Linux Mint, IIRC, удалил ffmpeg из официального репозитория в пользу avconv. В любом случае, ffmpeg вернулся, и я установил его и нашел эквивалентную команду, которая не дублирует фреймы:

ffmpeg -i input_30fps.avi -vcodec h264 -an -vf "fps=60, setpts=(1/200)*PTS" output_200x_60fps.avi
0

Да, причина, по которой это не сработало, заключается в том, что используемая вами команда НЕ предназначена для ускорения воспроизведения, а для увеличения четкости видео.

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