web-dev-qa-db-ja.com

自家製のビデオを保存する形式

TL; DR:私のホームビデオはスペースを取りすぎており、Dropboxにバックアップするには実用的ではありません。それらをどの形式に変換することをお勧めしますか?

ロングバージョン:
1年前に新しいコンパクトカメラ(Canon SX230HS)を購入したので、娘のより良い写真や映画を作ることができました。品質は以前のカメラよりも大幅に改善されていますが、結果のファイル、特に映画のファイルサイズも大幅に大きくなっています。昨年は8年前と同じ量のデータを作成しました。 Dropboxですべてをバックアップしたいので、これは問題になりつつあります。そのため、月に数ギガバイトをバックアップする必要はありません。

キヤノンを1920x1080ではなく1280x720で撮影するように構成しましたが、H.264では1分あたり150〜200Mbになります。
これらの映画は家族や友人だけが見ることを目的としており、youtube/facebookに投稿することを目的としているため、別の形式に変換することを考えています。これは明らかにある程度の品質を失うでしょうが、これは問題ではないと思います。結局のところ、10年前、この種の録音にまだはるかに品質の低いテープを使用している人々です。

これに最適なフォーマットはどれですか? WebMを考えていたのは、結果がかなり良い品質であり、Googleによってプッシュされているため、生存率が大きく変化し、認識されることを期待しているからです。
私はオープンフォーマットの大ファンなので、オープンフォーマットを好みます。しかし、私はそれができるだけポータブルであることも望んでいます。タブレットなど、最も一般的なデバイスで簡単に再生できる必要があります。 (驚いたことに、これは私のGoogle Nexus 7タブレットでは実際には当てはまりませんでした。タブレットでwebm変換された映画を試したところ、再生に深刻な問題がありました。ハードウェアデコーダーを使用してNexusでスムーズに再生することしかできませんでした。 MX Player で無効になっています。)

アドバイスありがとうございます!

6
jeroen

どのようなオプションがありますか?

現在(2017年現在)、適切なファイルサイズと品質で不可逆圧縮が必要な場合に、ホームビデオをエンコードできる3つの形式があります。

  • H.264(MPEG-4 AVC)–デファクトスタンダード
  • H.265(HEVC)–H.264後継機
  • VP9 –GoogleのオープンWebMビデオコーデック

考慮すべき点がいくつかあります。

  • VP9(libvpxでエンコード)は、品質とファイルサイズの点でH.264(x264でエンコード)よりも優れています。 HEVC(x265でエンコード)はVP9よりもわずかに優れていますが、高解像度の収穫逓減があります。 Netflixはこの方向で いくつかの広範なテスト を実行しました。

  • x264x265またはlibvpxよりもはるかに高速であるため、エンコード時間が問題になる場合は、H.264を選択してください。

  • これらのフォーマットはすべて、PCのオフラインプレーヤーで適切にサポートされています。

  • HEVCはほとんどのブラウザでサポートされておらず、特許が侵害されており、状況が順調に進んでいないため、サポートされない可能性があります。

  • モバイルデバイスはH.264を最もよくサポートしています。 iOSはVP9をサポートしていません。 Androidはこれらすべての形式をサポートしています。

エンコードはどのようにすればよいですか?

ビデオをアーカイブするには、一定品質のエンコードモードを使用する必要があります(一般的なx264エンコーダーでは [〜#〜] crf [〜#〜] と呼ばれます)。固定ビットレートを設定しただけでは、全体的に品質が低下しますが、取得するファイルサイズを知る以外に実際のメリットはありません。

H.264にはさまざまなエンコーダーがありますが、商用のものでも、x264は優れた品質を提供します。そのようなFFmpegで:

ffmpeg -i input.mp4 -c:v libx264 -crf 18 -c:a aac -b:a 192k out.mp4

設定に関する注意事項:

  • CRFは18に設定されており、視覚的に損失のない結果が得られます。値を低くすると品質が向上し、値を高くすると品質が低下します。正常な値は18〜28です。デフォルトは23です。ビデオ品質が気に入っている限り、より高いCRFを使用できます。
  • 結果のビットレートが高すぎる場合、一部の携帯電話/タブレットはファイルを再生できない可能性があります。この場合、より高いCRF値を選択してください。
  • 別の-preset設定を使用して、エンコード時間を長くする代わりに圧縮効率を上げることができます。 -preset slowまたは-preset slowerを設定します。
  • 192 kBit/sのFFmpeg内蔵エンコーダーを使用したAACエンコーディングを選択しました。これは、オーディオ品質を透過的に保つのに十分なはずです。

本当に、これですべてです。ファイルサイズを小さくするだけの場合は、他の設定は必要ありません。興味がある場合は、 H.264エンコーディングガイド および AACエンコーディングガイド を読んでください。

参照: 。MOVファイルのサイズを小さくするためにどのパラメータを調べる必要がありますか?

7
slhck

H.264はH.265にアップグレードされています。これにより、さらに大きな圧縮が可能になります。ただし、1分あたり150/200MBは多すぎると思います。動画を720pでYouTubeにアップロードする場合、YouTubeはそれを約10〜15MB /秒に圧縮します。 YouTubeには、帯域幅のコストを削減するために圧縮を微調整する専門家がいますが、200MB /秒ではなく20MB /秒で同様の品質を達成できるはずです。

ビデオをこのような低ビットレートで高品質に変換する簡単な方法の1つは、ビデオをYouTubeにアップロードする(そしてプライベートビデオとして保存する)ことです。それはまたあなたの友人とそれを共有することをより簡単にするでしょう。欠点は、アップロード時間が長くなる可能性があることです...

2
Jochem Kuijpers