最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

如何使用ffmpeg為視頻減震去抖

2023-04-23 20:57 作者:王斃立  | 我要投稿


之前自己發(fā)過一些記錄儀拍下來的畫面,你們可能已經(jīng)看過了,例如:

算了,該視頻上傳了不讓發(fā)出來………………

然而,自己這個(gè)騎行記錄儀,僅僅是很低端的一款,防抖功能很差,遠(yuǎn)遠(yuǎn)比不了 GoPro 那些高端的戶外運(yùn)動(dòng)記錄儀,很多時(shí)候,自己騎行沒什么感覺,而看自己錄下來的畫面就會(huì)抖震顛簸到暈車了,為此,我一咬牙,一跺腳,一狠心,買,買不起 GoPro,就上 Goo 歌搜索了一下,軟件去抖減震的方法,還真的有,并且是免費(fèi)開源的工具 ffmpeg,這東西恰好就是我長(zhǎng)期以來一直喜歡用來做視頻處理的工具,那就正合我意了。

先上一個(gè)例子

先用如下命令參數(shù)對(duì)原始視頻文件做一下處理,生成一個(gè)分析記錄抖動(dòng)狀態(tài)的 transforms.trf 的中間文件

然后用下面的命令和參數(shù)再使用該中間數(shù)據(jù)文件對(duì)原始視頻做處理,生成去抖減震的視頻文件:

處理前用 potplayer 生成的視頻信息文件:

處理后用 potplayer 生成的視頻信息文件:

免安裝

看到這里就急著去百毒搜索下載安裝 ffmpeg 的朋友們等等!不要急,ffmpeg 十分可能已經(jīng)躺在你自己電腦里面某個(gè)犄角旮旯的地方了,它經(jīng)常被其它各種視頻編輯器包括在自身的安裝路徑下面了,這些圖形化界面的視頻編輯器都是對(duì) ffmpeg 在圖形化界面上的封裝,但是,封裝就會(huì)只挑選最常用的功能封裝,而去抖減震這種犄角旮旯的需求,很多常見的視頻編輯器并沒有提供界面直接用,我們所需要的僅僅就是深入安裝路徑里面找到 ffmpeg.exe 這個(gè)文件,直接在命令行里面去使用它這些強(qiáng)大的功能。

再來看看這些命令參數(shù)

第一步是 vidstabdetect 分析視頻的抖動(dòng)

shakiness 原始視頻抖動(dòng)的劇烈程度,1 為抖動(dòng)最小,10 為抖動(dòng)最大,默認(rèn)是 5,

accuracy 取值范圍:1 到 15,設(shè)置檢測(cè)過程的準(zhǔn)確性,1 表示低精度,15 表示高精度,默認(rèn) 15

stepsize 設(shè)置搜索過程的間隔值(掃描尺度)。最低是 1 像素分辨率掃描,最高是 32 像素分辨率掃描,默認(rèn)為 6,取值越大,則掃描像素分辨率越粗,生成的 trf 文件體積越小,生成的速度越快,取值越小,則生成 trf 文件體積越大生成的速度越慢。

result 指定所生成的 trf 文件的文件名,可以省略, 默認(rèn)名為transforms.trf

show 把內(nèi)部轉(zhuǎn)換生成的視頻顯示出來,默認(rèn)不顯示,設(shè)為 1 則會(huì)顯示可視化出來。

-f null - 僅僅執(zhí)行該第一步,不生成第二步的最終視頻文件

第二步是 vidstabtransform 對(duì)視頻減震去抖處理

input 使用第一步所生成的 trf 文件,指定文件名,可以省略,默認(rèn)使用transforms.trf,比如我可以在第一步使用不同的參數(shù)來生成多個(gè)不同的 trf 文件,在第二步使用這多個(gè)不同的 trf 文件來生成不同的去抖減震視頻來對(duì)比不同的效果,尋找對(duì)一個(gè)原始視頻文件的最優(yōu)參數(shù)

