2016-07-11 15 views
0

私はFFMPEGの新機能です。数日掛かりました。私は FFmpeg - Apply blur over face で与えられたコードを試しました。208 X 208の解像度のビデオを持っていて、ビデオの長方形をぼかす必要があります。幅/高さと上/左のオフセットがあります。以下のコードは、正常ビデオFFMPEG:フィルタを変更するとビデオがぼやけてしまうのを防ぎます。

ffmpeg -i test1.mov -filter_complex "[0:v]crop=10:10:1:1,boxblur=1[b0];[0:v][b0]overlay=10:10" intro-blur.mov

ffmpeg -i test1.mov -filter_complex "[0:v]crop=50:50:1:1,boxblur=1[b0];[0:v][b0]overlay=10:10" intro-blur.mov

をぼかすしかし、以下ではない

ffmpeg -i test1.mov -filter_complex "[0:v]crop=5:5:1:1,boxblur=10[b0];[0:v][b0]overlay=10:10" intro-blur.mov

ffmpeg -i test1.mov -filter_complex "[0:v]crop=10:10:1:1,boxblur=10[b0];[0:v][b0]overlay=10:10" intro-blur.mov

を行います

私はそれがなぜそうであるか知りたいですか?動作しないコードの問題は何ですか?

ありがとうございます。

答えて

1

boxblurのドキュメントが

半径値は非負数でなければならず、発現分(H、W)の値より 大きくてはならない、と言う/ 2輝度用アルファプレーン、およびクロマプレーンの場合はmin(cw、ch)/ 2です。

luma_radiusに設定された 対応する値に指定されていない、chroma_radiusとalpha_radiusデフォルトの場合。


したがって、輝度プレーン条件のcrop=20:20:1:1,boxblur=10

に、値10に等しいか= 10min(20,20)/2未満であるべきです。 PASS

ただし、彩度半径の値を指定していないため、20と評価されます。 2:彩度平面の幅と高さ、すなわち0半輝度平面と、色プレーンの

crop=20:20:1:1,boxblur=10にので、値10に等しい又は未満であるべきである今、大部分のビデオは、YUV 4はmin(10,10)/2 = 5。失敗します!

解決策は、半径値が条件を満たしていることを確認するか、またはぼかしの前にフォーマットフィルタを挿入することです。

crop=20:20:1:1,format=yuv444p,boxblur=10

は、あなたはまだぼかし半径がトリミングされた面積の半分最小寸法以下であることを確認する必要があります。

関連する問題