You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:如何正确展开监控360度视频?FFmpeg及HandBrake尝试失败问题

求助:如何正确展开监控360度视频?FFmpeg及HandBrake尝试失败问题

嘿,我来帮你捋捋这个360视频展开的问题!先拆解你遇到的几个错误,再给你针对性的解决方案:

先分析你遇到的FFmpeg错误

  1. 第一个错误:height not divisible by 2 (3840x3413)
    这个问题本质很简单——你用的libx264编码器(H.264标准)要求视频的宽、高必须是偶数,而你用v360=eac:e转换后输出的高度是3413(奇数),直接触发了编码器的参数校验错误。

  2. 第二个错误:Option not found 'output_width'
    你用的output_width、output_height这些参数根本不是v360滤镜的合法选项!v360滤镜指定输出分辨率的参数是w和h,而且output_format也不属于这个滤镜的设置项,要调整像素格式得用全局参数-pix_fmt。

正确的FFmpeg解决方案

首先得确认你的输入视频是哪种360投影格式:从你尝试用eac作为输入参数,加上视频分辨率是3840x3840来看,大概率是等角立方体贴图(EAC);如果是监控常用的双镜头拼接360,那可能是双鱼眼(Dual Fisheye)。下面给你两种情况的具体命令:

情况1:输入是等角立方体贴图(EAC)

直接指定输出为平面视频,同时设置偶数分辨率规避编码报错:

ffmpeg -i Stationnement.mp4 -vf "v360=eac:flat:w=3840:h=2160" -c:v libx264 -crf 17 Stationnement_Output.mp4
  • v360=eac:flat:明确输入是EAC格式,输出为平面展开的常规视频
  • w=3840:h=2160:设置16:9的标准偶数分辨率,完美适配H.264编码要求
  • -crf 17:和原视频的画质参数保持一致,确保输出画质不缩水

情况2:输入是双鱼眼(Dual Fisheye)

如果你的监控是双镜头拼接的360视频,只需要把输入格式改成dfisheye:

ffmpeg -i Stationnement.mp4 -vf "v360=dfisheye:flat:w=3840:h=2160" -c:v libx264 -crf 17 Stationnement_Output.mp4

要是你不确定输入的投影格式,可以用这条命令查看视频元数据(如果有360相关标记的话):

ffprobe -v quiet -print_format json -show_streams -show_format Stationnement.mp4

HandBrake的解决方法

你之前用sphere预设没用,是因为没正确配置投影转换逻辑:

  1. 打开HandBrake导入你的视频
  2. 切换到「视频」选项卡,找到「滤镜」板块
  3. 选择「360 Video」滤镜,然后:
    • 「输入投影」选择对应的格式(EAC或双鱼眼)
    • 「输出投影」选择「平面(Flat)」
  4. 在「尺寸」选项里设置输出分辨率为偶数(比如3840x2160)
  5. 最后点击「开始编码」即可

备注:内容来源于stack exchange,提问作者guillaume tremblay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 07:30:28