ffmpeg的安装以及transform360插件的安装

时间:2024-03-15 16:07:40

前期准备:

ffmpeg3.2.10http://ffmpeg.org/download.html#releases

Transform360https://github.com/facebook/transform360

 

 

其中,ffmpeg有三种压缩包格式,任取一种就行了,我选的gz

 ffmpeg的安装以及transform360插件的安装

不同格式对应不同解压方法,三种格式的解压方法分别是

gz  格式:tar -zxvf ffmpeg-3.2.10.tar.gz

xz  格式:tar -xvJf ffmpeg-3.2.10.tar.xz

bz2格式:tar -jxvf ffmpeg-3.2.10.tar.bz2

 

 

而对于transform360插件,下载一个zip格式压缩包,拷贝进系统就好了

 ffmpeg的安装以及transform360插件的安装

 

zip格式:unzip transform360-master.zip

 

在桌面建立360文件夹,存放两个压缩包(个人喜好)

Ubuntu16.04上的安装工作

https://github.com/facebook/transform360上还是有相关步骤的,我在此进行一定的演示操作。

 

1、安装ffmpegOpenCVdev版本和编解码器库,操作如下

sudo apt-get install ffmpeg

sudo apt-get install libopencv-dev

sudo apt-get install nasm libxvidcore-dev libass-dev libfdk-aac-dev libvpx-dev libx264-dev

 

 

2、安装完毕后切换到transform360所在文件夹下,我的是在桌面/360

 ffmpeg的安装以及transform360插件的安装

指令:

unzip transform360-master.zip解压

cd transform360-master进入文件

cd Transform360进入transform360所在文件夹下

cmake ./

(发现出错,cmake尚未安装,按照所说安装cmake

指令:

sudo apt install cmake

cmake ./

make

sudo make install

 ffmpeg的安装以及transform360插件的安装

3、复制Transform360文件夹下vf_transform360.clibavfilterffmpeg源中的子目录。

首先解压,再复制

指令:

返回到ffmpeg-3.2.10.tar.gz所在文件夹下(我是cd ..cd ..

tar -zxvf ffmpeg-3.2.10.tar.gz

 ffmpeg的安装以及transform360插件的安装

 ffmpeg的安装以及transform360插件的安装

 

 

 

4、编辑libavfilter/allfilters.c并通过在视频筛选器注册部分中添加以下行来注册该过滤器:

ffmpeg的安装以及transform360插件的安装 

将代码REGISTER_FILTER(TRANSFORM360,   transform360,   vf);复制进去

 ffmpeg的安装以及transform360插件的安装

 

 

 

5、编辑libavfilter/Makefile并将筛选器添加到Filter部分中的以下行:

OBJS-$(CONFIG_TRANSFORM360_FILTER)    += vf_transform360.o

 ffmpeg的安装以及transform360插件的安装

 ffmpeg的安装以及transform360插件的安装

 

 

6、编辑vf_transform360.clibavfilter文件夹

这两行代码

#include "transform360/VideoFrameTransformHandler.h"

#include "transform360/VideoFrameTransformHelper.h"

改为

#include "Transform360/Library/VideoFrameTransformHandler.h"

#include "Transform360/Library/VideoFrameTransformHelper.h"

 ffmpeg的安装以及transform360插件的安装

 ffmpeg的安装以及transform360插件的安装

 

 

 

 

7在源文件夹中配置ffmpeg:

指令:

(用cd进入ffmpeg-3.2.10文件夹)

./configure --prefix=/usr/local/transform/ffmpeg --enable-gpl --enable-nonfree --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libvpx --enable-libx264 --enable-libxvid --enable-libopencv --extra-libs='-lTransform360 -lstdc++'

 ffmpeg的安装以及transform360插件的安装

如图,再用指令

make

make install    root权限)

完成安装



运行

input.mp4放入ffmpeg-3.2.10

 ffmpeg的安装以及transform360插件的安装

打开终端,进入ffmpeg-3.2.10文件,用指令

./ffmpeg -h filter=transform360

 ffmpeg的安装以及transform360插件的安装

然后用指令

./ffmpeg -i input.mp4 -vf transform360="input_stereo_format=2:cube_edge_length=1024:interpolation_alg=cubic:enable_low_pass_filter=1:enable_multi_threading=1:num_vertical_segments=15:adjust_kernel=1" output.mp4

注意:

参数示例:

ffmpeg -i input.mp4

    -vf transform360 = “ input_stereo_format = MONO

    cube_edge_length = 512

    interpolation_alg = cubic

    enable_low_pass_filter = 1

    enable_multi_threading = 1

    num_horizo​​_ntal_segments = 32

    num_vertical_segments = 15

    adjust_kernel = 1 ”  

    output.mp4

含义:

cube_edge_length立方体边的长度(对于三次变换,覆盖wh,默认为0)(从016384)(默认值为0

interpolation_alg插值算法(从04)(默认CUBIC

enable_low_pass_filter启用基于低通滤波器的抗锯齿(从01)(默认1

enable_multi_threading启用多线程以加快基于低通滤波器的抗混叠(从01)(默认值为1

num_horizo​​_ntal_segments每个平面平面的水平段数(从1500)(默认1

num_vertical_segments每帧平面垂直段的数量(从2500)(默认5

adjust_kernel启用内核调整(从01)(默认值为1


如图,就开始投影转换啦

ffmpeg的安装以及transform360插件的安装

转换后就会在目录下生产output.mp4

ffmpeg的安装以及transform360插件的安装

原视频:

ffmpeg的安装以及transform360插件的安装

转换后视频:

ffmpeg的安装以及transform360插件的安装