Videos konvertieren

DerNiemand

Lt. Commander
Registriert
Dez. 2012
Beiträge
1.166
Hi,

ich habe sehr viele aufgenommene Filme im MPG2 format mit 15mbits datenrate. Nun, die belegen leider doch etwas viel speicherplatz, deshalb möchte ich sie etwas komprimieren.

Ich habe ein X4 630 mit ner HD4870 und ein Q6600 mit ner 8500GT. Würde also auch gerne die Grafikkarte mit einbeziehen. was für gute software könnt ihr da empfehlen? leider nutzt cyberlink media espresso, freestudio video converter und sony vegas nicht die HD4870, obwohl diese ati stream und opencl unterstützt (und auch als kompatibel angezeigt wird).

und die wichtige frage: welches format soll ich nehmen? am liebsten ohne qualitätsverlust.
 
also das media espresso sollte ati-stream auch unterstützen, siehe: HIER

x264 solltest du nehmen, ist deutlich leistungsfähiger als mpeg2
 
ohne qualitätsverlust geht es nie! es sei denn du konvertierst eben lossless und dann werden die daten milliarden mal so groß. am besten nimmste den x264/h264 AVHC codec. das ist mit einer der effektivsten, wenn nicht sogar der. die bitrate hängt von der auflösung deiner videos und der persönlichen toleranzschwelle ab. ich mach nur noch mkvs mit MPEG4 AVC, die kann ich auch auf meinem tv anglotzen.

für cuda könnt ich dir ein paar nette proggies empfehlen, aber bei ati bin ich leider raus.
 
Der beste Codec ist H265 ist nochmal 40% kleiner oder WEBM ist 20% kleiner. Jedoch zu unbekannt, daher rate ich dir H264 mit AAC Ton an im Mpeg4 container. Zudem geht das schneller. Außerdem rate ich dir die 2 pass Codierung. Dauert ca 70% länger, aber die Qualität ist wesentlich besser und du kannst vorher sagen, wie exakt groß die datei werden soll. Kompatibilität bleibt die selbe. X264 ist das gleiche wie H264. Nur das erste ist kostenlos.

Ich hab immer Xmedia Recode benutzt, aber das Programm codiert nicht immer fehlerfrei, daher nimm lieber Handbrake.

Videos von DVD im Pal System (steht drauf) empfehle ich folgendes: 848x480px bei 1500kBit/s und 25 Bilder/sek. Sieht echt gut aus und dürfte fast 2GB pro Stunde groß werden. So codiert z.B. Apple, Lovefilm und Maxdome. Youtube nimmt nur 800kBit/s bei 480p. Dass du mal eine Vorstellung hast. Immer 2 Durchläufe beim Codieren. Macht viel aus. Sieht nochmal 30-50% beser aus. Gerade bei Actionszenen.
 
Zuletzt bearbeitet:
crustenscharbap schrieb:
Videos von DVD empfehle ich folgendes: 848x480px bei 1500kBit/s. Sieht echt gut aus und dürfte fast 2GB pro Stunde groß werden. So codiert z.B. Apple, Lovefilm und Maxdome. Youtube nimmt nur 800kBit/s bei 480p. Dass du mal eine Vorstellung hast. Immer 2 Durchläufe beim Codieren. Macht viel aus. Sieht nochmal 30-50% beser aus. Gerade bei Actionszenen.

dann sei für den TE aber noch erwähnt, dass er bei den 1500kbit zwingend VBR (variable bitrate) und nicht CBR einstellen musst!
 
Um Qualitätsverluste zu vermeiden,
solltest Du das 720*576er PAL Format (sofern in 16:9 vorhanden) auf 1280*720 upscalen und dann mit x264 reencoden.
Sofern kein genauer Platz benötigt wird, solltest Du mit --crf experimentieren
(18 default, falls File zu groß den crf-Wert erhöhen)

Grafikkarten zum Encoden zu benutzen ist gleichbedeutend mit schlechter Encodingqualität im Verhältnis zur Bitrate.
Sie können zwar viele Sachen gleichzeitig, ein komplexer Algorithmus wie H264 setzt jedoch auf lineare Bearbeitung.
Ausser man nutzt viele Zusatzfunktionen nicht.

