Verringern der Post Production Zeit

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Verringern der Post Production Zeit

    Anzeige
    Hallo liebe LP Community!

    Ich weiß nicht ob ich hier wirklich richtig bin, aber ich wollte dennoch auch hier einmal nachfragen, denn ich dachte mir, dass evtl jemand ja Erfahrung mit meiner Problematik hat.

    Ausgangssituation:
    Eigentlich streame ich auf Twitch mit einer Auflösung von 1600x900 und 60fps und einer bitrate von 6-7k mit OBS (Nvenc (new) max. Qualität). Das sieht soweit alles ganz gut und toll aus und ich bin absolut zufrieden damit.
    Nun möchte ich aber meine VODs auch auf Youtube haben und zwar, wenn möglich, in 15 Minuten-Parts und möglichst hoher Qualität. Ja ich weiß, dass es 2019 ist und Leute eigentlich fast nur noch edited Gameplay sehen wollen etc, aber ich will damit auch nicht der nächste Gronk auf YT werden. Ich hab einfach Spaß und Freude daran, meine Streams auch in besserer Qualität auf Youtube zu haben. :D

    Nun kommmen wir zu meinem perfektionistischen Problem:
    Die "Export to Youtube" Funktion von Twitch funktioniert in der Theorie, aber es teilt die Parts nicht mehr in 15 Minuten auf (die Funktion funktioniert einfach nicht mehr seit ungefähr einem Jahr, soweit ich das mitbekommen habe) und die Qualität sieht, dank Youtubes re-rendering, absolut bescheiden aus.

    Meine nächste Idee wäre es also gewesen einfach parallel zum Stream aufzunehmen (auch Nvenc (new) mit 30k bitrate. Ich weiß ich sollte eigentlich CQP nehmen, aber ich bin noch nicht dazu gekommen es zu testen. Außerdem soll meine Dateigröße auch im vernünftigen Rahmen für den Upload bleiben) und im Anschluss die Videos mittels ffmpeg von .flv auf .mp4 remuxen zu lassen und in 15 Minuten-Parts zu schneiden und dann auf Youtube hochzuladen.
    Problem: Youtube downscaled 900p automatisch auf 720p und noch dazu gibts den avc01(oder so?) Codec, der auch ziemlich bescheiden ist.

    Meine Lösung hierfür wäre es also gewesen ffmpeg mein Video zusätzlich auch noch auf 2560x1440 upscalen zu lassen, damit ich den vp09 Codec bekomme.
    Das funktioniert auch und sieht gut aus! ABER dadurch geht enorm viel Zeit für die Post Production drauf, obwohl ich eigentlich gar nichts schneide oder editiere, sondern nur upscale und uploade.
    Mit meinem i7-7800k (6 cores 12 threads) dauert der Spaß mit einem 4 stündigen Stream in etwa 8 Stunden. Pro part (15 minuten) brauche ich ca 1 Stunde für den Upload.
    Bei einem 4 stündigen Stream wären das also in der Post Production:

    • 8 Std Remux/upscale
    • 16 parts x 1 Stunde Upload = 16 Stunden Upload
    In Summe sind das 24 Stunden für ein 4 Stunden Video, obwohl ich am Quellmaterial eigentlich nicht viel ändere.

    Gibt es dafür eine effizientere Methode oder habt ihr eine Idee, wie ich das besser machen könnte?

    LG Schardon :D
  • Schardon schrieb:

    Youtube downscaled 900p
    Nein machen sie nicht.
    Nichtsdestotrotz gibt dir 900p nur die Bitrate vom 720p Label. Und die ist halt enorm scheiße :P

    Du könntest in 1600x900 auch aufnehmen und hinterher via nearest neighbor auf 3200x1800 verdoppeln, sprich ohne Interpolation so das die Pixel lediglich verdoppelt werden. Bei Skalierungen die nicht x2 etc sind, sollte aber natürlich eine Interpolation verwendet werden.
    Bei 3200x1800 bekämst dann die Bitrate für 4k Videos.

    Seit etlichen Monaten komplett veraltete Signatur, wie ihr sicherlich schon bemerkt habt. Habe mittlerweile mehr als 4 Projekte, weshalb die Signatur leider momentan gesprengt ist xD
    Notdürftig die Liste was aktuell läuft: Unreal | DooM 2: Project Brutality | Complex DooM (LPT) | DooM 2016 | Need For Speed III: Hot Pursuit | Dirt 4 | WRC 7
  • Hey, danke erstmal für deine rasche Antwort.

    Ich dachte Youtube scaled automatisch auf 720p runter, weil ich meinte, das mal gelesen zu haben, aber offenbar ist das nicht richtig. Dennoch bekomme ich die schlechte Bitrate und den schlechten Codec, wie du ja schon erwähnt hast, ist das dann trotzdem ziemlich scheiße. :D

    Könntest du mir das genauer erklären? Womit kann ich das auf 3200x1800 verdoppeln? Welches Programm hat diese Funktion? Das würde mein Problem ja eventuell schon lösen, weil Youtube ja nur denken muss, dass mein Video 1440p oder höher ist.

    Hat ffmpeg diese Funktion? Ich benutze ffmpeg eigentlich ursprünglich für die automatische Aufteilung in 15 minuten Parts mittels script.
  • ja ffmpeg kann scalen, oder Avisynth etc.

    ffmpeg würde natürlich gehen :)

    Seit etlichen Monaten komplett veraltete Signatur, wie ihr sicherlich schon bemerkt habt. Habe mittlerweile mehr als 4 Projekte, weshalb die Signatur leider momentan gesprengt ist xD
    Notdürftig die Liste was aktuell läuft: Unreal | DooM 2: Project Brutality | Complex DooM (LPT) | DooM 2016 | Need For Speed III: Hot Pursuit | Dirt 4 | WRC 7
  • Anzeige

    De-M-oN schrieb:

    ja ffmpeg kann scalen, oder Avisynth etc.

    ffmpeg würde natürlich gehen :)
    Ich hoffe ich nerv dich noch nicht, aber könntest du mir evtl verraten, wie ich das mit ffmpeg mache?

    Momentan sieht mein script so aus:

    ffmpeg -i input.flv -vf scale=2560x1440:flags=lanczos -acodec copy -map 0 -segment_time 00:15:00 -f segment -reset_timestamps 1 output%%03d.mp4

    Ich nehme an, dass ich -vf scale=2560x1440:flags=lanczos mit einem anderen Befehl austauschen muss, der diese nearest neighbor Funktion benutzt. Nach kurzem Googlen würde ich meinen, dass mein Code etwa wie folgt aussehen müsste:

    ffmpeg -i input.flv -vf scale=3200x1800:flags=neighbor -acodec copy -map 0 -segment_time 00:15:00 -f segment -reset_timestamps 1 output%%03d.mp4

    Wäre das so korrekt, oder müsste ich noch etwas ändern? :)
  • Jup
    ffmpeg.org/ffmpeg-all.html#toc-Scaler-Options
    Hier die ganzen möglichen scaler.

    Ich persönlich bevorzuge MKV, insbesondere bei der Aufnahme, weil auch wenn die Datei mal unerwartet geschlossen wurde durch crash/volle Festplatte/whatever - kann MKV mit einem simplen Remux wiederhergestellt werden, während das mit MP4 ziemlich aussichtslos ist.
    Außerdem supported MKV wesentlich mehr Audioformate, wie zb auch das verlustfreie FLAC.

    Seit etlichen Monaten komplett veraltete Signatur, wie ihr sicherlich schon bemerkt habt. Habe mittlerweile mehr als 4 Projekte, weshalb die Signatur leider momentan gesprengt ist xD
    Notdürftig die Liste was aktuell läuft: Unreal | DooM 2: Project Brutality | Complex DooM (LPT) | DooM 2016 | Need For Speed III: Hot Pursuit | Dirt 4 | WRC 7
  • De-M-oN schrieb:

    Jup
    ffmpeg.org/ffmpeg-all.html#toc-Scaler-Options
    Hier die ganzen möglichen scaler.

    Ich persönlich bevorzuge MKV, insbesondere bei der Aufnahme, weil auch wenn die Datei mal unerwartet geschlossen wurde durch crash/volle Festplatte/whatever - kann MKV mit einem simplen Remux wiederhergestellt werden, während das mit MP4 ziemlich aussichtslos ist.
    Außerdem supported MKV wesentlich mehr Audioformate, wie zb auch das verlustfreie FLAC.
    Ah ok danke für den Hinweis. Also lieber von FLV zu MKV remuxen statt zu MP4?
    Und durch nearest neihgbor sollte das remuxen bzw upscalen von 900p auf 1800p auch schneller gehen? Das wäre wirklich liebensrettend. :D
  • Es ging darum, dass du direkt in mkv aufnimmst, statt in flv. Das Remuxen kannst du dann wie üblich zu mp4 machen, falls das mkv-Format Probleme beim weiterverarbeiten machen sollte.

    Ich würde übrigens davon absehen, die Videos automatisch nach genau 15 Minuten aufzuteilen, sondern da lieber manuell einen Punkt zum Schneiden suchen. Das geht nachher auch ziemlich schnell, wenn du ein bisschen Erfahrung mit hast. Sonst kann es nämlich vorkommen, dass das Video mitten im Wort oder mitten im Satz anfängt oder aufhört. Und das ist dann zum Anschauen ziemlich ungünstig, gerade, wenn man evtl. noch einen oder mehr Tage auf den nächsten Part warten muss.
    AKTUELLE PROJEKTE
    12 Uhr: Batman - Arkham Knight [BLIND]
    15 Uhr: The Outer Worlds [BLIND]
    18 Uhr: Star Wars: The Force Unleashed II

    Folge der Ziege
  • Peacemaker zockt schrieb:

    Es ging darum, dass du direkt in mkv aufnimmst, statt in flv. Das Remuxen kannst du dann wie üblich zu mp4 machen, falls das mkv-Format Probleme beim weiterverarbeiten machen sollte.

    Ich würde übrigens davon absehen, die Videos automatisch nach genau 15 Minuten aufzuteilen, sondern da lieber manuell einen Punkt zum Schneiden suchen. Das geht nachher auch ziemlich schnell, wenn du ein bisschen Erfahrung mit hast. Sonst kann es nämlich vorkommen, dass das Video mitten im Wort oder mitten im Satz anfängt oder aufhört. Und das ist dann zum Anschauen ziemlich ungünstig, gerade, wenn man evtl. noch einen oder mehr Tage auf den nächsten Part warten muss.
    Darüber habe ich auch schon nachgedacht. Eine weitere Möglichkeit wäre es, die Aufnahme während dem Stream manuell zu stoppen und zu starten, mittels Stream Deck (welches ich bereits besitze). Würde noch weniger Post Production Probleme verursachen.

    Mein Hauptproblem ist aber immernoch, dass das remuxen ewig dauert.
  • Schardon schrieb:

    Also ich habe das jetzt 3200x1800 mit neighbor ausprobiert und das dauert sogar noch länger.
    Das liegt aber mehr an der höheren Auflösung als 1440p und weniger am Scaler selber.
    Ein interpolationsscaler würde NOCH länger brauchen.

    Wenn du bereit wärest Avisynth zu nutzen (ffmpeg kann auch avisynth scripte öffnen, oder gibt ja auch MeGUI sonst)
    und du bereit wärest 15 € in die Hand zu nehmen, dann könntest du deine H.264 Quellen via GPU decodieren (Nvidia Grafikkarte vorausgesetzt) und die Grafikkarte könnte dir auch das Upscaling dann machen. Das geht dann mega super duper schnell.
    Die GPU wird allerdings kein nearest neighbor anbieten. Aber auch für einen Interpolierer ist eine x2 Skalierung am einfachsten umzusetzen von der Qualität her.
    Würde aber 3200x1800 ruhig verwenden, weil Youtube da nochmal 5 Mbit mehr Bitrate gibt als bei 2560x1440.

    rationalqm.us/dgdecnv/dgdecnv.html

    Seit etlichen Monaten komplett veraltete Signatur, wie ihr sicherlich schon bemerkt habt. Habe mittlerweile mehr als 4 Projekte, weshalb die Signatur leider momentan gesprengt ist xD
    Notdürftig die Liste was aktuell läuft: Unreal | DooM 2: Project Brutality | Complex DooM (LPT) | DooM 2016 | Need For Speed III: Hot Pursuit | Dirt 4 | WRC 7
  • De-M-oN schrieb:

    Schardon schrieb:

    Also ich habe das jetzt 3200x1800 mit neighbor ausprobiert und das dauert sogar noch länger.
    Das liegt aber mehr an der höheren Auflösung als 1440p und weniger am Scaler selber.Ein interpolationsscaler würde NOCH länger brauchen.

    Wenn du bereit wärest Avisynth zu nutzen (ffmpeg kann auch avisynth scripte öffnen, oder gibt ja auch MeGUI sonst)
    und du bereit wärest 15 € in die Hand zu nehmen, dann könntest du deine H.264 Quellen via GPU decodieren (Nvidia Grafikkarte vorausgesetzt) und die Grafikkarte könnte dir auch das Upscaling dann machen. Das geht dann mega super duper schnell.
    Die GPU wird allerdings kein nearest neighbor anbieten. Aber auch für einen Interpolierer ist eine x2 Skalierung am einfachsten umzusetzen von der Qualität her.
    Würde aber 3200x1800 ruhig verwenden, weil Youtube da nochmal 5 Mbit mehr Bitrate gibt als bei 2560x1440.

    rationalqm.us/dgdecnv/dgdecnv.html
    Jo 15 € sind kein Problem. Hab Avisynth jetzt mal runtergeladen. Wenn ich das richtig verstehe müsste ich den Herrschaften 15 € donaten, bekomme dann eine ID mit der ich die DLLs runterladen kann und dann in Avisynth einbinden kann. Damit kann ich dann meine MKV files die aus OBS rauskommen in mp4 remuxen und gleichzeitig mit der Graka upscalen?
  • Warum remuxen? Nimm doch einfach deine MKV Quellen.
    Das Splitten kannste auch mit dem avisynth script machen. Mit Trim.
    Einfach mehrere Scripte mit Trim.

    Oder später mit MKVToolnixGUI splitten ginge auch, wenn du es komfortabler willst als mehrere Scripte ^^

    Hier ein Beispielscript:

    Quellcode

    1. LoadPlugin("D:\Programme\MeGUI\tools\dgindexnv\DGDecodeNV.dll")
    2. DGSource("E:\Quake Champions - Quickplay\Turret goes crazy with quad-002.dgi", rw=2800, rh=1750)

    Die dgi Datei bekommst du, wenn du die Videodatei in dem dgdec beigelegtem Programm erstellen lässt. Einfach via Open Project und dann erstellen lassen.

    Seit etlichen Monaten komplett veraltete Signatur, wie ihr sicherlich schon bemerkt habt. Habe mittlerweile mehr als 4 Projekte, weshalb die Signatur leider momentan gesprengt ist xD
    Notdürftig die Liste was aktuell läuft: Unreal | DooM 2: Project Brutality | Complex DooM (LPT) | DooM 2016 | Need For Speed III: Hot Pursuit | Dirt 4 | WRC 7
  • De-M-oN schrieb:

    Warum remuxen? Nimm doch einfach deine MKV Quellen.
    Das Splitten kannste auch mit dem avisynth script machen. Mit Trim.
    Einfach mehrere Scripte mit Trim.

    Oder später mit MKVToolnixGUI splitten ginge auch, wenn du es komfortabler willst als mehrere Scripte ^^

    Hier ein Beispielscript:

    Quellcode

    1. LoadPlugin("D:\Programme\MeGUI\tools\dgindexnv\DGDecodeNV.dll")
    2. DGSource("E:\Quake Champions - Quickplay\Turret goes crazy with quad-002.dgi", rw=2800, rh=1750)
    Die dgi Datei bekommst du, wenn du die Videodatei in dem dgdec beigelegtem Programm erstellen lässt. Einfach via Open Project und dann erstellen lassen.
    Sorry ich bin in der ganzen Materie noch nicht wirklich drin - absolutes Neuland. :D

    Wie wäre denn der genaue Vorgang nachdem ich diese DGDecode Dinge bekommen habe?

    MKV kommt aus OBS raus -> und hier steh ich eigentlich auch schon an :D Ich hab mit weder mit Avisynth noch mit MeGUI jemals gearbeitet. Ffmpeg ist eigentlich auch komplett neu für mich und ich hab mir das batchscript nur mit google zusammengebastelt.

    Könntest du mir, wenn du so nett wärst, evtl alle Arbeitsschritte in chronologischer Reihenfolge aufzählen bzw nen Mini-Guide machen, wie das funktioniert?
    Was müsste ich machen nachdem ich meine MKV aus OBS rausbekommen hab bis ich dann am Ende eine 3200x1800 MKV habe für YT?
  • Ich werde dir ein kleines Video aufnehmen.

    Seit etlichen Monaten komplett veraltete Signatur, wie ihr sicherlich schon bemerkt habt. Habe mittlerweile mehr als 4 Projekte, weshalb die Signatur leider momentan gesprengt ist xD
    Notdürftig die Liste was aktuell läuft: Unreal | DooM 2: Project Brutality | Complex DooM (LPT) | DooM 2016 | Need For Speed III: Hot Pursuit | Dirt 4 | WRC 7


  • Ergänzung:
    Scheint mir so das dgindex aber nur vorhandene frames zählt und gedropte nicht (oder was auch immer der Grund dafür ist). Jedenfalls waren etwas weniger vorhanden beim Einlesen als im Videoplayer

    Videoplayer: 87460
    DGIndex: 87289

    Keine große Differenz. Wenn es aber ein sehr akkurater Schnitt sein soll, relevant. Dann vllt für's Raussuchen der Nummern das offene Avisynth Script benutzen statt den Player.

    @Peacemaker zockt

    Bei dieser Zeitmarke


    kannst du dann mal sehen wie schnell das indexieren und extrahieren des Audios mit DGDecodeNV läuft.

    Seit etlichen Monaten komplett veraltete Signatur, wie ihr sicherlich schon bemerkt habt. Habe mittlerweile mehr als 4 Projekte, weshalb die Signatur leider momentan gesprengt ist xD
    Notdürftig die Liste was aktuell läuft: Unreal | DooM 2: Project Brutality | Complex DooM (LPT) | DooM 2016 | Need For Speed III: Hot Pursuit | Dirt 4 | WRC 7
  • De-M-oN schrieb:



    Ergänzung:
    Scheint mir so das dgindex aber nur vorhandene frames zählt und gedropte nicht (oder was auch immer der Grund dafür ist). Jedenfalls waren etwas weniger vorhanden beim Einlesen als im Videoplayer

    Videoplayer: 87460
    DGIndex: 87289

    Keine große Differenz. Wenn es aber ein sehr akkurater Schnitt sein soll, relevant. Dann vllt für's Raussuchen der Nummern das offene Avisynth Script benutzen statt den Player.

    @Peacemaker zockt

    Bei dieser Zeitmarke


    kannst du dann mal sehen wie schnell das indexieren und extrahieren des Audios mit DGDecodeNV läuft.
    Vielen Dank! :D

    Ich war gerade in einer Aufnahme bzw am streamen und werd mir das dann morgen genau ansehen. :)