FFmpeg在目前最新版4.3中加入了一个新的filter v360,功能是对不同投影格式的360度全景视频做格式转换。在此之前据我了解只有很多小的第三方的实现,现在FFmpeg终于加入了这个功能。
官方文档: FFmpeg v360 filter.
官方示例:实现从ERP到立方体的转换:
ffmpeg -i input.mkv -vf v360=e:c3x2:cubic:out_pad=0.01 output.mkv
解释一下参数的含义:
最基本的参数格式如下:
v360=input_format:output_format
其中input_format和output_format分别是原始投影格式和目标投影格式。
e: ERP 投影格式
c: 立方体投影格式
c3x2: c后面加3x2指的是输出立方体视频的排列方式。目前支持三种:3x2, 1x6, 6x1
如果对于输入输出中的格式还有额外的参数要求,使用如下格式:
v360=input_format:output_format:format_1:arg_name=value
这里format_1指某个你要具体设置的格式,在冒号后面用arg_name= value的格式加具体参数。
在这个官方示例中,对于立方体还有额外的参数设置: cubic:out_pad=0.01, 这个是指立方体每个面要向外padding的像素数量是边长的1%。具体实现方式还不清楚。
全部支持的格式可以参考文档,这里总结几个我常用的格式。
Format argument | Full name | Notes |
---|---|---|
‘e’, ‘equirect’ | Equirectangular | |
‘c3x2’, ‘c6x1’, ‘c1x6’ | Cubemap with 3x2/6x1/1x6 layout | 大量额外设置可选 |
‘eac’ | Equi-Angular Cubemap | |
‘tsp’ | Truncated square pyramid |
使用参数out_forder设置六个用何种顺序排列。对于c3x2, 各个面按从左到右,从上到下排列:
举例:
ffmpeg -i input.mkv -vf v360=e:c3x2:cubic:out_forder='rludfb' output.mkv
这个命令是指立方体的六个面按right, left, up, down, front, back的顺序输出。这个也是默认顺序。
注意,如果输入的视频不是默认顺序,则需要用in_forder来声明输入的顺序。举例:
ffmpeg -i input.mkv -vf v360=c3x2:e:cubic:in_forder='rludfb' output.mkv
使用参数in_frot和out_frot设置每个面的顺时针旋转角度。举例:
ffmpeg -i input.mkv -vf v360=e:c3x2:cubic:out_frot='000012' output.mkv
这个命令会将输出的第五个面旋转90度,第六个面旋转180度。
默认是’000000’, 使用0 1 2 3 代表0 90 180 270度的旋转
本文地址:https://blog.csdn.net/qiutiantxwd/article/details/107283224
如对本文有疑问, 点击进行留言回复!!
《UnityAPI.Particle粒子》(Yanlz+Unity+SteamVR+云技术+5G+AI+VR云游戏+Particle+lifetime+startColor+立钻哥哥++OK++)
8寸扫码三防军工平板手持终端,双色注塑模/康宁大猩猩玻璃/10点电容屏
信创舆情一线--十五部门印发指导意见进一步促进服务型制造发展
网友评论