MKV (AVC, AC3+dts) -> AVI (XviD, AC3) mit ffmpeg: Kein Ton

  • Hallo zusammen,

    ich hab ein ca. 7 GB großes mkv-Video, welches ich mittels ffmpeg auf meinem Ubuntu-System in ein ca. 1.4 GB großes Video konvertieren möchte, damit ich es auf meinem MediaCenter (ShowCenter 200) abspielen kann.

    Das Video hat 2 Audio-Spuren (ger & eng), welche ich behalten möchte. Das konvertieren funktioniert soweit eigentlich ganz gut, leider kann ich beim abspielen mittels vlc keinen Ton hören obwohl beide Audiospuren richtig angezeigt werden.
    Getestet hab ich das Video auf 3 unterschiedlichen Rechnern (2 x Ubuntu, 1 x Windows). Überall das selbe Ergebniss -> Video passt, kein Ton.

    Mittlerweile bin ich draufgekommen, dass beim abspielen auf meinem ShowCenter der Ton sogar ausgegeben wird. Leider ist dieser ziemlich asynchron.
    Da mir noch die Zeit zum genaueren analysieren gefehlt hat, kann ich aber noch nicht sagen, ob der Ton lediglich verschoben ist, oder ob der Versatz mit der Zeit zunimmt...

    Meine ffmpeg-Einstellung:

    Zitat

    ffmpeg -i test.mkv -vcodec libxvid -b 1300kb -t 00:10:00 -acodec ac3 -ab 192kb test.avi -acodec ac3 -ab 192kb -newaudio

    Die Ausgaben von ffmpeg:

    Das Tool MediaInfo sagt mit folgendes über mein erhaltenes xvid-Video (test.avi):

    Ich hab auch schon mehrere Audio-Codecs versucht (libfaac, libmp3lame, copy), welche aber allesamt mittels vlc keinen Ton lieferten.

    Meine Fragen sind jetzt also folgende:

    1. Warum kann vlc hier keinen Ton wiedergeben? Fehlender Codec (glaub ich eigentlich nicht, da auch mp3 usw. nicht funktioniert hat)?

    2. Was kann ich gegen die asynchonität machen? Hierfür müsstet ihr wahrscheinlich wissen, ob der Versatz konstant oder ansteigend ist. Sobald ich genaueres weiß, werd ich es hier natürlich bekanntgeben...

    3. Gibt es vielleicht eine "leicht" zu handhabende Alternative zu ffmpeg (kann auch für Windows sein), die mit mehreren Audio-Spuren umgehen kann (das Linux-Tool avidemux kommt mit mehreren Spuren zB. nicht wirklich zurecht & VirtualDubMod kann mein mkv-File erst gar nicht richtig laden...)?

    Am liebsten wäre mir weiterhin die Benutzung von ffmpeg unter Ubuntu, da ich nichts zusätzlich installieren muss, es mit so ziemlich jedem format umgehen kann und bisher immer ganz brauchbare Ergebnisse geliefert hat...

    danke, mfg

    mik

    ps.: Ich bin mir nicht ganz sicher, ob ich hier im richtigen Forum bin. Sollte dies nicht so sein würde ich einen Mod bitten, den Thread einfach zu verschieben...

    pps.: Den selben Thread hab ich auch im englisch-sprachigen doom9-Forum gepostet. Sollte dies nicht erwünscht sein, einfach bescheid sagen...

  • Ist zwar ganz nett, dass du die MediaInfo-Analyse des konvertierten Videos zeigst. Die ist aber relativ uninteressant im Vergleich zu einer Analyse des MKV-Videos. Zumindest gibt ffmpeg ein paar Informationen preis...

    In deinem MKV (Matroska-Video) steckt also MPEG4-AVC/H.264, dazu AC3 (liba52) und ... öhm, dts (dca)?

    Du wandelst die Tonspuren dann in AC3 um... aber nur 192 kbps für 6-Kanal-Tonspuren? Bei so wenig Bitrate sollte man doch besser zu 2-Kanal downmixen. Kein Wunder, dass sich die Player weigern. Oder es liegt beim VLC daran, dass er den Ton vielleicht über den Digitalausgang (S/P-DIF) abspielen will, du den aber vielleicht nicht angeschlossen hast...
    __

    In der Tat das falsche Forum. "AVC-Encoding" wäre richtig, wenn du AVC erzeugen wolltest. XviD aber ist MPEG4-ASP. Und wenn es im Grunde eher um die Gesamtheit des ganzen Filmes geht, dann passt letztlich wohl die ganz allgemeine "Video-Bearbeitung" am besten. Oder die "MPEG4-Encoding-Tools"...

  • Ok, hier die Ausgabe von mkvinfo:

    Zitat

    Du wandelst die Tonspuren dann in AC3 um... aber nur 192 kbps für 6-Kanal-Tonspuren? Bei so wenig Bitrate sollte man doch besser zu 2-Kanal downmixen. Kein Wunder, dass sich die Player weigern.

    Ok, hab gerade mal 2 weitere Versuche gestartet:
    1. Umwandlung mit 448 kbps für die AC3-Tonspuren
    2. Umwandlung mit 448 kbps für die AC3-Tonspuren + downmix auf 2 Kanäle (ffmpeg-switch "ac 2")

    Liefert beides das selbe Ergebnis wie vorher (kein Ton).

    Zitat

    Oder es liegt beim VLC daran, dass er den Ton vielleicht über den Digitalausgang (S/P-DIF) abspielen will, du den aber vielleicht nicht angeschlossen hast...

    Sollte eigentlich auch nicht der Fall sein. Die Option "Use S/PDIF when available" ist NICHT markiert, außerdem werden andere Videos mit AC3-Sound auch korrekt wiedergegeben...

    Zitat

    "AVC-Encoding" wäre richtig, wenn du AVC erzeugen wolltest. XviD aber ist MPEG4-ASP. Und wenn es im Grunde eher um die Gesamtheit des ganzen Filmes geht, dann passt letztlich wohl die ganz allgemeine "Video-Bearbeitung" am besten. Oder die "MPEG4-Encoding-Tools"...

    Ok, danke. Selbst verschieben kann ich ja nicht oder? Sollte es wirklich noch stören, wird sich schon ein Mod drum kümmern hoffe icht...

    -----------------
    edit:
    Ups, gerade gesehen, dass bereits verschoben wurde. Danke an dieser Stelle!

  • Wenigstens die AC3-Tonspur aus dem Original sollte doch hörbar bleiben, wenn sie überhaupt nicht umgewandelt, sondern nur kopiert wird. Allerdings weiß ich nicht, wie man bei ffmpeg verschiedene Parameter für einzelne Tonspuren definiert ("-acodec copy" nur für die AC3-Tonspur).

    Und vielleicht kann dein verwendetes ffmpeg-Build ja die dts-Tonspur gar nicht umwandeln. Dann müsste man das vielleicht mit weiteren Programmen versuchen, nicht nur mit ffmpeg alleine.

  • Wenigstens die AC3-Tonspur aus dem Original sollte doch hörbar bleiben, wenn sie überhaupt nicht umgewandelt, sondern nur kopiert wird. Allerdings weiß ich nicht, wie man bei ffmpeg verschiedene Parameter für einzelne Tonspuren definiert ("-acodec copy" nur für die AC3-Tonspur).

    "-acodec copy" hab ich auch schon probiert (und hat auch nicht funktioniert).

    Wie man unterschiedliche Parameter für einzelne Tonspuren angibt, ist in meinem 1. Post ersichtlich (Stichwort -newaudio).

    Und vielleicht kann dein verwendetes ffmpeg-Build ja die dts-Tonspur gar nicht umwandeln. Dann müsste man das vielleicht mit weiteren Programmen versuchen, nicht nur mit ffmpeg alleine.

    Mittlerweile hab ich herausgefunden, dass folgende Einstellung sowohl auf Rechner, als auch am ShowCenter funktioniert:

    mp3 192 kbps, downmix auf 2 Kanal-Ton (nicht synchron, aber zumindest schonmal was zu hören...)

    Eigenartig finde ich immer noch, dass die 6-Kanal AC3 mit 448 kbps am ShowCenter zwar einen Ton lieferen, jedoch auf keinem Rechner.
    Hab mal ein anderers xvid-avi mit den selben Audio-Einstellungen (allerdings mit normaler DVD als Quelle) am Notebook getestet, welches Problemlos abgespielt wird (also sollte man einen Fehler von vlc, konfiguration usw. auch ausschließen können)...

    Sollte ich bzgl. 6-Kanal-AC3 keine Lösung finden würde ich mich mittlerweile auch mit den 2-Kanal-Mp3 zufrieden geben. Allerdings muss ich dafür auch erstmal rausfinden, wie ich das ganze synchron hinbekomme...

    Kann es sein, dass ich bzgl. Synchronität mit der Framerate ein Problem beim umwandeln habe?

    danke, mfg

    mik

  • 1. schneit doch mal mit mkvmerge ein kleines Sample ab, dann kann man hier testen.


    Werd ich morgen machen. Allerdings würde ich jene Leute, die sich zum testen anbieten würden bitten mir eine kurze pn zu schicken.

    2. warum eigentlich .avi als container?


    Weil ich das File auf meinem ShowCenter 200 abspielen will und dieses halt nicht mit jedem Dateiformat umgehen kann. Welchen Container würdest du sonst empfehlen und was spricht gegen avi?

  • PM: Zu müde ne PM zu schicken, kann aber sicher aufschreiben wie man sowas umwandeln kann. Wobei ich vielleicht eher zu mencoder greifen würde, da dieser anders als ffmpeg einen besseres Downsampling kann (ffmpeg lässt einfach die Kanäle weg,..). ;)


    Container:
    Würde hätte ich .mp4/.mkv bevorzugt, scheint das ShowCenter 200 aber nicht zu unterstützen. :(

    Eine Sache die mir gerade aufgefallen ist:
    Hast Du auch die aktuellste Firmware in der Kiste laufen?
    Da bei der Firmware in Changelog steht:

    Zitat

    Divx Dateien mit Dolby Digital Audio werden wieder in Sync abgespielt


    Da DivX vermutlich allgemein durch MPEG-4 ASP ersetzt werden kann, könnte hier Dein Problem sein. ;)

    Cu Selur

  • PM: Zu müde ne PM zu schicken, kann aber sicher aufschreiben wie man sowas umwandeln kann. Wobei ich vielleicht eher zu mencoder greifen würde, da dieser anders als ffmpeg einen besseres Downsampling kann (ffmpeg lässt einfach die Kanäle weg,..). ;)


    Mencoder ist natürlich auch in Ordnung. Hab bisher nur noch nicht die Zeit gefunden, mich in dessen Command-Line-Switches usw. einzuarbeiten. Hätte ich aber sowieso als nächstes versucht, wenn ich mit ffmpeg nicht weitergekommen wäre.

    Wenn du mir hier vielleicht mal eine kleine Bsp-Commandline posten könntest würde mir das schon viel bringen...


    Container:
    Würde hätte ich .mp4/.mkv bevorzugt, scheint das ShowCenter 200 aber nicht zu unterstützen. :(


    Korrekt, deshalb hab ich fast alles in avi gespeichert...

    Eine Sache die mir gerade aufgefallen ist:
    Hast Du auch die aktuellste Firmware in der Kiste laufen?
    Da bei der Firmware in Changelog steht:


    Da DivX vermutlich allgemein durch MPEG-4 ASP ersetzt werden kann, könnte hier Dein Problem sein. ;)

    Cu Selur


    Jep, aktuelle Firmware ist drauf! Das ShowCenter soll aber hier sowieso nicht das Problem sein. Sobald die avi's mal auf meinem Rechner laufen bin ich mir zu 100% sicher, dass sie auch am ShowCenter funktionieren...

    Ein Sample hab ich bisher noch nicht gesplittet, werde ich aber bald mal machen und dir mal einen Link schicken!

    danke
    lg, mike

  • Zitat

    Wenn du mir hier vielleicht mal eine kleine Bsp-Commandline posten könntest würde mir das schon viel bringen...


    Werde ich machen wenn ein Sample zur Verfügung steht, da mich:

    Zitat

    ...
    + Default duration: 41.708ms (23.976 fps for a video track)
    ...
    + Default duration: 32.000ms (31.250 fps for a video track)
    ...

    momentan irgendwie stört.

    Cu Selur

  • Soda, nach langem herumprobieren, konnte ich jetzt mal mein 1 minütiges Sample-File nach xvid + 2 x ac3 (448 kbps, 6 Kanal) konvertieren.

    Das ganze läuft jetzt auch mal soweit MIT Ton und noch dazu synchron!

    Für alle, die es interessiert, hier mein Weg dorthin:

    1. Mit mkvextract die beiden Audio-Tracks isoliert:

    Zitat

    mkvextract tracks sample.mkv 2:audio_1.ac3 3:audio_2.dts

    2. Video mit ffmpeg nach xvid umwandeln (nur Video, ohne Audio, deshalb die Option -an)

    Zitat

    ffmpeg -threads 2 -i sample.mkv -vcodec libxvid -sameq -an sample.avi

    3. Die 2. Audio-Spur (dts) nach ac3 umwandeln (1. Audiospur ist bereits AC3):

    Zitat

    dcadec -o wavall audio_2.dts | aften - audio_2.ac3

    Die Audio-Umwandlung hätte ich auch noch mit ffmpeg versucht. dts -> mp3 war kein Problem, dts -> ac3 hat nicht funktioniert, deshalb hab ich dann ein wenig gegoogelt und die Lösung mit dcadec & aften gefunden...

    4. Alle 3 umgewandelten Tracks mit mkvmerge muxen:

    Zitat

    mkvmerge -o sample_final.avi sample.avi audio_1.ac3 audio_2.ac3


    Auch hier hab ich zuerst wieder sowohl ffmpeg & mencoder versucht, die beide mit den AC3-Spuren nicht zurechtkamen. mkvmerge hat sofort problemlos funktioniert...

    Bestimmt nicht der einfachste Weg, aber zumindest hab ich mal ein Video, dass soweit läuft, wie ich das will ;)

    Sollte noch jemand einen einfacheren Weg finden, der funktioniert wäre ich natürlich sehr interessiert daran!

    danke, mfg

    ps.: Ich hätte noch eine weitere Frage:

    Sollte ich den Aspect-Ratio verkleinern, wenn ich das Video von 7 GB auf ca. 1.4 GB verkleinern will?
    Wenn ja, welcher Ratio macht Sinn, wenn das Ursprungsvideo 1280x544 (720i/p??) hat?

  • Jep, sorry. Seitenverhältnis (also Aspect Ratio) soll natürlich gleich bleiben...

    Also selbe Frage nochmal bezüglich Auflösung? Sinnvoll, wenn ich diese verändere und wenn ja, auf welche Werte?

  • LigH: okay :)
    suamikim: mit Dreisatz: 1280x544 -> 720x306
    Gerade mal etwas hier getestet, ffmpeg/mencoder haben bei mir auch ein Muxingproblem mit ac3. :(
    Wenn man mencoder verwendet, kann dieser auch selber die Zielauflösng an z.B. einen vorgegebenen Breite anpassen, siehe: http://forum.gleitz.info/showthread.php?t=38661

    Cu Selur

Jetzt mitmachen!

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