Как я могу преобразовать многостраничный TIFF в фильм без потерь в командной строке?
ffmpeg
может конвертировать последовательности изображений в фильмы и способен производить вывод без потерь. Можно ли напрямую создать фильм из многостраничного TIFF-файла? Если я попробую один из моих многостраничных tiff-ов, ffmpeg обрабатывает только первый кадр.
1 ответ
Обходной путь
FFmpeg пока не поддерживает многостраничный формат tiff даже в 2021 году! В актуальном билете функции FFmpeg я нашел обходной путь: используйтеconvert
(из ImageMagick) для передачи отдельных изображений в FFmpeg.
Ссылка: https://trac.ffmpeg.org/ticket/8644 .
В моем случае формат файла — Gray16le (16-битный оттенок серого LE, с тепловизионной ИК-камеры):
convert sample.tif gray:- | ffmpeg -f rawvideo -s 1280x1024 -pix_fmt gray16le -r 30 -i - -vcodec ffv1 sample-ffv1.mkv
The ffv1
это формат без потерь, но он по-прежнему сжат. В моем случае это было около 30% от исходного размера.
Я использовал-r 30
чтобы установить выходную частоту кадров.
Примечание
Некоторые могут задаться вопросом, зачем нам нужен 16-битный формат без потерь: мне нужно было смоделировать 16-битный источник V4L в оттенках серого с помощью V4L-loopback:
ffmpeg -stream_loop -1 -re -i sample-ffv1.mkv -map 0:v -f v4l2 /dev/video0