Recoding mittels eines 'Hilfsprogramms'?
-
Hallo Allerseits,
ich bin neu hier und habe gleich mal eine Frage:
a) Wenn man in niedriger/mittlerer Qualität herunterlädt scheint die Qualität sichtbar schlechter zu sein als bei hoher Qualität. Ich schaue gerne Landschafts- und Naturdokumentationen, daher hätte ich gerne die hohe Qualität (wobei FullHD reicht)
b) Wie gut sind die encodiert? Würde es Sinn machen, die Sendungen in hoher Qualität nochmal mit einem effizienteren Codec zu recodieren? So dass die Dateigrösse merklich kleiner wird (also schon so mind 30-50%, sonst lohnt der Aufwand nicht), aber dennoch die Qualität fast erhalten bleibt?
c) Falls b) Sinn macht, kann man das per Hilfsprogramm automatisieren? Der Download läuft ja per ffmpeg. Kann man eine Art pipeline erstellen, dass der ffmpeg output nicht gespeichtert wird, sondern in einen recoder weitergeleitet wird? Oder das man einen externen (freeware) Downloader benutzt (geht Handbrake?).Erfahrungen in dem Bereich wären echt hilfreich, habe leider berufsbedingt nicht die Zeit, das alles selber auszutüfteln, zig Einstellungen in Handbrake auszuprobieren, etc.
Viele Grüsse,
Andre -
Natürlich geht das mit ffmpeg, das hat tausend Schalter und bells & whistles um Sachen mit Sourcematerial anzustellen.
"fmpeg -i input.mp4 -c:v libx265 -crf 28 -c:a copy output_hevc.mp4 " zB. encodiert eine h264 in x265. Ich werde dir hier jetzt keine Schalter vorkauen, suche nach ffmpeg Anleitungen, Netz ist voll davon.
Auch habe ich das noch nicht getestet und werde auch zu Punkt b), der Sinnhaftigkeit keine Aussagen treffen, das mußt du dir selbst beantworten. Mach halt einfach mal Tests mit schon vorhandenen Dateien, und wenn es passt mach dir ein Downloadset mit zB
ffmpeg -i %f -c:v libx265 -crf 28 -c:a copy **tl;dr
Mit ffmpeg kannst du alles -
Ich habe das gerade mal angetestet mit meinem Beispielset. Also prinzipiell funktioniert das.
Aber je nach Ausstattung des Computers braucht das eine Menge Zeit, CPU/GPU-Ressourcen und Strom.Das muß man dann schon abwägen ob einem die Einsparung in der Dateigröße das Wert ist. In meinem Fall ist die Antwort Nein, auch weil mein Abspielgerät bei x265 auch an seine Grenzen kommt.
Letzteres ist überhaupt zu prüfen, es gibt Geräte die x265 nicht können und dann macht das alles keinen Sinn. -
@andre_xs sagte in Recoding mittels eines 'Hilfsprogramms'?:
b) Wie gut sind die encodiert? Würde es Sinn machen, die Sendungen in hoher Qualität nochmal mit einem effizienteren Codec zu recodieren?
Meiner Meinung nach nicht. Sie sind so komprimiert, dass die Dateigröße bereits recht klein ist. Im Vergleich zu Satellit beträgt die Bitrate nur ca. 45% bei gleichem Codec (h264), aber höherer Auflösung. Vergleicht man bei gleicher Auflösung (720p) ist man in der Mediathek bei ca. 20% der Bitrate.
@andre_xs sagte in Recoding mittels eines 'Hilfsprogramms'?:
müsste mal schauen wie CUDA das re-codieren beschleunigt
Folgender Quelle entnehme ich, dass ffmpeg CUDA nicht unterstützt, Zitat:
The question is whether it’s possible to use CUDA cores to decode and encode video faster than the hardware engines (NVDEC and NVENC). ffmpeg cannot do it, and all the commands above use those hardware engines, which are separate from CUDA/graphics cores.
-
@andre_xs sagte: kann man das per Hilfsprogramm automatisieren? Der Download läuft ja per ffmpeg. Kann man eine Art pipeline erstellen, dass der ffmpeg output nicht gespeichtert wird, sondern in einen recoder weitergeleitet wird? Oder das man einen externen (freeware) Downloader benutzt (geht Handbrake?).
Ja, aber ffmpeg ist ja v.a. ein Decoder/Encoder, weshalb ich direkt dieses Tool benutzen würde (ausser du wählst das Handbrake CLI wegen der möglicherweise besseren Hardware-Unterstützung):

Dupliziere dein bestehendes Speicher-Set und nimm beim Hilfsprogramm unter Schalter die gewünschten Einstellungen vor. Meine obigen Settings sind nur ein Beispiel, welches ich vor Jahren noch unter MV 13.0.6 getestet hatte; den User-Agent brauchst du nur für ORF-Downloads und Audio würde ich auch nicht nach mp3 umwandeln. Für deinen Fall wäre zielgerichteter:
-user_agent "Moozzilla" -i %f -c:v libx265 -crf 23 -preset medium -c:a copy -hide_banner -loglevel panic **Die letzten zwei Optionen bewirken, dass ffmpeg beim Start keine Bannerinfos zeigt und nur bei sehr schweren, kritischen Fehlern eine Meldung bringt; -preset medium" steht für eine voreingestellte Konfiguration, die einen Mittelweg zwischen Kodierungs-Geschwindigkeit und Kompressionseffizienz darstellt (evtl. ist die bei x265 aber eh default).
Du musst eigentlich nur wissen, dass bei der Erhöhung des CRF-Werts (constant rate factor) die Kompression zunimmt, wobei 18–28 übliche Werte sind. Bei SRF-Sendungen ergibt das Verfahren eher Sinn als bei ARTE-Sendungen, aber i. A. ist Recodieren natürlich unsinnig (Energie, Zeit), besser gleich die HD-Version statt die FHD-Version runterladen.
-
@styroll sagte in Recoding mittels eines 'Hilfsprogramms'?:
besser gleich die HD-Version statt die FHD-Version runterladen.
Ihm ist die HD-Version qualitativ zu schlecht. Er erhofft sich aber durch Encoding in HEVC, dass die FHD-Variante so viel Platz braucht wie die HD-Variante, aber die Qualität erhalten bleibt.
-
Anstatt 8 Jahre alte stackoverflow Postings (Quelle für so manchen BS denn einem heute KI Bots als falsche Lösungen für alle mögliche präsentieren) könnte man auch einfach zu ffmpeg gehen und dort nachsehen. But maybe that’s just me
https://trac.ffmpeg.org/wiki/HWAccelIntro#CUDANVENCNVDEC -
@vitusson sagte in Recoding mittels eines 'Hilfsprogramms'?:
https://trac.ffmpeg.org/wiki/HWAccelIntro#CUDANVENCNVDEC
Der verlinkten Seite geht aber nicht hervor ob CUDA verwendet wird. Von NVENC scheint man aber zu wissen, dass bestimmte Funktionen unter bestimmten Generationen von GPUs CUDA verwenden. Aber ich habe inzwischen herausgefunden, dass es bestimmte ffmpeg-Filter gibt die CUDA einsetzen.