ffmpeg формат выходного файла - PullRequest
11 голосов
/ 17 декабря 2011

При использовании ffmpeg для вывода серии кадров в виде изображений, единственный формат, который я могу найти для документации , это frame_%d.jpg. Идентификатор %d заменяется последовательным числом кадров.

Есть ли другие параметры, которые я могу использовать в формате выходного файла? В частности, мне нужна возможность добавить метку времени конкретного кадра.

Ответы [ 5 ]

6 голосов
/ 21 января 2012

Оказывается, что это поведение еще не было реализовано в то время.

Я реализовал начальную версию поддержки %t на своем форке FFmpeg (https://github.com/yuvadm/FFmpeg), и в настоящее время работаю над очисткойпатч, чтобы его можно было объединить с апстримом.

3 голосов
/ 11 апреля 2014

Опция strftime позволяет расширять имя файла информацией о дате и времени. Проверьте документацию функции strftime () на наличие синтаксиса.

Например, для генерации файлов изображений из шаблона strftime () %Y-%m-%d_%H-%M-%S можно использовать следующую команду ffmpeg:

ffmpeg -f v4l2 -r 1 -i /dev/video0 -f image2 -strftime 1 "%Y-%m-%d_%H-%M-%S.jpg"
1 голос
/ 25 июля 2016

Я взломал сценарий bash, который создает имена файлов в зависимости от времени в фильме. Он использует формат: "hh_mm_ss" в имени файла. Вы можете увидеть это по адресу:

https://github.com/pozar/makemoviethumbs

0 голосов
/ 10 января 2017

Для количества кадров можно использовать отчет со специальным режимом отладки:

FFREPORT=file=\'file.log\':level=48 && ffmpeg ... -vf select=eq(pict_type\,PICT_TYPE_I) -vsync vfr -f image2 OUTPUT

, затем вы можете сопоставить имя с preg_match_all:

preg_match_all("/] n:(\\d+)\\.[^>]+pict_type:I/Us",$log,$m,PREG_PATTERN_ORDER,5000);
$frames=$m[1];

Пожалуйста, наслаждайтесь!

0 голосов
/ 31 августа 2016

Другой вариант, который вам нужен, - запустить ffprobe -show_packets и использовать эти данные, чтобы «вывести» временную метку каждого сгенерированного файла jpg (предполагается, что вы генерируете одну для каждого входящего видеокадра). Хлоп!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...