AVC aus mp4 demuxen?

  • Für meine Automatisation in StaxRip will ich noch .mp4 integrieren. Jedoch finde ich keine Optionen z.B. in mp4box, Video aus .mp4 zu demuxen, ohne den Umweg über mkvtoolnix gehen zu müssen.

    Es soll dabei möglichst wenige Schritte brauchen und natürlich auch Audio demuxen können. Den Umweg über mkvtoolnix würde ich lieber außen vor lassen, da ein Schritt mehr nur Zeitvergeudung ist.
    Natürlich ist CLI-Eingabe nötig. Danke.

  • Avidemux sollte ich mir später mal ansehen.

    Wenn MP4Box funktionieren würde, wärs am besten. :)
    Ich habs mal ausprobiert. Folgende Kommandozeile:

    Code
    mp4box "source" -raw TrackID:1 oder
    mp4box "source" -raw "source.264"

    Compressor unknown.

    Anscheinend gehts mit AVC nicht, obwohl der mir auch aac nicht demuxen will.
    Dieses -raw stand noch nicht mal in meiner Dokumentation. oO Ich musste das erst im Internet suchen.

  • Ah, mit mp4creator gehts. Passt wunderbar, mit mp4box wärs noch besser, da ich mit dem standardmäßig muxe (und auch StaxRip) und somit nur ein Programm anstatt von zweien nötig wäre, aber das geht auch. Es ist ja nicht groß. Avidemux hätte mich ziemlich gestört, da die Datei knappe 10 MB groß ist und das nur fürs Demuxen wäre übertrieben. :)

    Danke dafür. Nebenbei, womit extrahiert man AVC eigentlich aus .ts (außer mencoder)?

  • Zitat

    Danke dafür. Nebenbei, womit extrahiert man AVC eigentlich aus .ts (außer mencoder)?


    per ffmpeg :)
    oder per DirectShowFilter
    oder irgendwie anders :)

    Gibt meines Wissens nach aber keine kostenlose Lösung dafür, die Rücksicht auf eventuelle Fehler im Transportstream nimmt, d.h. hat der Stream einen Fehler kann es zu Problemen kommen.

  • %1 ist der komplette Dateiname mit pfad (z.B.: "D:\Meine Videos\der Film.mp4")
    (ich habe den Befehl aus meiner m4bx-demx.bat kopiert)
    (ich bastel mir immer gerne Drop.bat Dateien fürs schnellere Arbeiten)

    -tmp X:\temp ...ist interressant da ich als eingeschrenkter Benutzer keine Schreibrechte in dem von mp4box vorgegebenen Standerttempverzeichnis habe. (kann u.U. ein Geschwindigkeitsvorteil bringen (2 Festplatten))

  • HQ-LQ: Sicher das das mit AVC geht.
    Da Deinorius meinte mp4box -raw 1 c:\test.264 liefert ein ' Compressor unknown.' ist mir unklar inwieweit -tmp daran etwas ändern sollte,...

    Zitat

    -tmp dir: specifies where the temporary file(s) used by MP4Box shall be created. This is quite usefull on Windows systems where user may not has the rights to create temporary files. By default, MP4Box uses the OS temporary file handling as provided in C stdio.


    Quelle: http://gpac.sourceforge.net/doc_mp4box.php

    Cu Selur

  • Es funktioniert tatsächlich. oO
    Wobei ich den -tmp Befehl eh nicht dafür brauche. Mir ist aufgefallen, dass, wenn ich einen Pfad und Dateinamen für den RAW Track angebe, mir wieder eine Fehlermeldung kommt. Es wird nicht demuxt.

    Nehme ich einfach nur: mp4box "source_file" -raw 1
    Dann gehts ohne Probleme. Ich muss die Kommandozeile nur noch so anpassen, dass DGAVCIndex die Datei automatisch öffnet, da hinten noch ein track1 hinzugefügt wird. Ob das StaxRip bei der Automatisierung zu sehr hindern könnte, wird sich erst zeigen, sobald ich mehr getestet habe und DGAVCIndex endlich CLI unterstützt.

  • Da ich persönlich z.Z. ziemlich viel mit .mp4 arbeite,
    kann ich sagen es funktioniert,
    da ich es ja getestet habe...

    [edit:2]
    Selur
    mp4box -raw 1 c:\test.264
    Da MP4Box automatisch den neuen Dateinamen erzeugt, ist c:\test.264 unnötig
    und führt sogar zu den Fehler Compressor unknown.

    -tmp X:\temp ist für das Auslagern des Zwischenschrittes da und hat keinen Einfluss auf das Endergebnis.

    Ich kenne den MP4Box-Standard-Temp-Pfad nicht.
    Aber wenn man nicht als Admin arbeitet,
    kann der MP4Box-Standard-Temp-Pfad Probleme bereiten.

    (Bei mir hatte es Probleme bereitet.)
    (siehe --> RAW mux problem)

    [edit:1]
    ich habe gerade getestet, dass MP4Box beim Demuxxen den Temp-Pfad ignoriert
    es funktioniert auch ohne (als engeschrenkter Benutzer)
    es ist halt noch ein Überbleibsel aus mein alten Mux/Demux-Script...

  • Sag mal, sehe ich das richtig, dass du dir .bat Dateien erstellt hast, wo du einfach nur die Datei auf die .bat ziehen musst und die .bat wird ausgeführt?
    Das wäre mir derzeit sehr hilfreich. Ich arbeite derzeit beim Muxen mit .bat Dateien, was schon mal schneller geht als die Variante mit GUI.
    Wenn es aber eine Möglichkeit gibt, die .bat so zu modifizieren, dass automatisch die nächst höhere Zahl genommen wird (mit drei Quelldateien), dann wäre ich höchstinteressiert zu hören, wie man das machen kann. :) Ich bitte drum.

  • jo, ich habe ziehmlich viele .bat/.cmd für fast jedes problem...

    Wenn es aber eine Möglichkeit gibt, die .bat so zu modifizieren, dass automatisch die nächst höhere Zahl genommen wird (mit drei Quelldateien), dann wäre ich höchstinteressiert zu hören, wie man das machen kann. Ich bitte drum.


    Was willst du denn genau machen?
    Veröffendliche doch einfach mal dein Script...

    Wenn du mehrere Dateien verarbeiten willst,
    dann wird das ganze warscheinlich wieder
    mit einer komplizierten FOR-Schleife ausarten... :P

  • Also die .bat schaut so aus und ist komplett für eine Folge zurechtgeschrieben. Ich müsste halt nach jedem Muxen 5 Zahlen auf die nächst höhere Ändern und wenn sich das auch Automatisieren ließe, wäre das hilfreich. (Obwohl ich jetzt nicht weiß, ob die Audiotracks dann auch alle synchron sind, aber das ist eine andere Geschichte.)
    Ich hab die Zahlen, die man ändern müsste mit %Zahl% markiert.

    Code
    mkvmerge.exe" -o "Ziel-Datei %01%.mkv"  --language 3:eng --track-name "3:Styled Sub" --default-track 3 -s 3 -D -A "Source-Datei1 %01%.mkv" --language 1:jpn --track-name "1:MPEG-4 AVC" --default-track 1 --display-dimensions 1:853x480 -d 1 -A -S "Video-Datei %01%.mkv" --language 2:jpn --sync 2:0000 --track-name "2:Stereo (HE-AAC)" --default-track 2 --language 3:eng --sync 3:0000 --track-name "3:Stereo (HE-AAC)" -a 2,3 -D -S "Source-Datei2 %01%.mkv" --track-order 1:1,2:2,2:3,0:3 --title "Titel - Episode %1%"

    So schauts derzeit aus.

  • also was ich vorschladen könnte, währe eine FOR-Schleife,
    die das Arbeitsverzeichnis (gefiltert) nach Dateien durchsucht
    z.B. *.ogm und die alle dann einzeln mit mkvmerge verarbeiten lässt...

    ich bräuchte einige Beispielnahmen und ein Beispiel wie die Videos aufgebaut sind
    [z.B. 'der film - 01 - da passiert was.ogm'
    1xvideo(eng) 2x ton(de/eng) 5x untertietel(de/eng/kor/jap/esp)]

    und wie es fertig aussehen soll
    [z.B. 'der film - 01 - da passiert was.mkv'
    1xvideo(eng) 2x ton(eng/de) 3x untertietel(jap/eng/de)]

    vielleicht inspiriert dich der Artikel (Post 1-15 und folgende)
    p.s. katjarella ist ziehmlich gut wenn es ums Scripten geht...

  • Den anderen Thread werd ich mir bei Gelegenheit mal durchlesen.

    Ich probier mal meinen Versuch zu erklären.

    Source-Datei1 (AVC, AAC, ASS) in mkvtoolnix
    Video-Datei (AVC neu komprimiert) in mkvtoolnix
    Source-Datei2 (AVC, AAC, AAC, SRT) in mkvtoolnix

    SD1 - AVC und AAC werden deaktiviert. ASS wird nach unten nach Audio platziert und getaggt.
    VD - wird getaggt.
    SD2 - AVC und SRT werden deaktiviert. AAC wird getaggt.

    Reicht das? :D

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!