PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Filmsammlung umcodieren



frauhansen
30.03.2016, 20:10
Nabend zusammen!

Meine Filmsammlung ist mittlerweile amtlich angewachsen. Das bringt auch eine recht amtliche Grösse mit sich. wir sprechen hier aktuell über knapp was unter 30TB.
Da ich nun ständig platten nachkaufe und, wenn ich jetzt noch vier nachkaufe, ist mein 16x RAID Controller voll!

Lange Rede kurzer Sinn... ich hab mir überlegt... warum nicht die gane Sammung in h265 umcodieren?!
Der Grossteil (99%) sind h264 in MKV Containern.

Sollte doch möglich sein mit Tools wie ffmpeg als Trancoder sich nen Script zu basteln der sich durch die Sammlung frisst und eines nach dem anderen umkodiert und wieder ablegt.

Der Gewichtsvorteil h265 vs. h264 sollte etwas um 1/5tel der Originalgrösse sein.

Was meint ihr?? Mal wieder Zeit für ein Transcoding-Projekt?

Guinness
30.03.2016, 22:07
Mit StaxRip & Avisynth+ geht das konvertieren ziemlich einfach, und ist auch im Batch/Scriptbetrieb möglich (was ich aber nie selbst getestet habe). Bei Tests landete ich bei 50-60% der Originalgröße. Mit Hardware-Encoding (NVEnc) & SSD wurden bei der Konvertierung je nach Ausgangsmaterial 70 bis 140 fps erreicht, + etwas Overhead für's Muxen. k.A. wie schnell Intels QuickSyncVideo im Vergleich ist.

Wenn man grob geschätzt von 10 GB/h und 24 fps Ausgangsmaterial ausgeht, sind das 259 Millionen Frames. Bei 140 fps wären 21 Tage Encoding im Dauerbetrieb notwendig, die Dauer bei 70 fps überlasse ich dem Leser zum selber rechnen ;)

frauhansen
30.03.2016, 23:32
Ahhh, ich hätt vielleicht erwähnen sollen das das Fanze unter Linux passieren sollte... StaxRip fällt also aus.

Ich habe in der Zwischenzeit mit ffmpeg experimientiert... aber ich hab das Probem das mir
"ffmpeg -i '/media/gerd/work/ffmpeg_test/Ambition the film.mov' -c:v libx265 -preset veryslow -crf 23 '/media/gerd/work/ffmpeg_test/Ambition the film.mkv'"

einen Fehler ausgibt.
"Unknown encoder 'libx265'"

Diese habe ich versucht nachzuinstallierenn wie es hier angegebne wird.
https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu

Über diesen Weg habe ich ffmpeg auch installiert.
Auch Paramter wie
ffmpeg -i '/media/gerd/work/ffmpeg_test/Ambition the film.mov' -c:v libx265 -preset veryslow -x265-params crf 23 '/media/gerd/work/ffmpeg_test/Ambition the film.mkv'

ja dann wird mir das mit "Unrecognized option 'x265-params'." quittiert....

Ich gehe also davon aus das ffmpeg an sich gut klar geht, aber ich mit dem x265 Codec ein Problem habe!

Guinness
31.03.2016, 11:43
Gleichheitszeichen vergessen?

-x265-params crf=23

mit veryslow und ohne HW-Encoding wird's in Sachen Performance wirklich übel.

https://trac.ffmpeg.org/wiki/HWAccelIntro

frauhansen
31.03.2016, 14:07
Ist ehh erst mal nur ein Test. In dem Aufruf oben ist ja auch der Audio Teil noch included, den lasse ich dann ehh als copy durch laufen.
Ich vermute nach Konsultation den Ubuntu-Forums eher das ich beim Compiliere einen Fehler gemacht habe und den x265 nicht oder falsch eingebunden habe.

goemichel
31.03.2016, 15:50
Ich klink mich mal - als Win-Mäuseschubser - hier ein...

Der Grossteil (99%) sind h264 in MKV Containern.

Wie/Womit hast du deine Sammlung angelegt? Ich habe evtl das auch vor und mir würden h264-MKV reichen (da unter 100 Filme).

frauhansen
31.03.2016, 23:52
Na ja.. h264 ist ja mittlerweile ehh alles. Ausser ggf. selbst gedrehtes Material von Vaddi noch...

Meine Sammlung liegt grob sortiert nach
Video
- Kids
Serien
Movie
- Movie
- Serien

Auf meinem Server. Dieser stellt sie mir seit einiger Zeit via Plex zur Verfügung. Das hab och überall, incl Playstation/SatReceiver/SmartTV/iOS wo ich will in einstellbarer Qualli und wenn ich das will auch offline. Ich denke es wird auch bald ein paket für die Smart-Waschmaschine geben!

BergH
01.04.2016, 05:56
tach auch !

