2011-01-13 148 views
2

ソースビデオのサイズは720x576で、上下に黒い四角形があります。ubuntuのffmpegでビデオを黒く塗りつぶすと、ビデオサイズが変わる

黒い四角形を削除し、出力ビデオサイズを640x352に設定したいとします。

私は-vf cropdetectを試しましたが、与えた値は640:192:0:80でした。

ただし、同じ値をcrop=<parameter>に設定すると、出力ビデオサイズが変更されます。

どうすればこの問題を解決できますか?

例えば:

ffmpeg -i all_the_best_test.mpg -s 640x352 -deinterlace -b 500k -minrate 500k \ 
-maxrate 500k -aspect 1.82 -force_fps -vcodec libx264 -me_method 10 \ 
-vf crop=640:192:0:80 -r 25 -acodec libfaac -ac 2 -ar 44100 -ab 96k -subq 6 \ 
-vpre medium /vod/Movies/final/allthebest-crop-2.mp4 
+0

これがまだ問題であると仮定すると、「ビデオサイズを変更する」とはどういう意味ですか?アスペクト比が間違っていますか? cropdetectは映画のコンテンツが640x192だと言っていますが、640x352がほしいと言っているのは、あなたの望む出力が何であるかははっきりしていません。小さな黒い棒がほしいだけですか?異なるアスペクト比ですか? – blahdiblah

答えて

0

最初のコマンドは、あなたはffmpegのはそれが最後のハンドルます期待している出力に適用されると、あなたが-s 640x352を指定しますか?あなたの結果から判断すると、最初にそれを適用したに違いないと思います(黒いフレームがまだ残っている映画に)。そのため、黒いフレームはムービーに合わせてサイズが変更されていました。次に、元のサイズのムービーで検出されたクロップをこの新しい小さなムービーに適用しました。何かを描かずに説明するのは難しいですが、これはあなたのアスペクト比を歪ませ、作物が保持されるジオメトリとして指定されていれば、マージンからいくつかのコンテンツを切り出します(覚えておいてください: )。言い換えれば、それはちょうど反りませんが、人々はいくつかの欠けている髪や付属具やものを持っている必要がありますか?

簡単なテストケースを作成してみませんか?黒い枠のある映画の基本的なアプローチをすれば、とてもうまく動作します。

ステップ1は同じです。 ffmpeg -i movie.mp4 -vf cropdetect temp.mp4を実行し、crop = 640:192:0:80のように、それが何のために何を言うのかを読んでください。

手順2:テストするコマンドラインを簡略化します。ffmpeg -i movie.mp4 -vf crop = 640:192:0:80 movie_without_borders.mp4。自分の境界をファイルサイズに設定するプレーヤーで結果を再生するようにしてください(または、ポッププレーヤーの場合は2を押します)。新しい映画はゆがんでいないし、黒い枠もなくなっている。

私のテストファイルでは、2つのサイズ変更が発生しました。まず、明らかに、新しい幾何学的サイズは作物に指定したものです。第二に、ファイルサイズが多少減少しました。おそらく、ブラックボックスを保存するために使用されたスペースが多少あるからです。 libx264と動きの少ない比較的低品質のファイルでは、画像と同じ領域のブラックボックスを切り取って、ファイルサイズを3.99から3.76(n = 1 ..の場合)に減らしました。しかし、ほとんどの場合、写真は「歪んだ」ように見えました。

関連する問題