Edit:
Und da Du zwei Rechner hast:
Versuch mal RipBot264 und aktiviere Distributed Encoding für beide Maschinen.
Und schon geht die ganze Sache schneller.
Ergänzung ()

crustenscharbap schrieb:
Der beste Codec ist H265 ist nochmal 40% kleiner
Nur gibt es da noch keine akzeptable Freewarelösung, die über den Referenzencoder hinausgeht.
Das seit Jahren optimierte x264 liefert momentan bessere Ergebnisse als jeder JM-Ref H265 Encoder.
Irgendwann... wird ein H265 Encoder existieren, der genauso optimiert ist wie x264. Das dauert aber noch.

crustenscharbap schrieb:
X264 ist das gleiche wie H264. Nur das erste ist kostenlos.
H.264 ist der Standard, x264 ist das Programm,
das wäre das gleiche als wenn Du sagen würdest iTunes ist AAC.

crustenscharbap schrieb:
Videos von DVD im Pal System (steht drauf) empfehle ich folgendes: 848x480px bei 1500kBit/s und 25 Bilder/sek.
Damit schmeißt Du bei PAL 96 Pixel an Informationen in der Höhe unwiederbringlich weg.

crustenscharbap schrieb:
848x480px bei 1500kBit/s und 25 Bilder/sek... und dürfte fast 2GB pro Stunde groß werden.
1500kBit/Sek bedeutet: (1500*60*60)/(8*1024) = ca. 660 MB/h. Um auf 2GB zu kommen muss schon ein verdammt großer Audiostream dabei sein.
 
Zuletzt bearbeitet:
DerNiemand schrieb:
ich habe sehr viele aufgenommene Filme im MPG2 format mit 15mbits datenrate.

Da haste dir aber was vorgenommen wenn sehr viel auch viel ist,da raucht der Rechner :)
Am besten du schneidest die mal nur ein paar Minuten aus einem Film und probierst verschiedene Einstellungen und Programme aus.
Empfehlen kann ich dir den Xilisoft Video Converter,der ist sehr schnell hat auch viele Einstellmöglichkeiten (2-pass u.s.w.).
Ob die Hohe Qualität beim konvertieren immer notwendig ist findest du durch Tests heraus,jeder sieht anders.
 
Wishbringer schrieb:
Um Qualitätsverluste zu vermeiden,
solltest Du das 720*576er PAL Format (sofern in 16:9 vorhanden) auf 1280*720 upscalen und dann mit x264 reencoden

Ich denke mal du meinst 1024*576 und nicht 1280*720?

Ich sehe auch keinen Sinn in einer Kodierung mir vorgegebener Bitrate (2-Pass oder 1-Pass), da er ja keine genaue Dateigröße hat, die eingehalten werden muss.
Die bessere Wahl wäre einen konstanten Qualitätsfaktor (crf) zu nehmen, bei den hohen Anforderungen könnte 16-18 gut sein (kleinere Werte sind besser, aber ich glaube das Minimum bei vielen ist schon crf 18).

Zum Thema Geschwindigkeit:
Beim Bearbeiten des Videos gibt es zig Parameter, mit denen versucht wird, das Video zu verkleinern. Einige dieser Parameter haben dabei verschiedene Modi zur Auswahl; einige arbeiten schnell und einige langsam. Die langsamen Modi können (bei gleich bleibender Qualität) das Video aber stärker verkleinern.

Ein Testvideo von mir hat bei einem konstanten Qualitätsfaktor von 25 bei:
-sehr schneller Bearbeitung eine Größe von 35,5 MB
-sehr langsammer Bearbeitung eine Größe von 11,0 MB


Bei YouTube und co ist eine schnelle Bearbeitung des Videos wichtig, weil die Leute nicht 10 Stunden warten wollen, bevor die ihr Video sehen können.

Bei seinen eigenen Videos hat man aber die Wahl, ob man schnell fertig sein will oder ob die Videos möglichst klein werden sollen.

Ich glaube das Berechnen mit Grafikkarten-Unterstützung ist qualitativ auch nicht das Beste, da eine zu starke Aufteilung der Arbeit auf mehrere Threads die Effizienz im Allgemeinen verringern kann.

