Или способ сделать это с существующим фильтром? Чтобы вы могли снимать видео с камеры «рыбий глаз» или двойной камеры «рыбий глаз» (например, Ricoh Theta) и напрямую выводить равнопрямоугольное изображение в режиме реального времени на что-то вроде RTMP?
Есть ли фильтр «рыбий глаз» или «двойной рыбий глаз» для равнопрямоугольного фильтра для ffmpeg?
comment
Удалось ли вам это осуществить?
- person Rahnzo   schedule 11.08.2017
comment
Да, смотрите принятый ответ ниже, он работает!
- person Dan Pisarski   schedule 12.08.2017
Ответы (2)
Фильтр Remap делает именно это:
Этот фильтр копирует попиксельно исходный кадр в целевой кадр. Он переназначает пиксели на новое место назначения x,y на основе двух файлов ymap/xmap.
Основной синтаксис команды
ffmpeg -i fisheye_grid_input.jpg -i fisheye_grid_xmap.pgm -i fisheye_grid_ymap.pgm -filter_complex remap out.png
По этой ссылке также включены файлы отображения для
Камера Ricoh Theta S: входные файлы для разрешения 1920x960(1080)
person
Gyan
schedule
08.08.2016
Спасибо за ответ. Вы знаете, где я могу найти файлы PGM для разрешения Ricoh Theta S 1280x720?
- person gumis; 16.11.2016
Есть ли способ сделать это для существующего видео? а не просто изображение?
- person mateuscb; 19.02.2017
Конечно. Замените первый ввод видео. Вставьте
-loop 1
перед 2-м и 3-м входами. И вывод на видео.
- person Gyan; 19.02.2017
@gumis Я расширил инструмент
projection
, чтобы вы могли создавать файлы проекций и для двойных камер типа «рыбий глаз». >github.com/raboof/dualfisheye2equirectangular
- person Arnout Engelen; 25.05.2017
Как я могу настроить карты, чтобы сделать их совместимыми с разными FOV? У моей камеры FOV 235°, у других 220 или 190 или 180. FOV >180 обязателен для хорошей сшивки, но ПО должно учитывать перекрытие.
- person jumpjack; 05.07.2017
Отлично, но знаете ли вы, как применить фильтр переназначения к выходу камеры, а не к одному изображению?
- person Rahnzo; 11.08.2017
Используйте видео в качестве первого входа. Если фильтр не использует повторно изображения X/Ymap, добавьте
-loop 1
перед каждым входным изображением.
- person Gyan; 11.08.2017
Он работал с видео и потоками с веб-камеры, но когда я пытаюсь получить эту работу с ffserver и веб-камерой, у меня возникает следующая ошибка: MPEG 1/2 не поддерживает 15/1 кадр/с. Я не знаю, как заставить его работать
- person Rahnzo; 05.09.2017
Добавьте
-r 30
, чтобы изменить вывод на 30 кадров в секунду.
- person Gyan; 05.09.2017
В последней версии ffmpeg вы можете сделать это, чтобы преобразовать видео «рыбий глаз» в равнопрямоугольное.
ffmpeg -y -i in.mp4 -vf v360=dfisheye:e:yaw=-90 -c:v libx265 -b:v 40000k -bufsize 5000k -preset ultrafast -c:a copy out.mp4
- y : перезаписать вывод без предупреждения
- я ххх : входной файл
- vf yyy: use filter
yyy: параметры фильтра
v360 : имя фильтра
- dfisheye : double fisheye (rectangular image containing two spheres/fisheye); use "fisheye" to use single sphere/fisheye
- e : аббревиатура равнопрямоугольного
- yaw : направление взгляда (=азимут) центра равнопрямоугольного вывода (=смотрите влево/вправо); используйте высоту тона, чтобы смотреть вверх/вниз
- ih_fov : ввод горизонтального поля зрения; полусфера составляет 180 °, но некоторые камеры достигают 235 °
- iv_fov : ввод вертикального поля зрения, обычно идентичного ih_fov
- h_fov : выходной горизонтальный FOV
- v_fov : выходной вертикальный FOV
Документы: https://ffmpeg.org/ffmpeg-filters.html#v360.
Примечание: фильтр отлично работает как с изображением, так и с видео в качестве входных данных.
person
Wonson
schedule
11.10.2019
были бы полезны некоторые комментарии к параметрам; Я знаю только те, что для изображений...
- person jumpjack; 10.07.2021