ffmpegを使用して品質を最小限に抑えてビデオを1080pから720pに変換する


45

私は自分の高品質の映画である60fpsの1080pとスタックします。プレイ中のトラブルはラグです。

私はffmpegで720pに変換しようとしました:

ffmpeg -i MyMovie.mkv -r 60 -s hd720 MyMovie_720p.mkv

しかし、ビットレートが32.3 Mbpsから2.8 Mbpsに低下したため、品質が大幅に低下しています。ビデオストリームに適切なビットレートを指定し、他のすべてのストリームをそのままコピーするにはどうすればよいですか?

入力ファイルmediainfo:

ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : High@L4.2
Format settings, CABAC                   : Yes
Format settings, ReFrames                : 4 frames
Codec ID                                 : V_MPEG4/ISO/AVC
Duration                                 : 2h 58mn
Bit rate                                 : 32.3 Mbps
Width                                    : 1 920 pixels
Height                                   : 1 080 pixels
Display aspect ratio                     : 16:9
Frame rate                               : 59.940 fps
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.260
Stream size                              : 40.2 GiB (92%)
Writing library                          : x264 core 116 r2019 9cc407d
Encoding settings                        : cabac=1 / ref=4 / deblock=1:-2:-1 / analyse=0x3:0x113 / me=umh / subme=10 / psy=1 / psy_rd=0.80:0.20 / mixed_ref=1 / me_range=32 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=-3 / threads=6 / sliced_threads=0 / nr=0 / decimate=0 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=6 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=60 / rc=crf / mbtree=0 / crf=14.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / vbv_maxrate=50000 / vbv_bufsize=62500 / crf_max=0.0 / nal_hrd=none / ip_ratio=1.40 / pb_ratio=1.30 / aq=1:0.60
Language                                 : English
Default                                  : Yes
Forced                                   : No
Matrix coefficients 

                 : BT.709-5, BT.1361, IEC 61966-2-4 709, SMPTE RP177

回答:


93

以下に、最高品質のビデオを提供する例を示します(結果のファイルサイズについては述べていません)。このビデオは、すべてのデバイスまたはプレーヤーで再生できるわけではないことに注意してください。

ffmpeg -i MyMovie.mkv -vf scale=-1:720 -c:v libx264 -crf 0 -preset veryslow -c:a copy MyMovie_720p.mkv

「視覚的に損失のない」品質を得るには、次を使用できます。

ffmpeg -i MyMovie.mkv -vf scale=-1:720 -c:v libx264 -crf 18 -preset veryslow -c:a copy MyMovie_720p.mkv

ここにあるものを見てみましょう:

スケールビデオフィルタは、ビデオのサイズを変更するためのものです。1つのサイズ(この例では高さ)を設定-1し、他の寸法に使用します。ffmpegは、アスペクト比を維持しながら正しい値を自動的に再計算します。

-crfオプションで品質管理:

量子化スケールの範囲は0〜51です。0は無損失、23はデフォルト、51は最悪です。値が低いほど品質が高くなり、主観的に妥当な範囲は18〜28です。18は視覚的に無損失またはほぼそうであると考えてください。入力と同じかまたはほぼ同じに見えるはずですが、技術的に無損失ではありません。

範囲は指数関数的であるため、CRF値+6の増加はビットレートの約半分で、-6はビットレートの約2倍です。一般的な使用法は、許容可能な品質を提供する最高のCRF値を選択することです。出力が適切に見える場合は、より高い値を試してみて、不適切に見える場合はより低い値を選択します。

詳細については、x264エンコーディングガイドを参照してください

-presetオプションを使用して、ビデオのエンコード速度と圧縮効率のトレードオフを制御します。それらは、超高速、超高速、非常に高速、高速、高速、中、低速、低速、非常に低速です。デフォルトはmediumです。veryslowのオプションの提供(同じ品質のための小さいファイルサイズが得られる)最高の圧縮効率が、それは非常に遅いです-名前が言うように。

オーディオは、入力ファイルから出力ファイルに変更なしで直接ストリームコピーされます。


2
LordNeckbeard-編集ありがとうございます。すべての詳細を入力する時間がありませんでした
ニコラディミトリエビッチ

1
例では、幅ではなく高さを720に設定しています。
チョビー

あなたは、この後方行うことができますvideo.stackexchange.com/questions/20439/...
ウィリアム・

2
変換せずにmkvの字幕もコピーするには、を追加でき-scodec copyます。
キャスパー

2
720pを取得するには、幅を1280に設定する必要 -vf scale=-1:720があり-vf scale=1280:-1ます。
cdlvcdlv

0

異なるサイズでスケーリングする場合、FFMPEGスケーリングの次元にはいくつかの制限があります。各高さは受け入れません。寸法の最適な推奨事項の小さなリストを次に示します。

ピクセル単位の幅と高さが16の倍数である場合、ビデオコーデックのパフォーマンスが向上します。エンコード設定で任意の幅と高さを使用できますが、最適でない寸法により画質が低下し、フレームレートが低下します。最高の画質と再生を実現するには、ビデオの幅と高さを16の倍数にする必要があります。次に最適な選択は8の倍数で、その後は4の倍数です。

Recommended width and height for videos with 16:9 aspect ratios:

Best Choice:     2nd Best:        3rd Best:
Multiples of 16  Multiples of 8   Multiples of 4
1920 x 1080      1792 x 1008      1856 x 1044
1280 x 720       1152 x 648       1216 x 684
1024 x 576        896 x 504       1088 x 612
 768 x 432        640 x 360        960 x 540
 512 x 288        384 x 216        832 x 468
 256 x 144        128 x 72         704 x 396
                                   576 x 324
                                   448 x 252
                                   320 x 180
                                   192 x 108
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.