Два вопроса об использовании FFmpeg в Debian
318
CarambaMamba
Есть несколько вопросов об использовании FFmpeg.
Я использую стабильную ветку Debian. Я делаю отдельные заглавные буквы из видеофайла. Очень долгое время. Я хотел бы понять, как это можно оптимизировать? Какой параметр следует установить или группу параметров?
У меня есть видео с разрешением 1280 × 720, время создания скриншотов составляет около 5 минут. Это слишком долго. Может быть, есть специальная опция для оптимизации?
- Я хочу получить определенное количество заглавных букв из видео. Какой параметр отвечает за это?
Речь идет об отдельных кадрах из видео, их еще называют скриншотами. Ffmpeg необходимо создать определенное количество скриншотов из видеофайла. Например, у меня есть видео за 1 час. Вам нужно получить 15 отдельных скриншотов. Бывает, что отдельные скриншоты нужно делать каждую четвертую минуту этого видео.
1) вероятно, более быстрый путь здесь: https://stackoverflow.com/questions/27568254/how-to-extract-1-screenshot-for-a-video-with-ffmpeg-at-a-given-time. ffmpeg -ss 01:23:45 -i input -vframes 1 -q: v 2 output.jpg. И 2) Не уверен, что вы подразумеваете под caps, свойствами, затем используйте инструмент под названием ffprobe. Входит в пакет ffmpeg. просто запустите ffprobe yourfile.
NoAngel 5 лет назад
0
1. Наверное, я неправильно сформулировал вопрос. У меня разные видео файлы разной длительности. Я хочу заставить ffmpeg делать определенное количество кадров из этих файлов, например 15. Мне нужно, чтобы ffmpeg независимо разделил длительность на время и сделал мне эти 15 кадров. и опция -ss делает это быстро, но в определенный момент в видеофайле. 2.Какая команда и с каким параметром ее следует запускать?
CarambaMamba 5 лет назад
0
Понимаю. Так что вам нужно извлечь некоторые кадры из некоторых файлов в указанное время. Что ж, слегка измененная командная строка делает это: ffmpeg -ss 00: 00: 00.00.000 -i yourfile.mp4 -vframes 60 thumb% 04d.jpg. При этом используется yourfile.mp4 (вы можете указать любой файл в любом формате, поддерживаемом ffmpeg). -ss указать время поиска, ffmpeg начнет отснятый кадр последовательно. Укажите, сколько кадров нужно захватить после -vframes, например, 60. И, наконец, шаблон выходного файла thumb% 04d.jpg делает thumb0001.jpg, thumb0002.jpg, ...
NoAngel 5 лет назад
1
Теперь у вас есть много файлов, затем выполните команду выше для каждого файла. Я не думаю, что ffmpeg может обрабатывать много файлов одновременно в этом режиме.
NoAngel 5 лет назад
1
Неверное указание длительности для сс: 01: 00: 00.00.000, вероятно, мы не понимаем друг друга. Извините меня пожалуйста. но я повторю. Мне нужно, чтобы ffmpeg создавал отдельный кадр каждые 10 минут. либо он делал 10 кадров из всего видеофайла с самого начала
CarambaMamba 5 лет назад
0
Упс, попробуйте 01: 00: 00.000 чч: мм: ссмммм чч час мм минут сс секунда ммм миллисекунда.
NoAngel 5 лет назад
1
Я вижу, вы должны узнать, сколько кадров в секунду имеет ваше видео. Иди: ffmpeg -i video.mp4 -vsync 0 -vf "select = 'not (mod (n, 29))" "thumb% 04d.jpg. Это даст примерно каждый 29-й кадр видео. Теперь простая математика: если ваше видео имеет 60 кадров в секунду, то 60 * 60 * 10 = 36000 в 10 минут, используйте его в моде выше вместо 29.
NoAngel 5 лет назад
0
пожалуйста, прости меня, но мы снова не поняли друг друга. мы говорим об отдельных кадрах из видео, они также называются скриншотами. ffmpeg необходим для создания определенного количества скриншотов из видеофайла. например, у меня есть видео за 1 час. Вам нужно получить 15 отдельных скриншотов. Бывает, что отдельные скриншоты нужно делать каждую четвертую минуту этого видео.
CarambaMamba 5 лет назад
1
Я не знаю такой вариант. Я думаю, что ffmpeg может делать скриншоты из указанного времени каждый указанный номер кадра. Я не могу найти опцию, чтобы указать количество скриншотов, чтобы он мог автоматически делать это каждые x минут. Вам нужно рассчитать количество скриншотов и время захвата самостоятельно. Total_frames = time * frames_per_sec. capture_interval = total_frames / number_of_screenshots. Затем укажите capture_interval в «select = ...» выше. ffmpeg бесплатен, поэтому нет решения в один клик, вам нужно сделать это самостоятельно.
NoAngel 5 лет назад
0
может быть, это поможет: https://trac.ffmpeg.org/wiki/Create%20a%20thumbnail%20image%20every%20X%20seconds%20of%20the%20video это то, что ffmpeg может с этим поделать.
NoAngel 5 лет назад
0
Пожалуйста, ** отредактируйте ** свой вопрос, чтобы уточнить его, комментарии не гарантированно будут сохранены. (Я сделал такое редактирование для вас).
dirkt 5 лет назад
0
Извлечение снимков экрана каждые четыре минуты аналогично преобразованию в очень низкую частоту кадров (например, от 30 кадров в секунду до 1 кадра в 4 минуты). Ffmpeg может конвертировать частоты кадров, но я не уверен, сколько усреднения и т. Д. Он делает во время этого, так что, возможно, потребуется немного поэкспериментировать и поиграться с опциями.
dirkt 5 лет назад
0
0 ответов на вопрос
Похожие вопросы
-
9
В чем разница между командами "su -s" и "sudo -s"?
-
4
Требуется хороший бесплатный образ Ubuntu Server VMWare
-
4
Каковы различия между основными дистрибутивами Linux? Я замечу?
-
-
2
Ограничить использование процессора для Flash в Firefox?
-
2
Как мне заставить мой микрофон работать под Debian GNOME?
-
2
Конки установки - образцы / идеи?
-
3
Каковы различия между оконными менеджерами Linux?
-
2
ThunderBird / Синхронизация освещения с SE k770i
-
4
Файловая система Linux
-
6
Полноэкранная медленная вспышка в KDE 4