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

前期準備:

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

Transform360https://github.com/facebook/transform360

 

 

其中,ffmpeg有三種壓縮包格式,任取一種就行了,我選的gz

 

不同格式對應不同解壓方法,三種格式的解壓方法分別是

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格式壓縮包,拷貝進系統就好了

 

 

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

 

指令:

unzip transform360-master.zip解壓

cd transform360-master進入文件

cd Transform360進入transform360所在文件夾下

cmake ./

(發現出錯,cmake尚未安裝,按照所說安裝cmake

指令:

sudo apt install cmake

cmake ./

make

sudo make install

 

3、複製Transform360文件夾下vf_transform360.clibavfilterffmpeg源中的子目錄。

首先解壓,再複製

指令:

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

tar -zxvf ffmpeg-3.2.10.tar.gz

 

 

 

 

 

4、編輯libavfilter/allfilters.c並通過在視頻篩選器註冊部分中添加以下行來註冊該過濾器:

 

將代碼REGISTER_FILTER(TRANSFORM360,   transform360,   vf);複製進去

 

 

 

 

5、編輯libavfilter/Makefile並將篩選器添加到Filter部分中的以下行:

OBJS-$(CONFIG_TRANSFORM360_FILTER)    += vf_transform360.o

 

 

 

 

6、編輯vf_transform360.clibavfilter文件夾

這兩行代碼

#include "transform360/VideoFrameTransformHandler.h"

#include "transform360/VideoFrameTransformHelper.h"

改爲

#include "Transform360/Library/VideoFrameTransformHandler.h"

#include "Transform360/Library/VideoFrameTransformHelper.h"

 

 

 

 

 

 

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++'

 

如圖,再用指令

make

make install    root權限)

完成安裝



運行

input.mp4放入ffmpeg-3.2.10

 

打開終端,進入ffmpeg-3.2.10文件,用指令

./ffmpeg -h filter=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


如圖,就開始投影轉換啦


轉換後就會在目錄下生產output.mp4


原視頻:


轉換後視頻:


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章