web-dev-qa-db-ja.com

フルモーションのダブルデインターレース-FFMPEG + YADIF 50i-50p 60i-60p

私はffmpegでyadif/yadif-2xを使用して、50iソースマテリアルを50p出力に変換し、毎秒50フィールドすべての動きを維持する方法を理解しようとしています。現在、私は次のコマンドを使用しています。これは、基本的に25p出力と同じ、フレームが2倍になったバージョンを作成します。

ffmpeg -i input.m2t -f:v yadif=1 -c:v prores output.mov

yadif=0を使用すると、インターレース解除された25pファイルが作成されます。 yadif=1を使用すると、25pフレームが2倍になったインターレース解除された50pファイルが作成されます。 1秒あたり50フレームのインターレース解除ファイルを作成する必要がありますが、これが可能であると確信しています。それはyadif(2x)が行うことになっていますか?

6
moot

私がダブルデインターレースしようとしたビデオは実際には25pであり、古いAVCHD標準に準拠するために50iビデオファイルにエンコードされていました。どうやらこれは2000年代半ばから後半にかけてのテープレスカメラの一般的な慣行です。もちろん、インターレースを解除しようとすると、フィールド間に動きがないため、せいぜい、元のソースが毎秒25フレームになるだけです。

f:v yadif = 1は、説明されているとおりに動作します。真のインターレース50iフッテージを取得し、モーション加重bobアルゴリズムを使用して驚くほど高品質の50p出力に変換します。これは、VLCの「yadif 2x」リアルタイムフィルターと同じです。 。出力は、フレームが破棄されたデインターレースの実効垂直解像度のほぼ2倍です。これが私のお気に入りのビデオフィルターの1つになりました。この機能を提供するものは他にほとんどないようです。

3
moot

私はこのコマンドを使用しました:

ffmpeg -i source_50i.MTS -aspect 1920:1080 -vf yadif=1,scale=1920:1080 -c:v libx264 -preset fast -profile:v high -crf 23 -ac 2 -strict experimental -c:a aac -b:a 96k -movflags +faststart -y result_50p.mp4

そしてそれはうまくいきました!

Yadifメソッドの品質が良いかどうかは確認しませんでしたが、実際にはビデオカメラのソースファイルから50i MTSから50p mp4に作成しました。ソースファイルは19 MBで、結果は21MBでした。

2
ecchphoto

理解してください-50iは50フィールド= 50インターリーブフィールドの25フレームを意味します。ユニークな50フレームは取得できません。可能な場合は、これらのフレームのビデオフレームに代替ラインが欠落しています。つまり、25pは50iのトップ+ 50iのボトムの合計です。それがそうあるべきであり、うまくいけば常にそうなるでしょう。さもなければ、あなたが得たように結果は重複したフレーム(ひどい)になる可能性があります。

0
Rajib

多くの人は、29.97が同じ「ピクセル」をスキャンするために陰極線管が戻る頻度に言及しただけだと理解していないと思います。隣接する(上または下の)「ピクセル」に位置していたのは、わずか1/60秒前でした。

各ラスタースキャンは1/60秒でした。曝露。次のスキャンは次の1/60でした。彼らは拘束されなかった。半分の解像度のラスターが垂直方向に引き伸ばされて画面いっぱいになるため、毎秒60倍で送信されました。奇数ラインと偶数ラインのスキャンを交互に行うことにより、「帯域幅」の半分だけでフル解像度の外観を実現しました。

毎秒60の異なるラスタが常にあり、30ではありませんでした。

0