.MOVファイルのサイズを小さくするには、どのパラメーターを調べる必要がありますか?


12

Canon 60Dはビデオを録画するときに.MOVファイルを作成しますが、.MOVコンテナにはH264ビデオストリームとPCMオーディオストリームがあることがわかりました。

私はffmpegとGSpotを使用してビデオの一部を見ており、かなり高いビットレート(640x480で22,000kbps、1920x1080で45,000)と思われるものを見ています。

ファイルのサイズを小さくしたいが、品質はかなり高く保ちたい。ビットレートを下げることで、ビットレートを半分に削減し、ファイルサイズを約半分にするという、考えられる最も単純な方法で試しました。しかし、「適切な」ターゲットビットレートを決定する方法があるのか​​、可変ビットレートを実行しようとする意味があるのか​​、疑問に思っています。

回答:


21

しかし、「良い」目標ビットレートを決定する方法があるかどうか疑問に思っています…

適切なターゲットビットレートは、次のいずれかのビットレートです。

  • マテリアルをストリーミングしているネットワーク(3Gネットワ​​ーク、自宅のWiFiなど)でサポートされており、計算が非常に簡単です
  • よさそうだ、これは非常に主観的な尺度

22 Mbit / sまたは45 Mbit / sは、平均的なユーザー、特にh.264のような既に圧縮されたビデオでは、実際に非常に高いです。あなたは間違いなく先に進み、常に許容できるストレージ容量と失われたい品質の大きさに関して、「適切な」値にビットレートを下げることができます。

1080pビデオのサイズを本当に必要としない場合、または編集する処理能力がない場合は、1080pビデオのサイズを720pに変更することもできます。

…または可変ビットレートを実行しようとする点がある場合

固定ビットレートのポイントは、送信されるビデオの最大ビットレートを制限するボトルネックがあるストリーミングメディアシナリオに適応することです。今日のマルチメディアの世界では、これは必ずしも意味をなさない。

ビデオを一定のビット/秒に絞ると、基本的にエンコーダーは常に同じ量のビットを使用して同じ時間フレームをエンコードするように指示します。それが最良のアプローチですか?あなたが今までに推測したかもしれないように、そうではありません。HandbrakeからCRFガイドを引用(これについては後で説明します):

目は、静止しているオブジェクトが動いているときよりも詳細に知覚します。このため、ビデオコンプレッサーは、物事が動いている場合はより多くの圧縮を適用(詳細を低下)し、物事が静止している場合はより少ない圧縮(詳細を保持)を適用できます。主観的には、ビデオは高品質のように見えます。

そのため、可能な限り可変ビットレートを使用するのは理にかなってます。同じファイルサイズの固定ビットレートビデオであっても、ビデオの見栄えが良くなります。

さらに、最も有名なx264であるほとんどのエンコーダーは、固定ビットレートを使用するように指示すると非常に性能が低下することがよくあります。フレームに何ビットを費やしたいのかという意味で、彼らにもう少し「自由」を与える方が良いです。結局のところ、それはエンコーダーの仕事であり、あなたではありません。そして、それは「一定の品質」と呼ばれます。


それで十分です–実際にはそれはどういう意味ですか?FFmpegを使用してビデオをエンコードする場合、すでに十分なツールを使用しています。現在x264もインストールされており、両方の最新バージョンを使用している場合、現在無料で入手できる最高のエンコーダーの1つを使用しています。固定ビットレートでエンコードする代わりに、x264で使用する金額を選択できます。これを行うには、Constant Rate Factorオプションを使用します。

非常に簡単な場合、これは17〜23の値を設定することを意味します。再多重化のためのより優れたツールがあるため、MOVではなくMP4を出力コンテナとして選択します。

ffmpeg -i input.mov -c:v libx264 -crf 22 output.mp4

値が低いほど品質が良くなり、出力が大きくなります。逆に、高いほど、品質は低くなります。同時に、当然ながら必要な平均ビットレートを削減します。の詳細については、x264エンコーディングガイドをご覧くださいffmpeg

ここでのタスクは、次のようなCRF値を見つけることです。

  • 全体的なビットレートを、余裕のあるレベルまで下げます
  • 品質をあまり低下させないので、ビデオはまだきれいに見えます

はい、これには多くのエンコードと試行錯誤が伴いますが、これはビデオのチューニングとエンコードを行う際の日常業務です。

ああ、コマンドラインが気に入らなければ、Handbrakeはまったく同じことを行う無料のクロスプラットフォームツールです。CRFスライダーもあります。

ここに画像の説明を入力してください


動いているオブジェクトの詳細に関しては、ビデオ圧縮で定期的にやり過ぎではないのですか、それとも単に悪い例だけを覚えているのでしょうか?カメラがパン停止すると詳細の顕著な増加、などのような
ダニエル・ベック

これは実際にはかなり一般的なもので、「安定化」問題として知られています。たとえば、ブロック感が消えるのを見るとき。これは、動きの差の変化が速すぎてレート制御が適合しない低ビットレートシナリオの典型です。ここでは、2パスエンコーディングが役立つと思われますが、おそらくそれほどではありません。これらの種類のアーティファクトを完全に取り除くことが可能かどうかはわかりません。
slhck

過去にHandbrakeを使用して、DV avisをビデオカメラからDivXおよびmp4に変換しましたが、.movからh264 mp4に移行するためのオプションを見つけようとすると、コマンドラインで作業する方が簡単であることがわかりました。DivXを作成するときに-crfと同等のものはありますか?(または、それは別の質問ですか?)
区-モニカを復活させる

@Wardを使用できます-qscale。mpeg *の場合、スケールは1〜31(31が最低品質)の範囲の線形であり、値を2倍にすると、ビットレートは約半分になります。2の値は、視覚的にほぼ無損失と見なすことができます。3-5は通常良いバランスですが、もちろん品質は主観的であり、あなたはそれを試す必要があります。
-llogan

いいね!いくつかの質問。(1)「1080p video to 720p」で「p」が後に続く数字は何を意味しますか?(2)x264は可変ビットレートを使用しますが、なぜffmpegのオプションは固定レート係数と呼ばれますか?ありがとう!
ティム

2

HandBrake CLIをお試しください

私はいくつかのMOVファイルを縮小したかったので、ビデオオプションに関するすべての詳細を知りたくありませんでした。HandBrake CLIは私が使用したものです。プリセットは素晴らしいです:

HandBrakeは、MacGuiのビルトインプリセットとまったく同じハードコーディングされた工場出荷時のプリセットを提供します。

私の場合、これはうまくいきました。

HandBrakeCLI -i input.MOV -o output.mp4 --preset="Normal"

プリセットなしでは、出力は非常に小さくなりましたが、品質は良くありませんでした。「標準」プリセットは見栄えが良かったのですが、で他の使用可能なプリセットを確認しHandBrakeCLI --preset-listたり、必要に応じてすべてのオプションを自分で調整したりできます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.