("The quality loss from multiple threads is mostly negligible unless using very high numbers of threads (say, above 16)", aus mewiki.project357.com/wiki/X264_Settings#threads )
 
Zuletzt bearbeitet:
Wishbringer schrieb:
Und da Du zwei Rechner hast:
Versuch mal RipBot264 und aktiviere Distributed Encoding für beide Maschinen.
Und schon geht die ganze Sache schneller.

Prinzipiell genau DAS was ich suche. Doch das Problem ist: ich habe videos im MPEG2 format und das wird im verteilten rechnen leider nicht unterstützt

@Gallo2000: wie meinst du das mit schneller und langsamer bearbeitung?
 
Zuletzt bearbeitet:
Am Beispiel von Ripbot264 - unter dem Punkt "x264 Preset" hat man hier die Wahl zwischen 10 "Geschwindigkeitsstufen" (Kompressionsvorlagen).

So Optionen gibt es auch bei anderen Programmen die x264 benutzen, z.B. bei XmediaRecode.
Standardmäßig ist "Default" oder "medium" eingestellt.
Man sollte jetzt nur wissen, dass das diese Einstellung ein Kompromiss aus Dateigröße/Qualität und der Zeit zum Konvertieren des Videos ist und nicht das volle Potential ausnutzt.

Man kann mit den verschiedenen Einstellungen rum Experimentiren (an kleinen Testvideos) und sich dann hochrechnen, wie lange man mit der jeweiligen Einstellung braucht, um den gesamten Film zu Konvertieren. Feste Werte gibt es da nicht, weil das vom PC, dem Video und der Version von x264 abhängig ist.

Man könnte sich sogar eigene Einstellungen erstellen, da die Kompressionsvorlagen auch nur aus Parametern bestehen, die man nach Belieben ändern kann.
(das sieht man z.B. auf dem Screenshot rechts neben den Kompressionsvorlagen; da steht dann so etwas wie: --vbv bufsize 25000 usw.)

Einen Überblick gibt es hier:
encodingwissen.de/x264/referenz

Interessant wären zumindest ganz am Anfang die Übersicht über die "Kompressionsvorlagen" und die "Tuningvorlagen", da man diese auch in Ripbot264 einstellen kann (x264 Preset ; x264 Tune)

Das mit der Geschwindigkeit habe ich angesprochen weil dein Beitrag danach aussah, als wolltest du die Videos schnellstmöglich Umgewandelt bekommen, ohne dabei zu wissen, dass Schnell nicht immer besser ist.

edit:
@crustenscharbap:
Wieso sollte man einen festen Quantizer anstatt crf nehmen ?
crf ist ein erweiterter Quantizer und wird auch deshalb empfohlen. Außerdem hat das verwenden von Quantizer auch nichts mit extrem viel Quallität zu tun.
Welche Quallität erreicht werden soll stellt man wie beim crf in einem Bereich von 0 (quasi Verlustlos) bis 51 (so schlecht, dass nichts mehr zu erkennen ist) ein; man kann auch einen hohen Wert wie 40 Einstellen und bekommt eine total miese Quallität...
Außerdem ist der von dir genannte Wert von 26 keine gute Empfehlung, da der TE ein Video "am liebsten ohne qualitätsverlust" haben will.
 
Zuletzt bearbeitet:
Mit den Quantizer erzielst du extrem gute Qualität, bei guter Dateigröße nur, kannst du überhaupt nicht bestimmen wie groß die Datei wird. Einfach mal probieren. Ich denke Quantiser 26 sollte schon passen.

Bei mir schwankt die Codierbitrate zwischen 8100 und 750 kbit/s innerhalb eines Videos. Dafür hast du eben gleichbleibende Qualität. Also keine Stellen, wo es kacheln gibt.

Auch beim Schnellwert gibt es ein Quantisierungswert, wo 1 sehr schnell ist und 10 extrem gut ist. Was heiß das? 1=ca 80 fps beim Full HD Video mit mein PC und 10=3-4 fps. Ich fahre meistens mit 7. Hier rechnet der PC mit ca 19 fps. Der Unterschied ist vor allem in den kleinen Details sichtbar und das Bild ist schärfer.
 
Zuletzt bearbeitet:
hmm dann muss ich da mal rumprobieren.

Nein, schnell möchte ich das nicht machen. der Q6600 freut sich mal über was arbeit, kann den also mit so 20 jobs vollpacken und erstmal n tag rumrödeln lassen. Die Dateien, die ich habe, sind so ca. 4GB bei 1:45h und 15000 kbit/s. Ich war von der Einstellung "2-pass" bei einer bitrate von 6000 kbit/s gerade sehr zufrieden, da ich mit insgesamt 10 Kernen eine 20GB mkv in eine 4 GB MP4 bei gleicher qualität (und 3h Rechenzeit :D) hingekriegt habe. Werde mal das mit cbr probieren, aber ich würde halt gerne die Dateien definitv verkleinern und nicht am Ende eine doppelt so große datei haben :D
 
DerNiemand schrieb:
Werde mal das mit cbr probieren, aber ich würde halt gerne die Dateien definitv verkleinern und nicht am Ende eine doppelt so große datei haben :D

Ich denke du meinst crf und nicht cbr ?

Wenn du keine extrem kleinen crf Werte oder x264 Presets wie Ultrafast, Superfast nimmst, wird das schon deutlich kleiner.
Das Testvideo aus meinem ersten Beitrag (Kinofilm-Trailer, Full-HD mit 17 Mbps ) hatte mit crf=25 und Placebo (der langsamsten Einstellung) 1432 Kbps, mit dem x264 Standardwert (crf=23) und Placebo 1952 Kbps.

Ein crf=18 Beispiel habe ich dazu leider nicht, aber die beiden Beispiele sind beide weit weg von den ursprünglichen 17 Mbps.

crustenscharbap schrieb:
Auch beim Schnellwert gibt es ein Quantisierungswert, wo 1 sehr schnell ist und 10 extrem gut ist.

Einen Schnellwert gibt es bestimmt irgendwo, und wenn du noch verrätst über welches Programm/welchen Encoder du da redest kann ich dir vielleicht auch folgen :)