smoothing 默認(rèn)值是 10,表示減抖算法根據(jù)當(dāng)前幀的前 10 幀和后 10 幀來處理當(dāng)前幀,也就是前后加起來一共 20 幀來處理當(dāng)前幀的抖動(dòng),該值越小,則減抖的力度越弱,該值越大,則減抖的力度越強(qiáng),當(dāng)然減抖越強(qiáng),也就意味著如果是頭戴式攝像頭跟隨腦袋轉(zhuǎn)動(dòng)目光視線而看向目標(biāo)的加速度越小越弱,尤其是空戰(zhàn)模擬的傳統(tǒng)頭瞄 trackir 的虛擬座艙視景或現(xiàn)代 VR 盔攝的綠幕前真實(shí)座艙真實(shí)桿、舵、手的畫面就可能會(huì)卡暈,這個(gè) smoothing 的值,可以有一個(gè)簡(jiǎn)單的計(jì)算依據(jù),就是videofps/2,也就是原始視頻幀頻的一半,物理含義就是,減抖減小的是一秒以內(nèi)的抖動(dòng),或者說是頻率 1Hz 以上的抖動(dòng),或者說是人自己的腦袋無論是點(diǎn)頭還是搖頭不會(huì)快到頻率 1Hz 以上,1Hz 以上的高頻抖動(dòng)減去掉,只剩下 1Hz 一下的抖動(dòng)在視頻里面,這樣的視頻給人看應(yīng)該不會(huì)感覺到難受,能那么快轉(zhuǎn)腦袋還不會(huì)暈的大概只有鳥類:

也就是如果你做視頻給鳥看這個(gè)數(shù)值可以很小,反過來如果減抖處理視頻給樹懶看則需要十秒長(zhǎng)度以上的減抖……

zoom 視頻縮放的比例,正數(shù)是放大,負(fù)數(shù)是縮小,默認(rèn)是零。設(shè)定為負(fù)值讓視頻縮小,那么四周全部會(huì)包上黑邊嗎?不,ffmpeg 默認(rèn)的處理是在四邊補(bǔ)足畫面,用畫面的邊緣部分鏡像延伸擴(kuò)展,使得最終看起來好像沒有黑邊,但是更實(shí)用的是設(shè)定為正值,讓視頻畫面放大,這樣就不會(huì)有任何邊緣擴(kuò)展了,但是視頻畫面會(huì)裁剪四邊,比如我上面的減抖處理視頻的畫面,原始視頻使用騎行記錄儀攝的,畫面右下角有一串日期時(shí)間顯示的文字,在用放大減抖處理后,整個(gè)時(shí)間顯示的文字就全都被裁剪沒了,但是對(duì)于我這個(gè)騎行記錄儀來說又是很好的處理,因?yàn)轵T行記錄儀本身的設(shè)計(jì)制造是視場(chǎng)角非常大,遠(yuǎn)大于一般普通的攝錄設(shè)備,因而人們?cè)陔娔X上查看騎行記錄儀的原始視頻的時(shí)候就會(huì)覺得畫面有變形,整體呈現(xiàn)一個(gè)凸面球形的世界,尤其是畫面四周圍變形嚴(yán)重,因此將騎行記錄儀視頻放大截掉四周圍一部分畫面后在來看就會(huì)舒適很多,并且裁剪畫面會(huì)使最終生成的視頻文件比原始文件更小。

用上面的各種參數(shù)來轉(zhuǎn)換:

這個(gè)處理過的視頻在這里:


最簡(jiǎn)化版本

能省略的參數(shù)都給省略掉,都使用 ffmpeg 所默認(rèn)推薦的數(shù)值,懶人減抖命令是:


額外:并列兩視頻

得到減震視頻后,我們往往會(huì)把它和原始視頻左右并列拼接合成為一個(gè)對(duì)比視頻,只需要 vstack 和 hstack 兩個(gè)過濾器參數(shù)即可。

垂直排布:


水平排布:


這兩個(gè) stack 參數(shù)是不是很眼熟?很像上一期我講到的 ONLYOFFICE 表格中的新的矩陣操作函數(shù):

算了,沒有發(fā)在B站上……

友情提示

小抖怡情,中抖健身,強(qiáng)抖灰飛煙滅……

學(xué)會(huì)了軟減抖之后,自己特意擼了一段搓板路,然后用 ffmpeg 減震去抖,效果如下:


減抖后也變不成平滑柔順如飄柔的樣子,而減抖前可把我顛吐了,大家可千萬不要跟我學(xué)!

參考文獻(xiàn):

[1] vid.stab - Features: http://public.hronopik.de/vid.stab/features.php?lang=en


如何使用ffmpeg為視頻減震去抖的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
大竹县| 樟树市| 双鸭山市| 许昌市| 黄浦区| 寿宁县| 神池县| 扎兰屯市| 博罗县| 甘肃省| 改则县| 绥德县| 长海县| 武义县| 延长县| 通辽市| 赤城县| 阳泉市| 凌源市| 甘肃省| 鄂州市| 井陉县| 新巴尔虎左旗| 九台市| 阿拉善右旗| 安乡县| 淮阳县| 蓝山县| 延津县| 武城县| 舞阳县| 合阳县| 长汀县| 永靖县| 海口市| 应城市| 屏东县| 青浦区| 泽普县| 措美县| 阿巴嘎旗|