我正在寻找一种方法来解开监控摄像头 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”时出错:未找到选项未找到选项
我也尝试使用球体 json 预设的 handbrake,但也失败了,输出视频仍然是 360 度。
有人知道这件事吗?
以下是媒体信息:
一般信息 总名称:C:\Users\mysta\Downloads\Stationnement.mp4 格式
:MPEG-4 格式配置文件:Base Media 编解码器标识符:isom (isom/iso2/avc1/mp41) 文件大小:5380 万 时长
:34 秒 33 毫秒 总带宽:13.3 Mb/s 每秒图像数:30,000 Im/s 注释
:由 Video2X 编码器升级:Lavf58.45.100视频 ID : 1 格式
: AVC 格式/信息 : Advanced Video Codec 格式配置文件 : High@L6 格式参数 : CABAC / 6 Ref Frames 格式参数,CABAC : 是的 格式参数,RefFrames
: 6 幅图像 编解码器标识符 : avc1 编解码器标识符/信息 : Advanced Video Coding 时长
: 34 秒 33 毫秒 速率 : 13,2 Mb/s 最大 : 3 840 像素 高
: 3 840 像素 屏幕格式 : 1,000 每秒图像类型 : 可变 每秒图像数
: 30,000 图像/秒 最小图像数 : 29,412 图像/秒 最大图像数 : 30,303 图像/秒 色域 : YUV 色度深调:4:2:0 色彩深度:8 位 渐变类型:渐进式 位/(像素*图像):0.030 通量大小
:5350 万 (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 / combined_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 格式/信息 : 高级音频编解码器低复杂度 编解码器标识符 : mp4a-40-2 时长 : 34 秒 6 毫秒 传输类型 : 恒定 传输速率
: 61,4 kb/s 频道 : 1 频道 频道布局 : M 音频质量
: 48,0 kHz 每秒图像数 : 46,875 Im/s (1024 SPF) 压缩模式 : 低 流量大小 : 255 Kio (0%) 标题
: 音轨 默认 : 是的 备用组 : 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
。