Ich habe von x264 gesprochen, und da ist crf dem festen Quantizer soweit ich weiß überlegen, weil crf in schnellen Szenen die Qualität senkt (weil es da kaum auffällt) und dafür die Qualität in ruhigen Szenen erhöht, wodurch das Video dann besser aussieht (bei gleicher Bitrate).
 
Nach Aussage des Autors von Ripbot wird MPEG2 als Eingabeformat für distributed computing unterstützt...
http://forum.doom9.org/showthread.php?p=1610643&highlight=mpeg2#post1610643

Ich habe es selbst nicht mit MPEG2 versucht, da mein Camcorder FullHD AVCHD mit H264 unterstützt und ich daher eher ein Umrechnen H264->H264 durchführe.
Ergänzung ()

Gallo2000 schrieb:
Ich denke mal du meinst 1024*576 und nicht 1280*720?

Nö, ich meinte schon 1280*720.
Das was Du meinst ist die Auflösung von Anamorph 16:9 zu 1:1. Was vollkommen in Ordnung ist, da nicht jeder Player Anamorphe Aspectratios versteht.
Meine Idee ist:
Reencoding bei gleicher Auflösung (Höhe UND Breite) ist IMMER verlustbehaftet. Außer man nutzt einen Lossless codec. Dann spart man aber keinen Platz.
H264 ist zwar immer noch auflösungsbezogen = höhere Pixelzahl => höhere Bitrate,
das aber nicht mehr linear, durch den optimierten Codec wird vermehrt auf den Inhalt abgestellt.
Das merkt man, wenn man ein Video upscaled und encoded, der resultierende Film wird nicht in dem Ausmaß größer wie die Auflösung. Weil Motionvektoren und Makroblöcke verglichen werden.
Der Codec verschiebt ein 8*8 (geupscaleden) Pixelblock genauso wie einen 4*4 Pixelblock mit dem gleichen Bewegungsvektor. Daher sind B und P-Frames dann fast identisch. Nur die I-Frames (In Frequenzblöcke aufgeteilte Gesamtbilder) sind minimal größer.
Zweiter Ansatzpunkt ist, dass 1280*720 AVCHD kompatible ist, 1024*576 nicht, somit ist die Wahrscheinlichkeit größer, dass diese Videos dann auf irgendwelchen neueren Standalone-Playern laufen.