Ohne es beweisen zu können, vermute Ich , dass das Ergebnis den Aufwand nicht lohnt.
Es wird die Bildqualy negativ beeinflussen, es wird Festplatten und Strom verbrauchen.
Ich würde lieber Filme, die Ich nicht brauche auf alte Platten kopieren und in den Schrank legen.
Die nächste HD Generation macht doch Dein Problem obsolet, aber die Bildwaulität, die Du hast, bekommst Du nach umkodieren und Löschen nie wieder zurück.

bongobong
01.04.2016, 06:59
tach auch !

Ohne es beweisen zu können, vermute Ich , dass das Ergebnis den Aufwand nicht lohnt...

Das kann ich so unterschreiben. Ausser viel Zeit und Energie zu verbrauchen hast du nur an Erfahrung gewonnen.
Ich hatte das damals mal mit Videos von meiner Videokamera gemacht. Das aber mit SD Aufösung.
Trotz langem Probieren hatte ich zum schluß zwar eine geringfügige Verbesserung jedoch mit größeren Dateien.
Der Schuß ging somit nach hinten los. Umkodiern verschlechtert IMMER die Bildqualität! Auch wenn man sie nicht sofort sieht. Sie kann nicht besser werden.


Ich würde lieber Filme, die Ich nicht brauche auf alte Platten kopieren und in den Schrank legen...
Ich denke, das es ein Problem unserer Zeit ist, immer alles sofort zur Verfügung zu haben.
Wo ist das Problem, ein paar Minuten zu warten bis die Filme eingelegt werden. Sprich die Festplatte aus dem Archiv genommen wird und im NAS steckt.
Ich hab auch mehrere 2,5" Platten die ich, je nach dem was wir schauen wollen, an den Mediaplayer stecke.

Gruß
Dirk

frauhansen
01.04.2016, 08:46
Platte aus dem Archiv nehmen und an das NAS Stecken.... ne ne Leute.. ihr verkennt hier den vermeintlichen Grad an Professionalität.
Ich nutze die Sammlung als allerserses mal nicht allein. Dann ist die ja, wie oben erwähnt via Plex im Zugriff, sprich indiziert.
In dem Server läuft ein 16 Kanal RAID Controller und der ist aktuell mit 12 Platten belegt.

Der Stromverbrauch geht mir am Arsch vorbei.

Was die Qualität betrifft...ein Grossteil der Filme sind ja schon Transcodes von irgend einer Quelle. Sprich von einer BluRay oder nem HD Material aus dem Web. Halt einfach nicht von mir.
Die Quali-Fahne hab ich da aber bisher hoch gehalten. Augenkrebs-Kack wirst bei mir nicht finden. Sofern verfügbar immer untouched BluRay oder neuerdings auch 4k Material.

Das eine Umkodierung die Quali nicht verbessert ist mir auch klar. Die Frage bleibt, ist sie soweit beeinflusst das es einem überhaupt auffällt.
Ich habe Vergleiche zwischen x265 und x264 gesehen da war nun echt kein Unterschied festzustellen. Das File dafür aber auf 50% bis 25% kleiner.

Daher mag ich jetzt mal experimentieren damit. Denn wenn der Datenzuwachs so weiter geht, dann kann ich mir spätestens zu Weihnachten Gedanken um nen zweiten Controller machen...

bongobong
01.04.2016, 09:06
...
Ich nutze die Sammlung als allerserses mal nicht allein. Dann ist die ja, wie oben erwähnt via Plex im Zugriff, sprich indiziert.
In dem Server läuft ein 16 Kanal RAID Controller und der ist aktuell mit 12 Platten belegt.
...

Betreibst du eine Online Videothek?:wiebitte:

Bei dem Vergleich von x265 und x264 glaube ich dir das gerne, das man "keinen" Unterschied sieht.
Das war aber sicherlich direktkodiertes Videomaterial. Beim umkodieren von x264 nach x265 wird das sicherlich sichtbar.
Ich vermute (Halbwissen bei x265), das du mit Sicherheit nicht so viel Datenplatz einsparen wirst wenn du ohne sichtbaren Qualitätsverlust komprimieren willst.

Aber!
Wenn du es doch schaffst werde ich dir folgen! :ja:

Gruß
Dirk

Guinness
01.04.2016, 10:08
Die Platzersparnis hängt neben den Qualitätseinstellungen auch vom Quellmaterial ab.

Zwei Extrembeispiele mit nvenc --cqp 20:23:25:
The Fog (HD-DVD-"Backup"): Von 13,5 GB auf 4,9 GB
Bei Anruf Mord (SAT-Stream, mit TS-Doctor bereinigt): Von 9 GB auf 7 GB

