Encoding-Talk

  • Zweites Profile erstellen, gleicher hotkey und zack haste 2 spuren und kannst custom ffmpeg ausgabe machen (avi utvideo oder whatever)


    Aber ganz ehrlich 99,99% der youtube zuschauer können eh keinen Unterschied zu lossless aufnahme und lossy erkennen.
    also nimm qp=1 und sei glücklich.
    Kannst sogar crf 15 nehmen und es sieht keine sau. ;) höchstens de-m-on (der schaut sich jedes video in vollbild frame für frame an - sorry :D)

  • Hallo liebe Leute, hab mal wieder ne Frage bezüglich Megui encoding :saint:


    Ich versuche grad mehrere Serien und Filme in h.265 umzuwandeln, da ich kaum noch Platz auf meiner Platte hab.
    Das Problem dabei ist, wenn ich mit dem OneClick Encoder nicht nur eine einzelne Datei, sondern einen ganzen Ordner mit mehreren Dateien auswähle (für den Batch Prozess) wird immer nur eine Tonspur encodiert und in die fertige Datei eingefügt (komischerweise natürlich immer die "falsche", also die Englische).


    Nun habe ich allerdings gelesen, dass Avisynth nur einen Audiostream gleichzeitig verarbeiten kann. Wenn ja, gäbe es dann die Möglichkeit über das Avisynth Profil (dort wo zb <Deinterlace> <Crop> usw. drinsteht) einen Befehl einzugeben, dass Audio Stream 1 oder Audio Stream 2 encodiert werden soll?


    Kurzfassung: Ich will dass Megui auf jedenfall die deutsche Tonspur encodiert und in der neuen h.265 Datei einfügt. :D

  • @Archimondro
    Wenn du nur die Spur raus haben willst, würde ich zum muxen raten und die Spur einfach entfernen die du nicht haben willst.


    Wenn du neu encodieren willst, würde ich Audio nicht neu encoden, sondern demuxen. Behältst dann nur die, die du brauchst.
    Und dann nur den Videostream neu encodieren.


    Mach auf keinen Fall mehr Aufwand als nötig.


    Als was liegt denn das Material vor? Vllt. hilft eine Mediainfo da.

  • Hey, danke für die schnelle Antwort.


    Die Audiospuren würde ich doch ganz gerne neu encodieren, da zb. bei Herr der Ringe die Audiospur alleine 3 GB auf die Waage bringt. Bei einem neu encodierten h.265 Video, das von über 60 GB auf 6 GB geschrumpft ist, machen die 3gb des Audiofiles hald doch bissl was aus und ich höre absolut keinen Unterschied zwischen der alten Tonspur und der neuen.


    Hier die Mediainfo des Rohmaterials:



    Zielformat wäre für die audiospur "Vorbis high (Q=5)" und alles im .mkv Container.

  • Behalten ist ist einfacher als den Kram in Stereo zu bringen ^^


    Also... am besten gehst du bei diesem Video wie folgt vor:

    • Demuxen mit MKVExtractGUI
      Das Tool findeste im Internet und muss lediglich im MKVMerge Ordner rein. z.B. bei MeGUI unter Tools\mkvmerge\


      Das startest du und packst dein Video da rein. Dann extrahierst du NUR die Audio Spur die du haben willst und die Untertitel Datei.
      Die wirst du beide brauchen, da du gewiss kein Elbisch kannst ^^

    • DTS Audio in Vorbis umwandeln ohne Änderung der Kanäle
      Dazu nutzt du am besten FFmpeg. -> https://ffmpeg.zeranoe.com/builds/


      Wenn du FFmpeg hast, entpackst du die ZIP Datei.


      Danach erstellst du eine Batchdatei mit folgenden Inhalt:

      Code: DTS2OGV.BAT
      @echo off
      set _ffmpeg_="G:\Lets Play Aufnahmen\MeGUI\tools\ffmpeg\ffmpeg.exe"
      set _input_=%1
      for /f "useback tokens=*" %%a in ('%_input_%') do set _input_=%%~a
      %_ffmpeg_% -i "%_input_%" -c:a libvorbis -qscale:a 5 "%_input_:~0,-4%.ogv"


      Ändere in Zeile 2 der Batch Datei den Pfad zu deiner FFmpeg.exe Datei ab.
      Danach kannst du die DTS Datei einfach auf die Batch Datei ziehen und die DTS Files werden in OGV mit der Qualitätsstufe 5 encodiert.
      Die Qualitätsstufe kannst du in Zeile 5 auch ändern unter dem Parameter -qscale

    • Video neu Encoden mit H265
      Um das Video neu in H265 zu encoden würde an sich ebenfalls FFmpeg eignen.
      Das ist dir aber nun überlassen.


      Du kannst jetzt in MeGUI das Video neu encodieren via AVISynth und dem H265 Encoder. Was natürlich dauern kann.
      Oder du nutzt FFmpeg dazu.


      Mit ffmpeg geht es wie folgt:


      Code: MP4&MKV2MKV_h265.BAT
      @echo off
      set _ffmpeg_="G:\Lets Play Aufnahmen\MeGUI\tools\ffmpeg\ffmpeg.exe"
      set _input_=%1
      for /f "useback tokens=*" %%a in ('%_input_%') do set _input_=%%~a
      %_ffmpeg_% -i "%_input_%" -c:v libx265 -preset medium -crf 23 -an "%_input_:~0,-4%.mkv"

      Bedenke das es mit FFmpeg gewiss schneller geht, als über AVISynth und Co. ;D
      Zumal du auch keine Filter brauchst.

    • Mit mkvmerge wieder alles zusammen schmeißen
      Halt einfach alles zusammensetzen was du mit fabriziert hast.



    H265 + Vorbis + Subtitle in MKV zusamm in FFmpeg sieht so aus:
    (Das wäre ein Komplettpaket mit allen)

    Code: ALL2MKV_h265_vorbis.bat
    @echo off
    set _ffmpeg_="G:\Lets Play Aufnahmen\MeGUI\tools\ffmpeg\ffmpeg.exe"
    set _input_=%1
    for /f "useback tokens=*" %%a in ('%_input_%') do set _input_=%%~a
    %_ffmpeg_% -i "%_input_%" -c:v libx265 -preset medium -crf 23 -c:a libvorbis -qscale:a 5 -c:s copy -map 0:0 -map 0:1 -map 0:3 "%_input_:~0,-4%.mkv"

    mit -map kannst du die Streams selektieren die du haben willst und später im mkv Container wieder rein sollen.


    Und nicht vergessen immer jeweils die 2te Zeile abzuändern zu deinem FFmpeg.exe Pfad.

  • Langsam komm ich mir blöd vor, hab schon wieder ne Frage :D


    Bei jedem Video dass ich Encodiere und Original eine (oder mehrere) DTS Tonspur hat, ist im encodierten Video die Tonspur nicht mehr synchron.


    Bei bis jetzt allen anderen Videos welche FLAC, AC3, usw als Audiocodec hatten, war die Tonspur richtig. Nur bei DTS scheint es dieses Problem zu geben. Selbst wenn ich die Tonspuren nicht neu encodiere tritt das Problem auf.


    Ich Encode mit Megui, x.265 und die Audiospur wird in Opus konvertiert.

  • Dann hast du entweder falsch Audio verarbeitet oder encodiert oder falsch Video verarbeitet oder encodiert. Das ersehe ich grad nicht.


    DTS hat nix ungewöhnliches. Nur viele Codecs können damit nix anfangen. Im Grunde ist es Ratsam es erst in PCM WAV 16Bit little Endian umzuwandeln. Mit PCM WAV ist es dann für andere Codecs viel leichter und besser zu arbeiten.

  • DTS hat nix ungewöhnliches

    Ich fand es einfach merkwürdig, dass nur bei DTS dieses Problem auftritt.


    Dann hast du entweder falsch Audio verarbeitet oder encodiert oder falsch Video verarbeitet oder encodiert

    Inwiefern falsch verarbeitet/encodiert? Ich füge das Video mit dem Oneclick Encoder von Megui in die Queue und starte, oder arbeite mit dem von Dir weiter oben beschriebenen Weg mit der Batchdatei.

  • Ich fand es einfach merkwürdig, dass nur bei DTS dieses Problem auftritt.

    DTS wird meistens gerne in PCM WAV gewandelt um halt nachfolgende Probleme die sich im Zusammenhang mit dem Big Endian und dem decodieren des Codecs entstehen.


    Problem sind da z.B.:
    - Zeitverschiebungen, aufgrund das DTS falsch verarbeitet wird
    - Abbruch von Encoding, aufgrund das DTS für den jeweiligen Encoder nicht verstanden wird.


    Lösung:
    DTS in eine unkomprimierte Form zu bringen. Das heißt DTS -> PCM


    Und PCM lässt sich erheblich besser und leichter verarbeiten. Brauchst halt nur ein sehr guten DTS -> PCM Wandler. Und der ist bei FFmpeg recht gut eigentlich.


    Inwiefern falsch verarbeitet/encodiert? Ich füge das Video mit dem Oneclick Encoder von Megui in die Queue und starte, oder arbeite mit dem von Dir weiter oben beschriebenen Weg mit der Batchdatei.

    Diese Oneclick Variante ist nicht grad toll, wenn man es falsch nutzen sollte.


    Die Hauptsächliche Frage ist aber:
    Wie sieht denn dein Skript aus das du in MeGUI nutzt?
    Und:
    Wie genau gehst du beim Oneclick Encoder vor? Sprich: Schreib mal Stichpunktartig dein genauen Workflow auf.

  • Schreib mal Stichpunktartig dein genauen Workflow auf

    1. Auf onelick Button klicken (das neue Fenster geht auf)
    2. Im neuen Fenster unter der sparte "Video" das Video auswählen und kurz warten bis es geladen ist.
    3. Schauen ob die gewählte Tonspur deutsch ist
    4. "Go!" Button klicken und dann fängt er automatisch an zu encoden.


    Das ist eigentlich alles was ich mache.


    Lösung:
    DTS in eine unkomprimierte Form zu bringen. Das heißt DTS -> PCM

    Das werde ich gerne mal versuchen, danke schonmal.


    Wie sieht denn dein Skript aus das du in MeGUI nutzt?

    Steh ein wenig auf dem Schlauch. Welches Skript? Ausser dass ich beim x.265 Encoder die CL Parameter "--numa-pools 24,24 --pmode --bframes 6" eingetragen habe, wurde sonst nichts in der Richtung verändert.
    Bei Avisynth steht nur das Standard Zeug drin: "<input> <deinterlace> <crop> <resize> <denoise>"

  • Ausser dass ich beim x.265 Encoder die CL Parameter "--numa-pools 24,24 --pmode --bframes 6" eingetragen habe, wurde sonst nichts in der Richtung verändert.

    Erkläre mir mal warum du das so eingetragen hast. ^^ Du musst dir ja dabei was gedacht haben ^^


    Bei Avisynth steht nur das Standard Zeug drin: "<input> <deinterlace> <crop> <resize> <denoise>"

    Genau eben diesen Skript. MeGUI wird auf deinem Rechner temporär ein AVISynth Skript erstellt haben. Genau dessen Inhalt wird gesucht. ^^
    Der ist relevant was mit deinem Video passiert.


    Und sofern du Audio auch bei Oneclick mit einfügst wird Audio unnötigerweise auch noch mal durchgejagt. Wobei ich nicht weiß wie DTS hier mit FFMS2 arbeitet. Hatte damit nämlich auch schon Probleme gehabt.

  • Erkläre mir mal warum du das so eingetragen hast. Du musst dir ja dabei was gedacht haben

    --Numa-pools 24,24 ermöglicht es eine bstimmte Anzahl Threads den Nodes zuzuordnen. Ich habe dadurch tatsächlich ein paar Frames mehr pro Sekunde und die Last wird besser verteilt, wenn ich ein Video encode.


    --pmode = Parallel mode decision Soll bei der Parallelisierung helfen und tut das auch ganz gut.


    --bframes 6 Hier wäre die Idee eine möglichst starke Kompression zu erreichen und soweit ich weiss, spielen da die Bframes eine wichtige Rolle.





    temporär ein AVISynth Skript erstellt

    Wenn das temporär ist, werd ich das wohl im richtigen Moment abfangen müssen ?(


    Oder bleibt das bestehen solange das Video encodiert? Kann leider im Moment keinen Testlauf machen, aber morgen Abend nach der Arbeit.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!