Apropos Geschwindigkeit:
Ich nutze generell das High Profile auf Level 4.1 begrenzt und das Preset Very Slow. (plus diverse Tuning und Kompatiblitätsoptionen ... tune film, max b und p-frames für Level 4.1, open-gop, bluray-Compat ,slices 4, vbv-buffer etc)
Da dauert das Encoden auf dem Rechner in meinem Profil ca. das 4fache der Realzeit (2Stunden Film = 8 Stunden Encoding.
Wenn ich mit default Preset encode, läuft dies in Realzeit ab.
Bei CRF (gleicher Wert) ist aber das File mit Very Slow ca 40% kleiner als das default profil bei gleicher Bildqualität.
Und da ich zuhause insgesamt 4 in etwa gleichstarke Rechner habe, komme ich wieder auf mein Realtime-Umrechnen.
 
Zuletzt bearbeitet:
ripbot264 kann es zwar konvertieren aber nicht mit mehreren Rechnern. wie gesagt, die Geschwindigkeit ist mir nicht wichtig. Hauptsache kleine dateien bei guter Qualität
 
Nimm xmedia recode unterstützt auch opencl
Einstellung DVD dvd vob unter format
Unter video dann
Modus konventieren
mpeg2
framrate je nach ob die Aufnahme in 25 oder 50 ist
Farbmodus automatisch
2 pass
bitrate avg 3000 je mehr desto besser
max bitrate 9000
min bitrate 0
level (ist die auto einstellung für die quality in mp @hl andere modi mp@ml... mal rumprobieren was wieviel HDD braucht unter dem calc symbol wird die maximale dateigröße je job angezeigt)
vbv wird automatisch eingestellt
threads 0= alle kerne der cpu
gob nimm 15 ist die auto Einstellung
darstellungmodus wenn das rohmaterial progressive (vollbilder) ist bleibt dabei wenn interleave dann interleave
DC bits auto Einstellung für dvd 8bit
Die restlichen Felder lass es auf auto

Unter audio
dann unter ausgabe
kopieren wählen

dann unter Filter
Bildformat 720-576 oder die größer des originals Sollte eigentlich DVD progressive 720 576 16-9
skallierung normal ist bilinear
Seitenverhälnis nimm 4:3 wenn 4:3 ansonsten 16:9
aspeckt ratio wird automatisch bei zoom erstellt
Zoom Nimm dann letterbox wenn original rot bei Aspekt ratio wird.

Dann zu jobs und oben das symbol auf jobs hinzufügen
ausgabe ornder wählen
Und kodieren drücken
das Programm lässt sich pausieren aber die einstellung speichert nicht den letzten jobliste.
Ist der einzigste nachteil des programms bei abstürzen muss manalles neu Einstellen.
Die codec einstellung bleiben jedoch auf fast allen custom einstellung erhalten.
audio Einstellung wird nicht gespeichert
 
Zuletzt bearbeitet:
DerNiemand schrieb:
ripbot264 kann es zwar konvertieren aber nicht mit mehreren Rechnern. wie gesagt, die Geschwindigkeit ist mir nicht wichtig. Hauptsache kleine dateien bei guter Qualität
Naja, bei mir klappt es, habe mir extra ein MPEG2 File besorgt. Distributed Encoding klappt bei korrekter Konfiguration von Rechner (Netzwerkfreigaben) und RipBot.

Ist aber auch egal:
Du hast mehrere (viele) Files zum Umrechnen.
Du hast zwei Rechner.
Also lass beide Rechner einfach unterschiedliche Files berechnen.
 
xmedia recode unterstützt opencl? ist mir nicht bewusst. sehe aber gerade, dass wohl der Support von amd für meine hd4870 was opencl angeht eingestellt worden ist. ..

@wishbringer: distributed encoding funktioniert ja, daran liegt es nicht. abet selbst in der .ini datei, wo man das aktiviet, stehen ja die unterstützten Dateiformate drin. MPEG 2 steht da nicht
Ergänzung ()

also was soll ich denn nun nehmen, xmefia recode, ripbot264 oder handbrake?
Ergänzung ()

soo hab mal was rumgespielt und bin nicht viel schlauer. "slower" macht die bitraten geringer, 2-pass auf 6000kbit kann u.U. die dateien größer machen (auch wenn die vorher 15000kbit haben). hab nun null ahnung was ich machen soll? 2-pass auf 4000kbit setzen? Qualität ist eigentlich allesamt die gleiche
 
Zuletzt bearbeitet:
DerNiemand schrieb:
also was soll ich denn nun nehmen, xmefia recode, ripbot264 oder handbrake?


Für h264 encodes nach mkv oder MP4 verwenden alle drei Programme x264, also kommt bei gleichen Einstellungen auch überall quasi dasselbe raus.
Nach mpeg2 zu encoden (wie es syfsyn vorgeschlagen hat) solltest du auf jeden Fall nicht machen.

RipBot hat im Vergleich zu XMedia Recode ein übersichtliches Menü, da kann man anscheinend nicht viele Fehler mit machen.

Ich denke deshalb, dass für deine Aufgaben (die Dateigröße bei fast gleicher Qualität reduzieren) RipBot die beste Wahl ist.

Ich würde dir empfehlen für das encoden keine feste Bitrate zu wählen, sondern nach konstanter Qualität (crf), weil dabei bei gleicher Dateigröße das Bild besser ist oder anders gesagt du bei gleicher Qualität eine kleinere Datei bekommst.

Nach fester Bitrate zu encoden scheint für dich einfacher zu sein, weil du damit ganz genau bestimmen kannst, wie groß die Datei am Ende wird.
Aber eine der besten Eigenschaften von x264 ist ja, das es "intelligent" entscheiden kann, wo eine hohe und eine niedrige Bitrate gebraucht wird, um so Speicherplatz zu sparen.

Außerdem: Für manche Videos von dir kann eine Bitrate von Beispielsweise 6000 viel zu hoch sein, und am Ende ist die Datei doppelt so groß, wie sie eigentlich sein müsste.
Bei konstanter Qualität (crf) kann dir das nicht passieren, wenn die gewünschte Qualität mit weniger Bitrate erreicht werden kann, wird auch nur weniger dafür verwendet und man spart Platz.

Das einzige "schwierige" dabei ist halt, sich für einen crf-Wert zu entscheiden.

Falls niemand eine bessere Idee hat: Fang mit 20 an, wenn dir dabei die Qualität zu schlecht sein sollte nimmst du 19. Falls du keinen Unterschied siehst, nimmst du gleich 22 um zu gucken, ob das auch noch geht, ohne dass dir die Qualität zu schlecht wird.
Eigentlich sollte man das für jedes Video machen, um zu vermeiden, dass man 10 Stunden für den Mülleimer gerechnet hat. Ich denke aber, dass bei Filmen mit ähnlicher Auflösung und Qualität du auch den gleichen crf-Wert nehmen kannst.

Als Geschwindigkeits-Preset nimmst du am besten "slower" oder "placebo", Wenn die Zeit zum encoden keine Rolle spielt.

Entgegen der Meinung zu Wishbringer würde ich persönlich nichts an der Auflösung ändern. Das kann in einigen Fällen Sinn machen, aber bei deinen Anforderungen ist das aus meiner Sicht nicht nur unnötig, sondern auch schädlich.


edit:
Die "Tune" Einstellung solltest du je nach Video-Typ auch nutzen; was für welchen Video-Typ vorgesehen ist steht hier: : encodingwissen.de/x264/referenz
 
Zuletzt bearbeitet:
Das rohmaterial liegt in mpeg2 vor.
man kann dies mit mp4 oder mkv kontainern umwandeln.
das geht auch in xmedia recode.
Ich hatte mpeg2 vbr vorgeschlagen. manuel eingestellt.
Und ich gehe mal von DVD abspeil fähigkeit aus. und DVD player köjnen nicht immer mpeg4 oder mkv avi abspielen.
Dazu noch brenne das material auf bluray. auch als DVD video, das geht
So ein brenner macht Sinn.
 
Zurück
Oben