#windows #ffmpeg
#Windows #ffmpeg
Вопрос:
Хорошо, я знаю, что этот вопрос задавался миллион раз. Однако у меня есть одно небольшое дополнение к вопросу, которое я, похоже, не смог найти в своем поиске в Google.
Я, конечно, не профи в FFMPEG…Я использовал стандартный шаблон ускорения / замедления для FFMPEG, тот, который я использую, это:
ffmpeg -i input.mp4 -filter:v "setpts=PTS/60" -an output.mp4
В настоящее время я работаю с часовым видео в формате 4K / 60 кадров в секунду…Я хочу сократить его примерно до 30 секунд или около того, поэтому я использую PTS / 100, и мне не нужен звук … проблема в том, что это занимает ВЕЧНОСТЬ … чего я полностью ожидал.
Но поскольку я сижу здесь и жду его завершения…Я ничего не могу поделать, но wonder…is есть более быстрый / эффективный способ добиться этого? Я знаю, что в FFMPEG есть много странных вещей в отношении порядка команд, которые вы используете для ускорения времени поиска, и настроек и т.д.
Комментарии:
1. С чем вы, наконец, начали работать? Я не могу заставить ответ работать (и у меня нет места, чтобы превратить его в растровые изображения)
Ответ №1:
Вы можете использовать
ffmpeg -itsscale 0.016667 -i input.mp4 -c copy -an output.mp4
где 0.016667
находится 1/60
.
Однако при этом будут сохранены все кадры, и если временная база ввода не имеет достаточного разрешения, у вас будут неправильные временные метки. Вы можете обойти это, сначала создав временный файл.
ffmpeg -i input.mp4 -c copy -video_track_timescale 90k -an temp.mp4
а затем выполнить первую команду для этого временного файла.
Комментарии:
1. Спасибо, я попробую
2. откуда вы взяли временную шкалу в 90 кб?
3. Ни то, ни другое не работает. Они оба выдают выходные данные, которые практически идентичны по размеру исходному файлу и показывают только несколько кадров с большой задержкой между ними, в которых последний кадр остается неизменным на экране.
4. При попытке вывода видео в другом проигрывателе, я думаю, что на самом деле это ничего не делает, кроме изменения некоторых метаданных. Второй проигрыватель утверждает, что воспроизводит точно такое же видео, что и первый, но частота кадров составляет 3600x. Очевидно, что нет возможности использовать достаточную мощность для воспроизведения с такой скоростью, поэтому видеоплеер либо выходит из себя и пропускает кучу кадров, либо воспроизводит его так быстро, как только может, что намного меньше 3600x. В любом случае результат не тот, который ожидался, то есть фактическое удаление >99,9% кадров.
Ответ №2:
Эта последовательность команд может быть полезна для решения этой проблемы:
ffmpeg -i source.avi -r 0.016667 image/imaged.bmp
ffmpeg -i image/imaged.bmp -vcodec libx264 -b:v 500k -f avi video.avi
Комментарии:
1. Интересно, так вы раскладываете изображения по отдельным файлам, а затем перекомпилируете их в видео?
2. Да, это может работать очень быстро, но для этого требуется немного свободного места на диске