Ich habe eine MPEG-H Part2/HVEC (H.265) .mkv-Datei (Planar 4:2:0 YUV 10-Bit LE). Da mein LG PF 1500 Beamer kein H.265 sondern H.264 liest möchte ich es umwandeln (HVEC -> H.264). Ich denke, Handbremse ist eine praktische Software, um dies zu tun.
Welche Einstellungen sollte ich verwenden, um eine H.264-Datei mit der gleichen Qualität wie das Original (HVEC) zu erhalten?
Ich denke, ich muss H.264 10-Bit als Videoencoder wählen. Ich bin mir jedoch nicht sicher über die Einstellung Qualität (RF). Woher weiß ich, was die HVEC-Qualitätseinstellung ist, und wie kann ich eine gleichwertige für H.264 auswählen?
Dies sind die mit MediaInfo extrahierten Informationen:
Format : Matroska Formatversion
: Version 4 Dateigröße : 1,48 GiB Dauer : 52 min 46 s Gesamtbitrate : 4 012 kb/s Codierdatum
: UTC 2018-05-26 19:19:57 Schreibanwendung : mkvmerge v20.0.0 ( 'I Am The Sun') 64-Bit-Schreibbibliothek
: libebml v1.3.5 + libmatroska v1.4.8 Schreib-Frontend
: StaxRip v1.7.0.6Video-ID : 1 Format
: HEVC Format/Info : High Efficiency Video Coding Formatprofil : Main 10@L4@Main Codec-ID : V_MPEGH/ISO/HEVC Dauer : 52 min 46 s Bitrate : 3 529
kb/s Breite : 1 920 Pixel Höhe : 1 080 Pixel Anzeigeseitenverhältnis : 16:9 Bildratenmodus
: Konstant Bildrate : 23,976 (24000/1001) FPS Farbraum : YUV Chroma-Unterabtastung : 4:2:0 Bittiefe
: 10 Bit Bits/(Pixel*Frame) : 0,071 Stream-Größe : 1,30 GiB (88 %) Schreibbibliothek : x265 2.7+346-69aafa6d70ad:[Windows][GCC 7.3.0][64 Bit] 10-Bit-Codierungseinstellungen : cpuid= 1111039 / frame-threads=2 / numa-pools=4 / wpp / no-pmode / no-pme / no-psnr / ssim / log-level=2 / input-csp=1 / input-res=1920x1080 / interlace= 0 / total-frames=75917 / level-idc=0 / high-tier=1 / uhd-bd=0 / ref=3 / no-allow-non-conformance / no-repeat-headers / Annexb / no-aud / no-hrd / info / hash=0 / no-temporal-layers / open-gop / min-keyint=23 / keyint=250 / gop-lookahead=0 / bframes=8 / b-adapt=2 / b-pyramide / bframe-bias=0/rc-lookahead=50/lookahead-slices=6/scenecut=40/radl=0/no-intra-refresh/ctu=64/min-cu-size=8/no-rect/no- amp / max-tu-size = 32 / tu-inter-Tiefe = 1 / tu-intra-Tiefe = 1 / limit-tu = 0 / rdoq-level = 0 / dynamic-rd = 0.00 / no-ssim-rd / signhide / no-tskip / nr-intra=0 / nr-inter=0 / no-constrained-intra / no-strong-intra-smoothing / max-merge=3 / limit-refs= 3 / no-limit-modes / me=3 / subme=3 / merange=57 / temporal-mvp / weightp / no-weightb / no-analyze-src-pics / deblock=0:0 / sao / no-sao- non-deblock / rd=3 / no-early-skip / no-rskip / no-fast-intra / no-tskip-fast / no-cu-lossless / no-b-intra / no-splitrd-skip / rdpenalty= 0 / psy-rd=2.00 / psy-rdoq=0.00 / no-rd-refine / no-lossless / cbqpoffs=0 / crqpoffs=0 / rc=crf / crf=20.0 / qcomp=0.60 / qpstep=4 / stats- schreiben=0 / stats-read=0 / ipratio=1.40 / pbratio=1.30 / aq-mode=3 / aq-strength=1.00 / cutree / zone-count=0 / no-strict-cbr / qg-size=32 / no-rc-grain / qpmax=69 / qpmin=0 / no-const-vbv / sar=0 / overscan=0 / videoformat=5 / range=0 / colorprim=2 / transfer=2 / colormatrix=2 / chromaloc=0 / display-window=0 / max-cll=0,0 / min-luma=0 / max-luma=1023 / log2-max-poc-lsb=8/vui-timing-info/vui-hrd-info/slices=1/no-opt-qp-pps/no-opt-ref-list-length-pps/no-multi- pass-opt-rps / scenecut-bias=0.05 / no-opt-cu-delta-qp / no-aq-motion / no-hdr / no-hdr-opt / no-dhdr10-opt / no-idr-recovery- sei / analysis-reuse-level=5 / scale-factor=0 / Refine-Intra=0 / Refine-Inter=0 / Refine-mv=0 / no-limit-sao / ctu-info=0 / no-lowpass- dct/refine-mv-type=0/copy-pic=1/max-ausize-factor=1.0/no-dynamic-refine/no-sei-Standard0/min-luma=0/max-luma=1023/log2-max-poc-lsb=8/vui-timing-info/vui-hrd-info/slices=1/no-opt-qp-pps/no- opt-ref-list-length-pps / no-multi-pass-opt-rps / scenecut-bias=0.05 / no-opt-cu-delta-qp / no-aq-motion / no-hdr / no-hdr- opt / no-dhdr10-opt / no-idr-recovery-sei / analysis-reuse-level = 5 / scale-factor = 0 / Refine-Intra = 0 / Refine-Inter = 0 / Refine-mv = 0 / No- limit-sao/ctu-info=0/no-lowpass-dct/refine-mv-type=0/copy-pic=1/max-ausize-factor=1.0/no-dynamic-refine/no-sei-Standard0/min-luma=0/max-luma=1023/log2-max-poc-lsb=8/vui-timing-info/vui-hrd-info/slices=1/no-opt-qp-pps/no- opt-ref-list-length-pps / no-multi-pass-opt-rps / scenecut-bias=0.05 / no-opt-cu-delta-qp / no-aq-motion / no-hdr / no-hdr- opt / no-dhdr10-opt / no-idr-recovery-sei / analysis-reuse-level = 5 / scale-factor = 0 / Refine-Intra = 0 / Refine-Inter = 0 / Refine-mv = 0 / No- limit-sao/ctu-info=0/no-lowpass-dct/refine-mv-type=0/copy-pic=1/max-ausize-factor=1.0/no-dynamic-refine/no-sei-Standard05 / no-opt-cu-delta-qp / no-aq-motion / no-hdr / no-hdr-opt / no-dhdr10-opt / no-idr-recovery-sei / analysis-reuse-level=5 / scale-factor=0/refine-intra=0/refine-inter=0/refine-mv=0/no-limit-sao/ctu-info=0/no-lowpass-dct/refine-mv-type=0/ copy-pic=1 / max-ausize-factor=1.0 / no-dynamic-refine / no-sei-Standard05 / no-opt-cu-delta-qp / no-aq-motion / no-hdr / no-hdr-opt / no-dhdr10-opt / no-idr-recovery-sei / analysis-reuse-level=5 / scale-factor=0/refine-intra=0/refine-inter=0/refine-mv=0/no-limit-sao/ctu-info=0/no-lowpass-dct/refine-mv-type=0/ copy-pic=1 / max-ausize-factor=1.0 / no-dynamic-refine / no-sei-Standard
: Ja Erzwungen : Nein
Ich habe versucht, eine Lösung in dem Buch zu finden: Video Coding Standards and Video Formats von Rao, aber ich konnte keinen guten Hinweis finden.
Es sieht so aus, als ob das Video in 4000 kbit/s codiert ist, anstatt in einem Rate Factor (RF).
Aber darum geht es hier nicht. Das Problem ist: 264 unterstützt zwar verlustfreie Codierung, ist aber nicht weitgehend kompatibel! (Sie würden dies tun, indem Sie das Farbformat auf hi444 setzen und -cq 0
(Danke an Gyan für den Hinweis)
Wenn Sie die beste Qualität, aber auch die größte Datei möchten, möchten Sie RF = 1
.
Will man sehr gute Qualität, aber trotzdem riesige Dateien, will man RF <= 16
gute Qualität bei großen Dateien 16 < RF <=24
mittelmäßige Qualität bei mittlerer Dateigröße 24 < RF <= 28
bis 51 wird schlechter und kleiner.
Sie sollten auch in Betracht ziehen, ffmpeg zum Transkodieren von Videodateien zu verwenden, die Sie nicht bearbeiten möchten, da die meisten Video-Editoren auch beim erneuten Rendern der Eingaben für den Encoder an Qualität verlieren.
Link: https://ffmpeg.zeranoe.com/builds/
Vollständige Dokumentation: https://ffmpeg.org/documentation.html
Wenn Sie gute Qualität, aber lange Codierungszeiten wünschen, verwenden Sie dies in einer CMD, die die ffmpeg.exe sehen kann :
ffmpeg -i my_input_file.mkv -map 0:v? -map 0:a? -map 0:s? -c:v libx264 -preset:v medium -profile:v high -rc-lookahead 900 -crf 16 -c:a copy -c:s copy my_output_file.mkv
Die Parameter bedeuten Folgendes:
-i <file>
die zu transcodierende Datei
-map 0:v?
alle Videostreams von Eingang 0 verwenden. Das Fragezeichen bedeutet "falls vorhanden".
-map 0:a?
alle Audiostreams verwenden
-map 0:a?
alle Untertitelstreams
-c:v libx264
verwenden das Video mit dem libx264
Encoder konvertieren.
-preset:v medium
mittlere Geschwindigkeit verwenden. Alternativen sind ultrafast
, superfast
, veryfast
, faster
, fast
, medium
, slow
, slower
, veryslow
, placebo
(je schneller, je größer die Datei, desto langsamer werden die Ergebnisse. placebo
dauert ein Vielfaches der Zeit von veryslow
, führt aber zu einer um weniger als 0,1 % geringeren Größe.
-profile:v high
Verwenden Sie eine hochwertige Codierung. ( andere Optionen sind nur für die Abwärtskompatibilität da)
-rc-lookahead 900
Suchen Sie bis zu 900 Frames im Voraus, um die beste Codierung des aktuellen Frames zu finden. Mehr Ergebnisse in etwas (wie Placebo) besserer Qualität pro Größe, kleiner das Gegenteil. Es gilt das gleiche Prinzip wie in -preset
.
-crf 16
der Ratenfaktor . Je höher die Zahl, desto kleiner und hässlicher das Bild. Etwa alle 6 Punkte die halbe Dateigröße. Die meisten Menschen werden keinen Unterschied zu bemerken -crf 20
. -crf 24
-c:a copy
Viele lassen Audio nicht einmal so wie es ist.
-c:s copy
Untertitel so lassen wie sie sind.
Wenn Sie eine nVidia-GPU haben, möchten Sie vielleicht die integrierte Codiereinheit verwenden. Verwenden Sie stattdessen diesen Befehl:
ffmpeg -i my_input_file.mkv -map 0:v? -map 0:a? -map 0:s? -c:v h264_nvenc -preset:v medium -profile:v high -rc constqp -qp 16 -c:a copy -c:s copy my_output_file.mkv
Ähnliche Parameter. ist auf , , , preset
beschränkt , wobei über diese Antwort hinaus eine zusätzliche Konfiguration erforderlich wäre. Die Hauptänderung besteht darin, dass der Nvidia-Encoder kein Lookahead unterstützt und daher nicht die Option. Aus diesem Grund verwenden wir die Option (Konstante Quantisierung). Der Unterschied zwischen diesen beiden besteht darin, dass versucht wird, basierend auf dem aktuellen und den folgenden Bildern um den definierten Wert herumzuwackeln, während er die ganze Zeit über genau auf diesem Wert bleibt.fast
medium
slow
slow
crf
cq
crf
cq
Sie können versuchen, konstante Bitraten zu verwenden, aber davon wird abgeraten, da Ihre Videoqualität überall schwanken wird, da die meisten Frames nicht die gleiche Schwierigkeit wie ihre Vorgänger haben.
Hoffe das hilft
Grüße
Gyan
Pingger Shikkoken
Kaptkom
-vf format=yuv420
die Lösung von @PinggerShikkoken hinzu, um von 10-Bit H.265 auf 8-Bit H.264 umzuwandeln