Sichtbare Unterschiede gab es nicht, wobei beide Filme nicht gerade durch überragende Qualität der Quelle glänzen.
Bei Gelegenheit versuche ich mal, von einem brauchbaren Screenshot mit ImageMagick ein Vergleichsbild (http://www.imagemagick.org/script/compare.php) zu erstellen

frauhansen
01.04.2016, 10:09
Kein OnlineVideothek... aber auf meine Sammlung greift mal die gesamte Familie zu, als EBH und Tochter.
Dann nehme ich für die Kollegen die NASCAR Saison bei Sky auf. Die Armen können sich ja kein Sky kaufen hier in CH, selbst wenn sie wollten.
Ja und dann gibts schon noch den einen oder andern Kollegen der sicher gern mal ne Serie oder nen Film von meienr Datenbank anschaut.
Alles überschaubar... aber definitv weit davon entfernt eine Lösung wie "ahh, der ist auch HDD-22, die liegt im Schrank" in betracht zu ziehen.

Was ich bisher gesehen hatte, das war Transcoded x264 -> x265... ich find jetzt aber leider den Link nimmer.
Ich werde also selbst zum Experiment greifen und euch da hier mit Sicherheit zur Beurteilung stellen.

Muss mir jetzt nur noch nen Schnipsel suchen der passt. Also ein par schnelle Scenen, dann was dunkles mit schwierigem Kontrast und auch gern lange Schwenks über die Landschaft.

Wenn also jemand nen Film weiss in dem diese Anforderungen auf einem, sagen wir mal 2min langem Abschnitt zu finden sind.... bitte melden!
Ich denk da irgendwie an HDR... mal schauen!
Zusammenschnibbeln will ich nix, denn dann bemühe ich wieder den Transcoder des jeweiligen Schnibbel-Werkzeugs! Es sollte also als BR vorliegen.


Die Platzersparnis hängt neben den Qualitätseinstellungen auch vom Quellmaterial ab.

Zwei Extrembeispiele mit nvenc --cqp 20:23:25:
The Fog (HD-DVD-"Backup"): Von 13,5 GB auf 4,9 GB
Bei Anruf Mord (SAT-Stream, mit TS-Doctor bereinigt): Von 9 GB auf 7 GB

Sichtbare Unterschiede gab es nicht, wobei beide Filme nicht gerade durch überragende Qualität der Quelle glänzen.
Bei Gelegenheit versuche ich mal, von einem brauchbaren Screenshot mit ImageMagick ein Vergleichsbild (http://www.imagemagick.org/script/compare.php) zu erstellen

Ungefähr so hatte ich das erwartet.
Quali-Einstellungen habe ich jetzt merkwürdigerweise noch keine bemerkt in den von mir angeschauten Beispielen.
Alle bezogen sich bei x265 immer auf die ecoding-time vs. filesize.
Aber ich stehe da ja noch am Anfang, ich hab den x265 encoder ja noch nicht mal laufen auf der Linux Kiste!
Das wollt ich gestern machen, aber da war ich dann erst gegen 23:30 Uhr daheim, und heute auch keine Zeit weil Braukeller vorberieten und morgen ist Brautag und eigentlich sollt ich noch ne DB Convertierung für nen Kunden machen der am Montag starten will.
Altes Geschäftjahr Bilanzierung in CHF, neue un USD... ich dreh ab!!!

Aber vielleicht fällt Brauen ja auch aus denn die 50kg Malz und die Hefe sind noch nicht angekommen aber gestern mit der Post weg!

bongobong
01.04.2016, 11:16
Ich bin gespannt.....

Gruß
Dirk

BergH
01.04.2016, 11:59
Ich auch !

Guinness
01.04.2016, 15:23
Ein Beispiel: 30 Sekunden einer Ex-HD-DVD

Original H.264 - 86,0 MB
https://dl.dropboxusercontent.com/u/21555916/hkt/sample2-h264.mkv

H.265 mit CRF 20 - 35,9MB
https://dl.dropboxusercontent.com/u/21555916/hkt/sample2-h265-crf20.mkv

H.265 mit CRF 30 - 12,6MB
https://dl.dropboxusercontent.com/u/21555916/hkt/sample2-h265-crf30.mkv

H.265 mit CRF 40 - 7,5MB
https://dl.dropboxusercontent.com/u/21555916/hkt/sample2-h265-crf40.mkv

Screenshots:
6719672067216722

Vergleich mit ImageMagick zwischen H.264 und H.265 CRF 20 / 30 / 40.
672367246725

CRF 30 würde ich nur für Fälle nehmen, wo Qualität nicht so wichtig wie Platzersparniss ist. CRF 40 verbietet sich von selbst.
Bei CRF 20 sehe ich nur minimale Unterschiede, es wirkt etwas weicher. Ob man das beim Anschauen merkt ist eine andere Frage.

frauhansen
01.04.2016, 23:16
WOW, das ist ja schon mal ne Hausnummer... jetzt muss hansen nur noch mal hinterherspringen.

Meine Brausachen sind dann doch noch gekommen, Werkstatt ist hergerichtet.. Brautag morgen steht.

Es dauert also bei mit.

BergH
03.04.2016, 08:08
Heute Back' Ich , morgen Brau' Ich , übermorgen hole Ich das letzte aus dem MKV. :lol:

frauhansen
04.04.2016, 17:11
So, hab ffmpeg neu compiliert und nun funktioniert auch ffmpeg mit x265.

Werde dann jetzt mal etwas experimentieren und die Ergebnisse hier einstellen. Aus Ermangelung eines (siehen oben) Musters werde ich entweder das von Guinnes nehmen oder den Amition Kurzfilm.
Wobei diesem halt leider die dunklen Scenen fehlen. Dafür aber viele Details.

NACHTRAG: Der Performance Unterschied zwischen "medium" und "veryslow" ist gigantisch... Medium bei mit mit CRF20 um die 7.5 fps... als "veryslow" sind es noch 0.9fps :eek:

frauhansen
05.04.2016, 15:59
So, ein wenig rumexperimentiert habe ich jetzt mal... auf der Video Seite komme ich soweit ganz gut klar.

Der Grössenunterschied zwischen "veryslow" und "medium" beim "Ambition" Movie war grad mal was in die 9MB... lohnt also nicht!

Viel grösser Fragezeichen habe ich noch beim Thema Audio. Der "Amtion" Movie hat ja nur eine Tonspur. Da war es mir nicht aufgefallen, denn der hat nur eine.
Gestern dann mal ein BR Monster von 46GB vorgenommen. Das Ergebnis trotz Parameter "-c:a copy" war, das nur eine Tonspur im Zielfile enthalten war.
Der Parameter sollte doch eigentlich den Audio-Part unangetastet lassen. :verwundert:
Da muss ich dann mal etwa nachforschen.

Qualitätsfrage habe ich noch nicht abschliessend beurteilen können, einfach der Zeit wegen. Aber ich vermute jetzt mal das ich mit ner Qualitätseinstellung von 20 recht gut fahren werde.
Die Grösse sinkt schon mal amtlich! 4.6 GB Basis-File sinkt auf 196MB!!! Aber ich vermute jetzt mal das hier ggf. das Quellvideo ein Ausreisser ist.
Mit dem BR Monster von 45.8 GB komme ich mit CR20 auf 9GB... wenngleich nicht mit allen Tonspuren! Aber auch das find ich beeindruckend!

Ich hab den Ambition Teil mal in die Dropbox gelegt.. könnt ihr euch ja mal selber ein Bild machen
https://www.dropbox.com/sh/27v87hg3mdqum39/AAAw3Q-vmhJ5Di-eOwagklNia?dl=0

NACHTRAG: Das Original ist noch im upload.
Mit den "verloren" gehenden Audiostreams habe ich glaubs auch raus gefunden:
http://ffmpeg.org/ffmpeg.html#Stream-selection
und
http://ffmpeg.org/ffmpeg.html#Advanced-options
(http://ffmpeg.org/ffmpeg.html#Advanced-options)

frauhansen
05.04.2016, 18:00
Hier ein sehr interessanter Artikel im Fall zu dem Thema... https://x265.readthedocs.org/en/default/introduction.html
Ich hab grad mal etwas mit dem lossless und near lossless gespielt... mal schauen :D

frauhansen
06.04.2016, 13:50
So, jetzt hab ich mir mal vom Ambition Screenshots gemacht und die verglichen.

http://screenshotcomparison.com/comparison/168302

http://screenshotcomparison.com/comparison/168304

http://screenshotcomparison.com/comparison/168305

http://screenshotcomparison.com/comparison/168306

http://screenshotcomparison.com/comparison/168307

Es ist mir nich ganz gelungen immer den gleichen Frame zu treffen. VLC kann, soweit ich es benuten kann, nur auf den Zeitindex (Sekunde) zu springen und nicht auf einen exakten Frame.

Was mir jetzt aufgefallen ist, ist das es doch gerade in den Gesichtern einiges an Weichzeichnung ergibt. Ihr sehr mich jetzt etwas ernüchtert!

Guinness
06.04.2016, 18:53
Es ist mir nich ganz gelungen immer den gleichen Frame zu treffen. VLC kann, soweit ich es benuten kann, nur auf den Zeitindex (Sekunde) zu springen und nicht auf einen exakten Frame.

Es springt nur zu Keyframes, und die unterscheiden sich zeitlich beim neuccodieren.
Für 1:1-Vergleich habe ich zuerst einen Ausschnitt kopiert:

ffmpeg -ss 01:25:43 -t 00:00:03 -sn -i kompletterfilm.mkv -codec copy sample.mkv
und dann umgewandelt.
Hier mal ein Auge:
http://screenshotcomparison.com/comparison/168325

frauhansen
06.04.2016, 18:59
In Vergleich zu Deinem Screen-Vergeich sieht man bei mir doch schon amtliche Unterschieder. Ich finde meine reencodes sehen weich gezeichnet aus!

Guinness
06.04.2016, 19:16
--tune grain bringt nochmal ein wenig mehr Details, auf Kosten der Größe
http://screenshotcomparison.com/comparison/168330

Guinness
06.04.2016, 19:41
...und noch ein Frame aus "Ambition"

http://screenshotcomparison.com/comparison/168335

Guinness
06.04.2016, 19:44
--- doppelpost ---

frauhansen
06.04.2016, 21:26
...und noch ein Frame aus "Ambition"

http://screenshotcomparison.com/comparison/168335

WOW!! Mit welchen Einstellungen genau hast Du dies realisiert.
Wenn man sich meinen hier anschaut, dann ist der Unterschied gravierend.. im Gegensatz zu Deinem. Ich habe volgenden Parameter Stamm benutzt!
http://screenshotcomparison.com/comparison/168305/picture:0

ffmpeg -i 'Ambition the film.mov' -c:a copy -c:v libx265 -preset medium -x265-params crf=20 'Ambition the film_cr20.mkv'

tunegain habe ich noch nicht ausprobiert... und die Grösse darf ruhig noch anwachsen.. aktuell liegt sie bei 196MB aus den 4.6GB des Originals!

Guinness
06.04.2016, 21:54
Versuch doch mal folgendes, damit wir das gleiche Bild testen:

ffmpeg -ss 00:04:31 -t 00:00:03 -sn -i Ambition\ the\ film.mov -codec copy sample.mov
dann

ffmpeg -i sample.mov -c:a copy -c:v libx265 -x265-params crf=20 -tune grain sample-h265.mkv
und dann ein Screenshot vom jeweils ersten Bild von sample.mov und sample-h265.mkv

Vielleicht sind die Versionen relevant:

ffmpeg -version

ffmpeg version 3.0.1 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 5.2.1 (Ubuntu 5.2.1-22ubuntu2) 20151010
....
libavutil 55. 17.103 / 55. 17.103
libavcodec 57. 24.102 / 57. 24.102
libavformat 57. 25.100 / 57. 25.100
libavdevice 57. 0.101 / 57. 0.101
libavfilter 6. 31.100 / 6. 31.100
libswscale 4. 0.100 / 4. 0.100
libswresample 2. 0.101 / 2. 0.101
libpostproc 54. 0.100 / 54. 0.100

und

x265 -V

x265 [info]: HEVC encoder version 1.9+107-5dbd6a0c8e17
x265 [info]: build info [Linux][GCC 5.2.1][64 bit] 8bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX

frauhansen
09.04.2016, 12:44
Danke Dir... hab jetz damit mal etwas gespielt... und es sieht weit besser aus... aber irgendwie immer noch nicht genau das wo ich hin will. Ich verliere immer noch massiv an Schärfe... zumindest in den Vergleichsbildern. Ob das im Bewegtbild dann überhaupt auffällt wage ich jetzt fast noch zu bezweifeln. Ich bin aber der Meinung das der Schärfeverlust noch wegzubringen sein muss!

http://screenshotcomparison.com/comparison/168646/picture:0
Vergleich 1 ist das Original vs. crf=20 -tune grain
Vergleich 2 ist das Original vs lossless -tune gain
Vergleich 3 ist cfr=20 -tune gain vs lossless -tune grain

Von der Option lossless bin ich enttäuscht, da hatte ich mir mehr erwartet. Aus der Doku dazu werd ich aber auch nicht ganz schlau. Dachte es wäre dann pixelgenau... merkwürdig!

ffmepg -version

ffmpeg version N-79170-gc883da6 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.1)
configuration: --prefix=/home/gerd/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/gerd/ffmpeg_build/include --extra-ldflags=-L/home/gerd/ffmpeg_build/lib --bindir=/home/gerd/bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree
libavutil 55. 19.100 / 55. 19.100
libavcodec 57. 32.100 / 57. 32.100
libavformat 57. 29.101 / 57. 29.101
libavdevice 57. 0.101 / 57. 0.101
libavfilter 6. 40.102 / 6. 40.102
libswscale 4. 0.100 / 4. 0.100
libswresample 2. 0.101 / 2. 0.101
libpostproc 54. 0.100 / 54. 0.100

x265 -V

x265 [info]: HEVC encoder version 1.9+107-5dbd6a0c8e17
x265 [info]: build info [Linux][GCC 4.8.4][64 bit][CHECKED] 8bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2


NACHTRAG 1:
Jungs, ich muss mich korrigieren.... zumindest was lossless betrifft. Ich glaub ich hatte es falsch angewand!!!
Hier der Vgleich mit der gleichen Aufstellung wie oben
http://screenshotcomparison.com/comparison/168648/picture:0

Nun, jetzt habe ich, analog dieses links hier (http://unix.stackexchange.com/questions/230800/re-encoding-video-library-in-x265-hevc-with-no-quality-loss) mal 'lossless=1' statt '-lossless' benutzt!
Die Dateigrösse steigt damit freilich amtlich an.... und übersteigt dann leider auch die Grösse des Ausgangs-Materials.
Quali ist nun also wirklich Identisch, aber es geht am Thema vorbei die Files grösser statt kleiner werden :D


NACHTRAG 2:
So und mit der Option -tune ssim statt -tune grain hab ich auch mal etwas gespielt grad
http://screenshotcomparison.com/comparison/168654/picture:0

Aufteilung
Original vs. CR20 tune grain
Original vs. CR20 tune ssim
CR20 tune grain vs. CR20 tune ssim

frauhansen
09.04.2016, 14:21
Ich habe jetzt, auf der Suche nach "wie machen es denn die Anderen" mal diesen Script hier probiert. https://github.com/FallingSnow/h265ize

Der macht viel, aus meiner Sicht viel zu viel. Audio ggf. encoden, Subtitles umsortieren und und und... Alles Scheiss den ich nicht will.
Aber ich hab ihn dann doch mal laufen lassen... mit dem Ergebnis das er die AspectRatio verhaut... okay... soweit so gut... aber das File war wirklich noch um einiges kleiner.
Okay dacht ich... dann wird die Quali wohl auch für den PoPo sein... aber seht selbst!

http://screenshotcomparison.com/comparison/168663

Muss man sich die miese AR mal weg denken... und nun such ich mir in dem, wie ich finde, recht sauber geschriebenen und dokumentierten Script den Punkt mit welchem Parameterstamm er denn ffmpeg aufruft...

frauhansen
09.04.2016, 14:33
Hier mal das was der Script im Debug-Mode auswirft:

gerd@ubuntusrv:/media/gerd/work/ffmpeg_test$ '/media/gerd/work/ffmpeg_test/h265ize' --debug -q 23 -m slow -d '/media/gerd/work/ffmpeg_test/target' '/media/gerd/work/ffmpeg_test/source'
[h265ize]: [Debug] Options ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[h265ize]: [Debug] key : destination
[h265ize]: [Debug] value : /media/gerd/work/ffmpeg_test/target
[h265ize]: [Debug] key : heaudio
[h265ize]: [Debug] value : 0
[h265ize]: [Debug] key : verbose
[h265ize]: [Debug] value : 0
[h265ize]: [Debug] key : parallel
[h265ize]: [Debug] value : 0
[h265ize]: [Debug] key : depth
[h265ize]: [Debug] value : 2
[h265ize]: [Debug] key : override
[h265ize]: [Debug] value : 0
[h265ize]: [Debug] key : vbr
[h265ize]: [Debug] value : 0
[h265ize]: [Debug] key : preset
[h265ize]: [Debug] value : slow
[h265ize]: [Debug] key : handbrakecli10bit
[h265ize]: [Debug] value : HandBrakeCLI10bit
[h265ize]: [Debug] key : extraOptions
[h265ize]: [Debug] value :
[h265ize]: [Debug] key : multipass
[h265ize]: [Debug] value : 0
[h265ize]: [Debug] key : delete
[h265ize]: [Debug] value : 0
[h265ize]: [Debug] key : handbrakecli
[h265ize]: [Debug] value : HandBrakeCLI
[h265ize]: [Debug] key : copyaudio
[h265ize]: [Debug] value : 1
[h265ize]: [Debug] key : accurateTimestamps
[h265ize]: [Debug] value : 0
[h265ize]: [Debug] key : debug
[h265ize]: [Debug] value : 1
[h265ize]: [Debug] key : nativeLangCode
[h265ize]: [Debug] value : ger
[h265ize]: [Debug] key : tempDir
[h265ize]: [Debug] value : /home/gerd/h265
[h265ize]: [Debug] key : stats
[h265ize]: [Debug] value : 0
[h265ize]: [Debug] key : timeDiffLimit
[h265ize]: [Debug] value : 2
[h265ize]: [Debug] key : downmixHeaudio
[h265ize]: [Debug] value : 0
[h265ize]: [Debug] key : smart
[h265ize]: [Debug] value : 0
[h265ize]: [Debug] key : quality
[h265ize]: [Debug] value : 23
[h265ize]: [Debug] key : preview
[h265ize]: [Debug] value : 0
[h265ize]: [Debug] key : logFile
[h265ize]: [Debug] value :
[h265ize]: [Debug] key : upconvert
[h265ize]: [Debug] value : 1
[h265ize]: [Debug] key : tempName
[h265ize]: [Debug] value : encoding-in-process
[h265ize]: [Debug] key : previewLength
[h265ize]: [Debug] value : 30
[h265ize]: [Debug] key : outputFormat
[h265ize]: [Debug] value : mkv
[h265ize]: Finding videos...
[h265ize]: Found:
- /media/gerd/work/ffmpeg_test/source/sample.mov
[h265ize]: [Debug] Preprocessing sample.mov...
[h265ize]: [Debug] ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[h265ize]: [Debug] File directory: /media/gerd/work/ffmpeg_test/source
[h265ize]: [Debug] Parent directory: /media/gerd/work/ffmpeg_test
[h265ize]: [Debug] Resulting relative directory: /source
[h265ize]: [Debug] Destination: /media/gerd/work/ffmpeg_test/target
[h265ize]: [Debug] Output: /media/gerd/work/ffmpeg_test/target/source/sample.mkv
[h265ize]: Processing sample.mov...
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
date: ungültiges Datum »Sam Apr 9 15:30:05 CEST 2016“
[h265ize]: [Debug] Stream Index: 0 Title: Language: eng Codec: video
[h265ize]: [Debug] Stream Index: 1 Title: Language: eng Codec: audio
[h265ize]: [Debug] Stream Index: 2 Title: Language: eng Codec: data
[h265ize]: [Debug] [Query] HandBrakeCLI -i /media/gerd/work/ffmpeg_test/source/sample.mov -o /home/gerd/h265/encoding-in-process-10764.mkv -w 1920 -l 1080 --previews 50 -e x265 -q 23 --vfr -a 1 --gain 0 --audio-fallback ac3 -6 dpl2 -E copy --encoder-profile=main --encoder-preset=slow --modulus 2 -m --verbose=0 < /dev/null
[h265ize]: Handbraking...
HandBrake 0.10.5 (2016021100) - Linux x86_64 - https://handbrake.fr
12 CPUs detected
Opening /media/gerd/work/ffmpeg_test/source/sample.mov...
libbluray/bdnav/index_parse.c:162: indx_parse(): error opening /media/gerd/work/ffmpeg_test/source/sample.mov/BDMV/index.bdmv
libbluray/bdnav/index_parse.c:162: indx_parse(): error opening /media/gerd/work/ffmpeg_test/source/sample.mov/BDMV/BACKUP/index.bdmv
libbluray/bluray.c:2182: nav_get_title_list(/media/gerd/work/ffmpeg_test/source/sample.mov) failed
libdvdnav: Using dvdnav version 5.0.1
libdvdread: Encrypted DVD support unavailable.
libdvdread:DVDOpenFileUDF:UDFFindFile /VIDEO_TS/VIDEO_TS.IFO failed
libdvdread:DVDOpenFileUDF:UDFFindFile /VIDEO_TS/VIDEO_TS.BUP failed
libdvdread: Can't open file VIDEO_TS.IFO.
libdvdnav: vm: failed to read VIDEO_TS.IFO
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/media/gerd/work/ffmpeg_test/source/sample.mov':
Metadata:
major_brand : qt
minor_version : 512
compatible_brands: qt
encoder : Lavf57.29.101
Duration: 00:00:03.01, start: 0.000000, bitrate: 111855 kb/s
Stream #0.0(eng): Video: prores, yuv422p10le, 1920x1080, 110802 kb/s, 25 fps, 12800 tbn (default)
Stream #0.1(eng): Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s (default)
Stream #0.2(eng): Data: tmcd / 0x64636D74, 0 kb/s
Scanning title 1 of 1, preview 50, 100.00 %+ title 1:
+ stream: /media/gerd/work/ffmpeg_test/source/sample.mov
+ duration: 00:00:03
+ size: 1920x1080, pixel aspect: 1/1, display aspect: 1.78, 25.000 fps
+ autocrop: 132/130/0/0
+ support opencl: no
+ support hwd: not built-in
+ chapters:
+ 1: cells 0->0, 0 blocks, duration 00:00:03
+ audio tracks:
+ 1, English (pcm_s16le) (2.0 ch) (iso639-2: eng)
+ subtitle tracks:
x265 [info]: HEVC encoder version 1.9
x265 [info]: build info [Linux][GCC 4.8.4][64 bit] 8bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
x265 [info]: Main profile, Level-4 (Main tier)
x265 [info]: Thread pool created using 12 threads
x265 [info]: frame threads / pool features : 3 / wpp(17 rows)
x265 [info]: Coding QT: max CU size, min CU size : 64 / 8
x265 [info]: Residual QT: max TU size, max depth : 32 / 1 inter / 1 intra
x265 [info]: ME / range / subpel / merge : star / 57 / 3 / 3
x265 [info]: Keyframe min / max / scenecut : 25 / 250 / 40
x265 [info]: Lookahead / bframes / badapt : 25 / 4 / 2
x265 [info]: b-pyramid / weightp / weightb : 1 / 1 / 0
x265 [info]: References / ref-limit cu / depth : 4 / 1 / 1
x265 [info]: AQ: mode / str / qg-size / cu-tree : 1 / 1.0 / 32 / 1
x265 [info]: Rate Control / qCompress : CRF-23.0 / 0.60
x265 [info]: tools: rect limit-modes rd=4 psy-rd=2.00 rdoq=2 psy-rdoq=1.00
x265 [info]: tools: signhide tmvp strong-intra-smoothing lslices=4 deblock sao
Encoding: task 1 of 1, 98.67 %x265 [info]: frame I: 1, Avg QP:21.88 kb/s: 5635.40
x265 [info]: frame P: 15, Avg QP:22.97 kb/s: 2505.19
x265 [info]: frame B: 59, Avg QP:27.42 kb/s: 859.76
x265 [info]: Weighted P-Frames: Y:0.0% UV:0.0%
x265 [info]: consecutive B-frames: 6.2% 0.0% 0.0% 6.2% 87.5%

encoded 75 frames in 18.15s (4.13 fps), 1252.52 kb/s, Avg QP:26.45
Muxing: this may take awhile...
Encode done!

HandBrake has exited.
[h265ize]: Handbraking Complete -----------------------------------------------
[h265ize]: [Debug] Moving /home/gerd/h265/encoding-in-process-10764.mkv to /media/gerd/work/ffmpeg_test/target/source/sample.mkv
[h265ize]: sample encoded successfully.
date: ungültiges Datum »Sam Apr 9 15:30:27 CEST 2016“
date: ungültiges Datum »Sam Apr 9 15:30:05 CEST 2016“
date: ungültiges Datum »Sam Apr 9 15:30:27 CEST 2016“
/media/gerd/work/ffmpeg_test/h265ize: Zeile 933: -: Syntax Fehler: Operator erwartet. (Fehlerverursachendes Zeichen ist »-«).
[h265ize]: Completed!

Ich gehe mal davon aus, der interessante Teil ist dieser hier:

[h265ize]: [Debug] [Query] HandBrakeCLI -i /media/gerd/work/ffmpeg_test/source/sample.mov -o /home/gerd/h265/encoding-in-process-10764.mkv -w 1920 -l 1080 --previews 50 -e x265 -q 23 --vfr -a 1 --gain 0 --audio-fallback ac3 -6 dpl2 -E copy --encoder-profile=main --encoder-preset=slow --modulus 2 -m --verbose=0 < /dev/null

Da er das Ganze jetzt hier an Handbrake übergitt schau ich wieder in die Blackbox :-(
Zumla ich kein Handbrake Frend bin... das macht mir zu viel selber. Wenn ich verrauschtes Video als Quelle hätte okay.. aber das ein anderes Thema

Guinness
09.04.2016, 15:15
wenn ich mir das Ohr anschaue sehe ich im Ergebnis des Scripts keine echte Verbesserung

frauhansen
09.04.2016, 15:18
Das Ohr liegt ja ehh schon fast im unscharften Bereich... ich hatte mich daher bisher auf den Nasen und Wangen Bereich konzentriert.
Wenn man das mit den Vergleichen oben CR20 (ob mit oder ohne Grain/SSIM) vergleicht ist das Ergebnis viel schärfer!

Guinness
09.04.2016, 15:37
Rätselhaft finde ich noch immer, dass crf=20 tune grain bei dir unschärfer aussieht als bei mir.
Probier doch mal


ffmpeg -i sample.mov -c:a copy -c:v libx265 -x265-params crf=0 sample-h265-crf0.mkv

Ausgabe ist dann riesig, aber bitgenau

Screenshots kann man auch mit ffmpeg machen, dann hat man immer den gleichen Frame

ffmpeg -y -i sample.mov -c:v png -vframes 1 -an -f rawvideo screenshot.png

frauhansen
09.04.2016, 15:40
Ja, das erscheint mir auch sehr merkwürdig....

Ich bin grad dabei den Aufruf den der Script mit Handbrake macht nachzuvollziehen. Denn dessen Ergebnis hat mit qualitativ positiv überrascht.
Ich hab die Breiten und Höhen Angaben mal raus geworfen und schaue das ich auch sonst mal alles auf copy stelle ausser dem Video... ggf. gehe ich dann einfach den Weg.

Die Screenshots werd ich dann jetzt mit ffmpeg machen.... haste Recht... besser so als ommer auf den Mac kopieren und mit VLC Screenshots machen.

frauhansen
09.04.2016, 16:10
Okay... dann wollen wir mal...

Folgender Aufbau...
Original vs. CFR0 (http://screenshotcomparison.com/comparison/168684)
Original vs. Handbrake (http://screenshotcomparison.com/comparison/168685)
Worbei der Parameterstamm für Handbrake wie folgt war:
HandBrakeCLI -i /media/gerd/work/ffmpeg_test/source/sample.mov -o sample_handbrake.mkv --previews 50 -e x265 -q 23 --vfr -a 1 --gain 0 --audio-fallback ac3 -6 dpl2 -E copy --encoder-profile=main --encoder-preset=slow --modulus 16 -m --verbose=0 < /dev/null

Wenn ich den Parameter "--VFR" recht verstehe arbeitet Handbrake dann mitvariabler Bitrate.

Handbrake vs. CFR20 (http://screenshotcomparison.com/comparison/168686)

Leider hauts mir die Balken oben weg so das es schwieriger ist die Bilder zu vergleichen.

NACHTRAG: Hier noch mal Original vs. CFR20 (http://screenshotcomparison.com/comparison/168688)
Parameterstamm 1:1 u CFR0 nur eben mit CFR20
Was mich jetzt daran irgendwie verwunder ist, vergleicht man es mit dem Vergleich von Dir oben (http://screenshotcomparison.com/comparison/168335). Dann erscheint mir di Quali viel besser als noch gestern.
Also entweder hab ich mir die Augen versaut oder etwas hat sich geändert was ich nicht bemerkt habe.