x264またはビデオのエンコード方法

私の意見では、ビデオのエンコードとギガバイトからメガバイトへの圧縮の問題は常に関連しています。 多かれ少なかれプロのオペレーター、インストーラーなど たとえば、アマチュアやモニターの画面からビデオを録画する人は、深刻な結果を得る前に頭の後ろを長時間掻くことがあります。 その結果、多くの時間を無駄にし、YouTubeでホームビデオをダウンロードするためにギガバイトの送信トラフィックを必要とする人はいません。 もちろん、1つのプログラムの形で既製のソリューションをある程度使用し、わずか3クリックでビデオを圧縮できますが、これは私たちのアプローチではありません。 検索で大騒ぎしていたHabrは、同様のものを何も提供しませんでした。 見た目が悪いこともありますが。



最初は記事が私のものではないことをすぐに予約しなければなりません。 約5年前、つまずいたのは、多くのBattlefield 2ゲームで愛されていた当時の記録された瞬間を、人気の国内映画メーカーのリソースで処理することでした。 徐々に、あちこちで記事が起草され公開されました。 記事が元々「ヒロック」の背後から来ており、すべてが私たちの強力な言語ですべてに翻訳されたことを除外しません。



そのため、x264コーデックは、DivXやXviDなどの当時のモンスターに取って代わり、両方をブレードに搭載することに成功しました。 本当に印象的な結果を得るためには、次のものが必要です。

1. MeGUI-これにより、ビデオ自体を圧縮します。 むしろ、コーデック自体が圧縮されます。これは、さまざまな専用ユーティリティを組み合わせた単なるGUIです。

2. Avisynth-フレームサーバー。 突然誰かがそれが何であるかわからない場合、彼は私たちの非圧縮ビデオとコーデックの間の仲介者です。

3. VLCメディアプレーヤー -ここではすべてが非常に簡単です。 ストリーミングビデオで作業できる雑食プレイヤー。 十分に人気があります。

4. K-Liteコーデックパック -あらゆる場面で使用可能なすべてのコーデックのパッケージ。 メガビルドが必要です。



少なくともビデオを圧縮する前に、K-Lite Codec Packを更新することを強くお勧めします。 これは確かに必要ではありませんが、経験上、理解できないエラー/妨害/グリッチ/などが発生した場合、コーデックを更新することで不必要なhemoから救われることが示唆されています。

ちなみに、MeGUIは非常に高速で、多くの場合、更新および補足されます。 以下のスクリーンショットは現在のバージョンに対応していない可能性がありますが、怖くはありません。 原則として、要素の配置が変更され、何かが右にプッシュされ、何かが別のブックマークに移動されます。 損失は​​非常に速いので、心配しないでください。



行こう AvisynthをインストールしてからMeGUIをインストールします。 MeGUIが更新された後、プロトタイプのあるフォルダーに移動し、便宜上、* .avs拡張子のファイルを作成します。 ノートブックで開き、切望された行を書きます。



AVISource( "video.avi")

ConvertToYV12()




最初の行は、使用するファイルをMeGUIに伝えます。 2行目は、使用されているカラーシステムを示しています。



色を表現する方法はいくつかあります。 例:YUVおよびRGB色空間。 YUV色空間には、輝度(輝度信号)を表す1つのコンポーネントと、色(輝度信号)を表す2つのコンポーネントがあります。 輝度はすべての詳細とともに送信されますが、色信号の成分の一部の詳細は、サンプルの解像度を下げる(フィルタリングまたは平均化)ことによって削除できます。 ) YV12はそのような形式の1つで(ここでは色信号は2x2ピクセルの各ブロックに共通です)、AviSynthでサポートされています。




スクリプトを入手しました。 どうぞ MeGUIを開き、スクリプトの場所を指定します。 AviSynthスクリプトがビデオと同じフォルダーにある場合、2行目は自動的に入力されます。







Encoder settingsの右側にあるConfigボタンをクリックして、コーデック設定を開きます 。 高度な設定が本当に必要であることを確認して、チェックを外します。 次に、スクリーンショットに従ってボックスをチェックする必要があります。















キューボタンをクリックして、スリープ状態に入り、コーヒーを飲みます。 環境設定とPCの電源に依存します。



この設定がソースビデオ720pに適していることを予約します。 1080pの場合、設定を少し編集する必要があります。



[フレームタイプ]タブ-> [ 参照フレーム数]の値を9から4に変更します。




エンコーダで使用できるコアの数を指定することもできます。

[ その他 ]タブ-> [ その他 ]-> [ スレッド]セクションで、ビデオを圧縮するスレッド数を指定します。 1つの仮想コアまたは物理コアごとに1つのスレッド。




結果として何が得られますか。 次のビデオを利用できました。

形式:RGB

コーデックID:0x00000000

コーデックID /情報:基本的なWindowsビットマップ形式。 1、4、および8 bppバージョンはパレット化されています。 16、24、および32bppには生のRGBサンプルが含まれます

期間:3分42秒

ビットレート:663 Mbps

幅:1,280ピクセル

高さ:720ピクセル

表示アスペクト比:16:9

フレームレート:29.970 fps

ビット深度:8ビット

ビット/(ピクセル*フレーム):24.000

ストリームサイズ:17.2 GiB(100%)




約15〜16分待機した後、184 Mbの出力を受け取りました。







Habruがビデオ圧縮に関する同様の記事に興味を持っているなら、私の経験を続けて共有します。 あなたが私を修正して間違いを指摘したいなら、私はすべての批判とコメントに喜んで答えます。



All Articles