
Я ищу способ распаковать видеофайл с камеры наблюдения 360. Я попробовал это с помощью ffmpeg:
ffmpeg -i Stationnement.mp4 -vf "v360=eac:e" Stationnement_Output.mp4
и получил эту ошибку
[libx264 @ 0000018192d30380] высота не делится на 2 (3840x3413) [vost#0:0/libx264 @ 0000018192d300c0] Ошибка при открытии кодировщика - возможно, неверные параметры, такие как bit_rate, rate, width или height.
Я также попробовал это с помощью ffmpeg
ffmpeg -i Stationnement.mp4 -vf "v360=equirect:output_width=3840:output_height=2160:output_format=rgb" Stationnement.mp4
И получил эту ошибку
Ошибка применения параметра «output_width» к фильтру «v360»: параметр не найден. Параметр не найден.
Я также попробовал ручной тормоз с предустановкой Sphere JSON, но тоже не получилось, выходное видео по-прежнему было 360.
Кто-нибудь что-нибудь об этом знает?
Вот информация для СМИ:
Общее полное имя: C:\Users\mysta\Downloads\Stationnement.mp4 Формат
: MPEG-4 Профиль формата: Base Media Идентификатор кодека: isom (isom/iso2/avc1/mp41) Размер файла: 53,8 млн Длительность
: 34 с 33 мс Средний общий дебит: 13,3 Мбит/с Изображений в секунду: 30 000 Im/s Комментарий
: Масштабировано кодером Video2X: Lavf58.45.100ID видео: 1 Формат
: AVC Формат/Информация: Advanced Video Codec Профиль формата: High@L6 Параметры формата: CABAC / 6 Ref Frames Параметры формата, CABAC: Oui Параметры формата, RefFrames
: 6 изображений Идентификатор кодека: avc1 Идентификатор кодека/Информация: Advanced Video Coding Продолжительность
: 34 с 33 мс Дебит: 13,2 Мбит/с Большой: 3 840 пикселей Высокий
: 3 840 пикселей Формат экрана: 1,000 Тип изображения/с: Переменный Количество изображений в секунду
: 30,000 Минимальное количество изображений/с: 29,412 Максимальное количество изображений/с: 30,303 Im/s Цветовое пространство: YUV Подсветка цветности: 4:2:0 Глубина цвета: 8 бит Тип выметания: Прогрессивный Бит/(Пиксель*Изображение): 0.030 Размер потока
: 53,5 млн (99%) Используемая библиотека: x264 core 161 r3027 4121277 Параметры кодирования: cabac=1 / ref=6 / deblock=1:1:1 / analyze=0x3:0x113 / me=hex / subme=7 / psy=1 / psy_rd=0.40:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=18 / lookahead_threads=3 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=5 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=crf / mbtree=1 / crf=17.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:0.60 mdhd_Duration
: 34033 Поле конфигурации кодека : avcCАудио ID: 2 Формат
: AAC LC Формат/Информация: Advanced Audio Codec Low Complexity Идентификатор кодека: mp4a-40-2 Продолжительность: 34 с 6 мс Тип дебита: Постоянный Дебит
: 61,4 кбит/с Каналы: 1 канал Разметка каналов: M Частота дискретизации
: 48,0 кГц Количество изображений в секунду: 46,875 кадр/с (1024 SPF) Режим сжатия: С задержкой Размер потока: 255 килобайт (0%) Название
: Звуковая дорожка По умолчанию: Oui Альтернативная группа: 1
решение1
фильтр v360действительно не имеет опций, называемых output_width
или output_height
. Не уверен, откуда вы это взяли.
Вам нужно использовать отдельный фильтр, либо как вторичный vf
, либо внутри filter_complex
. Этого можно добиться разными способами, но scale
один из них должен быть самым простым:
ffmpeg -i Stationnement.mp4 -vf "v360=eac:e,scale=3840:-2" Stationnement_Output.mp4
-2
для scale
означает, что следует сохранить пропорции, но сделать высоту кратной 2
.