MP4Box merging > Output Audio asynchron

  • hallo,

    ich erzeuge mit ffmpeg mp4-dateien für den ipod aus einer avi-quelldatei!
    das ergebnis funktioniert einwandfrei.

    wenn ich allerdings einzelnen mp4-dateien mit mp4box zusammenmerge, ist im endergebnis das ton asynchron.
    ist das ein bekanntes problem. ich habe schon fast alle parameter ausprobiert.

    gibt es eine gute alternative zu mp4box?
    für avifiles aus dem gleichen datenbestand verwende ich "avimerge", das funktioniert einwandfrei, video und ton sind synchron.

    hier mein verwendeter code zum mergen. mp4box-version 0.4.2

    Code
    MP4Box -ocr -fps 25 -cat input1.mp4 -cat ....mp4 output.mp4

    danke und grüße

    alex

  • Das "-ocr" kannst du weg lassen, bringt nur etwas wenn du die Datei hinten und zum Beispiel mit DSS streamen willst.

    Was gibt "MP4Box -info deineDateien.mp4" aus? Ist bei einzelnen MP4 Dateien der Audio Stream kürzer als der Video Stream? Wenn ja könnte das der Grund für deine Probleme sein.
    Eine Lösung für dein Problem, sieht man von der Verwendung von BIFS ab, kenne ich nicht. Da aber kaum ein Player den BIFS Track beachtet würde dir das auch nichts bringen.

  • danke für die message.

    das ausbleiben des erwünschten ergebnisses mit der "ocr"-funktion hab ich auch schon bemerkt.
    die audiospur ist tatsächlich kürzer!
    führt das automatisch zu einem problem?
    sollten sich audio und video des nächsten files beim merfen nicht am ende des längsten tracks der vorhergegangenen videos richten?

    hättest du ein alternativ-tool für mp4box im gepäck?

    könnte die zu kurze audiospur am ffmpeg-output liegen?

  • danke für die message.
    die audiospur ist tatsächlich kürzer!
    führt das automatisch zu einem problem?
    sollten sich audio und video des nächsten files beim merfen nicht am ende des längsten tracks der vorhergegangenen videos richten?


    Wie genau das von MP4box gehandhabt wird bin ich mir auch nicht sicher. Ich vermute aber das es den Video und Audio Stream einfach hintereinander packt.

    Zitat von sadderstar


    hättest du ein alternativ-tool für mp4box im gepäck?


    Mir ist kein Alternative zu MP4Box bekannt.

    Zitat von sadderstar


    könnte die zu kurze audiospur am ffmpeg-output liegen?


    Keine Ahnung.

    Warum fügst du die AVI Dateien nicht zusammen und erstellst daraus eine MP4 Datei. Da die zusammengefügten AVI Dateien nach deiner Aussage Synchron sind.

  • ich erzeuge parallel mehrere outputfiles aus einem quellfile, die dann mit anderen outputfiles aneinandergebaut werden.
    deshalb kann ich nicht erst das avi zusammensetzen und dann ein mp4 erzeugen!
    das hab ich aber mal probiert und hatte das gleiche problem.
    das avi-files ist super (merging mit avimerge), wenn ich daraus aber ein mp4 erzeuge ist der ton asynchron.

    die erzeugten mp4-files haben alle immer eine minimal kürzere tonspur.

    je mehr mp4s ich dann aneinanderklebe, desto asynchroner wird das ganze!
    ich das ggf. wirklich ein problem beim erzeugen der mp4-dateien?

    gibt es in ffmpeg die möglichkeit das zu steuern, liegt der fehler ggf. tatsächlich schon in der erzeugung?

  • Zitat

    ich das ggf. wirklich ein problem beim erzeugen der mp4-dateien?


    Denke das ist ein Problem wie mit dem Audiodelay umgegangen wird und nicht mit mp4 an sich.

    Zitat

    gibt es in ffmpeg die möglichkeit das zu steuern, liegt der fehler ggf. tatsächlich schon in der erzeugung?


    Keine Ahnung, kann aber durchaus sein, dass es an ffmpeg liegt.

    Cu Selur

  • ffmpeg kann von .avi und .264 quelldateien keine korrekten .mp4 dateien erstellen!

    divx/xvid/asp .avi dateien kann man auch (und sollte man auch nur) mit mp4box in korrekte .mp4 dateien remuxen

    Ich weiß, daß ich nichts weiß (Sokrates)

  • danke!

    weißt du, was genau nicht korrekt funktioniert oder hast du eine quelle zum nachlesen?

    die timestamps sind nicht korrekt, die b-frame avi hacks werden nicht gefixt und eventuell gib es auch noch den fourcc bug

    nochmal: mp4box (und der 3ivx muxer) ist die EINZIGE möglichkeit um von divx/xvid avi dateien eine 100% korrekte mp4 datei zu erstellen

    Ich weiß, daß ich nichts weiß (Sokrates)

  • ok, ist das dann der richtige weg?
    ich habe mit ffmpeg ein avi (h264/aac) kodiert und will es nun zu mp4 umwandeln.

    Code
    MP4Box -aviraw video input.avi (es wird input_video.h264 erstellt)
    MP4Box -aviraw audio input.avi (es wird input_audio.raw erstellt)
    
    
    input_audio.raw in input_audio.aac umbenennen
    
    
    MP4Box -new -add input_video.h264 -add input_audio.aac output.mp4
  • Bei dem RAW H.264 Video Stream mußt du noch die Framerate angeben und anstelle von "-new" kannst du auch auch "-out" verwenden. Der einzige Unterschied zwischen "-new" und "-out" ist das wenn du out verwendest, und eine Datei mit dem angegebenen Namen existiert schon, werden die Audio/Video Streams dazu gemuxt. Bei new wird die vorhandene Datei durch die neue ersetzt wenn ich das richtig in Erinnerung habe.

    Code
    MP4Box -add input_video.h264[B]:fps=25[/B] -add input_audio.aac -out output.mp4
  • Code
    ffmpeg.exe -i "c:\pfad zu\input.file" -y -vcodec h264 -bf 3 -bpyramid 1 output.mp4

    mit der commandline kannst du deinen input direkt in ffmpeg mit x264 nach .mp4 enkodieren

    Ich weiß, daß ich nichts weiß (Sokrates)

Jetzt mitmachen!

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