古いビデオを小さいサイズに変換する

古いビデオを小さいサイズに変換する

数年前のビデオがいくつかあり、avi、mpg、wmv、rm、rmvb などさまざまな形式があります。それらのサイズは非常に大きいです (500 MB 以上、場合によっては 1 GB を超えることもあります)。

  1. データ圧縮技術は進歩している可能性が高いため、明らかなデータを失うことなく、大幅なサイズ削減を実現する基準として、現在推奨されているファイル形式と圧縮方法を知りたいと思います。
  2. Ubuntu 12.04 でファイル形式の変換とデータ圧縮を実行するにはどうすればよいでしょうか? コマンド ラインとバッチ方式が最も便利ですが、GUI 方式も歓迎します。

ありがとう、よろしく!

答え1

Ubuntu とバンドルされている FFmpeg

さて、FFmpeg が Ubuntu に同梱されなくなったという問題に遭遇しましたが、 を通じてインストールしようとしましたapt-get

このプログラムはもう開発されておらず、互換性のためだけに提供されています

これは単なる嘘です。FFmpegは活発に開発されていますが、Ubuntuのパッケージは古く、 libav詳細はこちら文言について議論するバグレポートメッセージの。

ソースからのインストールまたは静的ビルドの使用

自分でコンパイルしたくない場合は、静的ビルドを以下から入手してください。ダウンロードページ

最新の状態を維持し、ツールを自分で設定したい場合は、ソースからコンパイルする。 チェックUbuntu コンパイルガイドインストールの詳細な方法については、こちらをご覧ください。これらの手順に従うと、FFmpeg (エンコード ツール) と x264 (特定のビデオ エンコーダー) の両方の最新バージョンが手に入ります。

サイズを縮小するには何が必要ですか?

あなたが尋ねる …

最近推奨されているファイル形式と圧縮方法

実際、誰もが推奨する圧縮方法 (「コーデック」) は 1 つだけです。それは、低帯域幅のビデオ用の圧縮方法を規定する H.264 または MPEG-4 Part 10 / AVC 標準です。H.264 は、高帯域幅でも優れた結果を実現します。このための非常に一般的なエンコーダーは「x264」と呼ばれ、上記でインストールしたものです。

これは、「DivX」および「XviD」エンコーダを有名にしたビデオ コーデック標準である MPEG-4 Part 2 に代わるものです。これらも優れていますが、同じ品質を維持するにはより多くの帯域幅が必要です。

実際のファイル形式は重要ではありません。H.264ビデオは、AVIからMP4、MOV、MKVまで、ほぼすべてのコンテナに格納できます。ビデオコーデックの違いを知っておくことが重要です。それ自体、そしてそれを単にカプセル化するコンテナ。詳細については、こちらをご覧ください。コーデック (例: DivX) とは何ですか? また、ファイル形式 (例: MPG) とどう違うのですか? 最近は出力コンテナとして MP4 または MKV を選択するでしょう。AVI は古すぎてビデオでできることがあまりありません。また、前述のコンテナには再多重化のためのより優れたツールがあります。

サイズを小さくしたいときは、ビデオの平均ビットレートを下げます。最も単純なケースでは、エンコーダーをたとえば 1.5 MBit/s の固定ビットレートに強制することになります。これは機能しますが、いくつかの欠点があります。固定ビットレートでエンコードする代わりに、エンコーダーにどれだけのビットレートを使うかを選択させます。これにより、ビデオの内容に合わせて平均ビットレートが調整されます。定率係数オプション。

x264の場合、CRFに18から26の間の値を設定することになります。デフォルトは23で、値が大きいほど品質が悪くなり、逆もまた同様です。これが何をするのか正確に知る必要はありませんが、興味があればこれを参照してください。CRFガイド

どのように変換を実行しますか?

FFmpeg を起動したら、ビデオを 192 kBit/s 固定ビットレートの AAC オーディオ付きの x264 / MP4 に変換するだけです。

ffmpeg -i input.avi -c:v libx264 -crf 23 -c:a aac -b:a 192k output.mp4

これで完了です。CRF 値を調整することで、出力サイズと品質を変更できます。低いほど品質は向上しますが、サイズは大きくなります。高いほど品質は低下しますが、サイズは小さくなります。前述したように、妥当な値は 18 から 26 の間、場合によってはそれ以上です。入力ビデオのサイズを本当に縮小したい場合は、ファイル サイズを縮小しながらも許容できるビデオ品質を実現する CRF 値を選択してください。

ビデオがどのように見えるかをテストするには、Q変換中にいつでも を押します。切り詰められたファイルが残りますが、再生は可能です。また、エンコードする長さを指定する-t <seconds>オプション<seconds>(最初の 30 秒のみなど) を提供することもできます。

詳しい設定については、H.264 エンコーディング ガイド

バッチ処理

変換したい AVI ファイルが大量にある場合は、たとえば Bash で次のようにして、すべてのファイルを再帰的にトランスコードすることができます。

while IFS= read -d '' -r file; do 
  ffmpeg -i "$file" -c:v libx264 -crf 23 -c:a aac -b:a 192k ${file%%.avi}-converted.mp4 
done < <(find . -iname "*.avi" -print0)

.aviこのコマンドの接尾辞を変更して、他のファイルに対して再度実行することができます。

ビデオのエンコードは時間のかかる作業であり、ソース ファイルに最適な設定を見つけるのに時間がかかることに注意してください。

答え2

もう一つの多機能な(そして非常に実用的なGUIを備えた)ツールはアビデマックス

バッチ処理の仕組みに関する詳細な情報は次のとおりです。Avidemux DocuWiki - バッチ処理

関連情報