使用FFmpeg进行360全景视频格式转换:filter v360
使用FFmpeg filter v360 进行全景视频格式转换
- 1. FFmpeg v360介绍
- 2. 用法和参数
- 3. v360支持的视频格式
- 4. 立方体(cubemap)额外参数设置
- 4.1 Padding
- 4.2 设置不同面输出顺序
- 4.3 分别设置每个面的旋转角度
- 4.4 设置欧拉角旋转
1. FFmpeg v360介绍
FFmpeg在目前最新版4.3中加入了一个新的filter v360,功能是对不同投影格式的360度全景视频做格式转换。在此之前据我了解只有很多小的第三方的实现,现在FFmpeg终于加入了这个功能。
官方文档: FFmpeg v360 filter.
2. 用法和参数
官方示例:实现从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%。具体实现方式还不清楚。
3. v360支持的视频格式
全部支持的格式可以参考文档,这里总结几个我常用的格式。
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 |
4. 立方体(cubemap)额外参数设置
4.1 Padding
4.2 设置不同面输出顺序
使用参数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
4.3 分别设置每个面的旋转角度
使用参数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度的旋转
4.4 设置欧拉角旋转
使用参数yaw, pitch, roll 可以对输出的视频做指定的旋转。
举例:如果要将视角向右偏移90度,即yaw=90,可以使用如下命令:
ffmpeg -i input.mkv -vf v360=e:c3x2:cubic:yaw=90 output.mkv
使用FFmpeg进行360全景视频格式转换:filter v360相关推荐
- 利用ffmpeg将.m4s的视频格式转换成.mp4
下载ffmpeg 下载地址:https://www.gyan.dev/ffmpeg/builds/ 点击红色链接就可以下载,一般下载.zip格式就好,当然也可以选择.7z 题外话:什么是ffmpeg ...
- php视频格式转换---------ffmpeg-php扩展与ffmpeg.exe安装与使用
HP转换视频格式这个问题, 找了一下午的ffmpeg-php扩展的安装与使用方法,都是千篇一律转载的. 下面是我整理的步骤,希望能帮助大家这个问题. 1.下载ffmpeg-php扩展包和ffmpeg. ...
- 【FFmpeg】使用 FFmpeg 处理音视频格式转换流程 ( 解复用 | 解码 | 帧处理 | 编码 | 复用 )
FFmpeg 系列文章目录 [FFmpeg]Windows 搭建 FFmpeg 命令行运行环境 [FFmpeg]FFmpeg 相关术语简介 [FFmpeg]FFmpeg 相关术语简介 二 [FFmpe ...
- linux下ts转mp4,ffmpeg安装及实现视频格式的转换、分片(ts m3u8)
1.简介 FFmpeg是一套可以用来记录.转换数字音频.视频,并能将其转化为流的开源计算机程序.采用LGPL或GPL许可证.它提供了录制.转换以及流化音视频的完整解决方案 2.相关 系统版本:Cent ...
- 【JAVA】JAVA使用ffmpeg进行视频格式转换以及截图
JAVA 处理视频文件,需要用到 ffmpeg 这个工具.不需要依赖jar包.无论是在windows服务器还是linux服务器,想要使用 ffmpeg 都需要先安装. 附上Linux下 *.tar ...
- Ffmpeg,mencoder视频格式转换
一. Ffmpeg,mencoder视频格式转换 Mencoder 转 flv mencoder -ffourcc FLV1 -lavfopts i_certify_that_my_video_st ...
- Java使用ffmpeg进行视频格式转换、音视频合并、播放、截图
封装类: ffplay.ffmpeg.ffprobe是安装的ffmpeg路径. import java.io.BufferedReader; import java.io.File; import j ...
- 在线js视频格式转换截图翻转编辑ffmpeg等操作
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...
- ffmpeg 视频格式转换和宽高转换 制作自己想要的数据格式
ffmpeg 视频格式转换和宽高转换 制作自己想要的数据格式 命令如下: ffmpeg -y -i Titanic.mkv -s 640*480 out.h264 运行效果: 一般的 使用 ffmpe ...
- 利用FFmpeg实现录屏、直播推流、音频视频格式转换、剪裁等功能
一.FFmpeg简介. 二.FFmpeg常用参数及命令. 三.FFmpeg在Unity 3D中的使用. 1.FFmpeg 录屏. 2.FFmpeg 推流. 3.FFmpeg 其他功能简述. 一.FFm ...
最新文章
- innodb force recovery
- Git系列之git log高级命令
- 基于Springboot实现宠物医院综合管理系统
- java web基础1Tomcat服务器基本知识
- 多重if,嵌套if和switch case如何区别使用
- 多重继承与虚继承编程实验
- 链计算:构建信任网络,致力无边界协同
- python socket发送16进制数据_python socket以16进制的数据进行传递与解析
- 编程学习好去处:35 个快速学习的编程网站
- 查看sql_一键查看Oracle数据库当前SQL_WORKAREA_ACTIVE的相关操作
- 获取数组中的所有非唯一值(即:重复/多次出现)
- C#通过NOPI读写Excel,并插入图片,VS2019
- 用极致业务基础平台研发的族谱管理软件
- python标点符号换成空格_产品:“这输入框所有标点符号替换成空格!”
- SQL Server 2005“备份集中的数据库备份与现有的数据库不同”解决方法 详细出处参考:http://www.jb51.net/article/19233.htm
- 批量修改文件夹中文件的后缀名
- ――关于几个著名小说的胡思乱想
- stp文件怎么变文件夹_PDPS教程之数模数据格式转换-stp文件怎么打开
- FFT 快速傅里叶变换 初探
- 耳机重装系统后服务器坏了,Win7重装后耳机没声音|重装系统后耳机没声音怎么办?...