Probleme mit WMV(HD)

  • Hallo zusammen! :)

    Ich habe einen Trailer in WMV-HD auf englisch (wmv + wma-Prof.), der läuft mit 23,976 fps und denselben als hässliches mini-AVI in deutsch (divx, ac3 5.1) mit 25fps. Nun möchte ich also die deutsche Tonspur synchron auf die englische ins WMV-HD bekommen.

    Zuerst hab ich versucht mit dem Windows Media Encoder das ganze deutsche File in 23,976 fps zu bringen. Da das Programm keine separaten ac3-steams als Quelle akzeptiert, habe ich gleich eine Konvertierung avi -> wmv-hd und ac-3 -> wma vorgenommen damit es dann problemlos mit dem englischen Video zu muxen ist. Das hat zwar geklappt, nur leider ist das resultierende File genauso lang wie die Quelle. WME hat also nicht wie gewünscht die 25fps "auseinandergezogen", so dass das Ergebnis ein paar Sekunden länger (und damit synchron zum englischen Ton) ist, sondern nur ein paar Frames rausgeschmissen um auf 23,976 fps zu kommen.

    Frage 1: Weiß jemand, wie ich WME dazu bringe, die fps so zu konvertieren dass mein 23,976fps-file am Ende 4% länger ist als das 25fps-Video?

    Alternativ (aber eigentlich nicht gewollt) könnte man das deutsche Ausgangsmaterial auch formatmäßig lassen wie es ist und direkt in 23,976fps umwandeln. An der Stelle scheiterts bei der Qualität der AC3-Datei, die dabei herauskommt. Ich habe BeSweetmit mit ac3enc.dll probiert, dabei entsteht ein ekliges Knacken (hab mich schlaugelesen, liegt wohl an ac3enc.dll, hier meinen ja auch die meisten dass es Mist ist). Beim nächsten Versuch hab ich das AC3 in 6 WAVs geteilt und diese in Goldwave mittels "TimeWarp"-Funktion auf die gewünschte Länge gebracht. Hat geklappt, jedenfalls ist das Knacken weg, aber die Stimmen sind etwas tiefer als vorher (Gegenteil vom MickyMaus-Effekt). Ich empfinde das als ziemlich störend. Deshalb:

    Frage 2: Wie macht man eine ordentlich AC3-Konvertierung 25 -> 23,976fps , also so, dass der Ton hinterher genauso(!) klingt wie vorher? Muss ja gehen, meine US-DVDs klingen doch auch nicht tiefer als die deutschen...

    Gruß, Bemme

  • Sag mal, Butterbemme,

    wie viele Beiträge zum Thema "Konvertierung PAL <-> NTSC" existieren in unserem Board schon?

    Zu 1) Ich kann mir nicht vorstellen, dass der Windows Media Encoder überhaupt in der Lage ist, eine Video-Konvertierung in dieser Form durchzuführen. Simples Einfügen oder Entfernen von Frames würde Bewegungen ruckeln lassen; Berechnen von überblendeten Zwischenbildern macht das Vieo auch nicht gerade "besser"...

    Zu 2) Welche BeSweet-Version? Aktuelle oder veraltete AC3Enc.dll? Und schon mal was von der SoundTouch-Engine in BeSweet 1.5b28+ gehört?

  • Zur eingehenden Frage: Über den Daumen gepeilt 3 Millionen? :D
    Ich habe ja auch sehr viele Ergebnisse bei der Forensuche gefunden. Scheinbar hatte bei der AC3-Konvertierung sonst kaum einer ein Problem, bei fast allen klapppts wohl mit BeSweet. Ich habe die AC3Enc.dll benutzt, die bei BeSweet 1.4 dabei war bis sie aufgrund der Bugdichte nicht mehr unterstützt wurde.
    Von SoundTouch habe ich tatsächlich noch nichts gehört, danke für den Tipp, ich schau mal wie weit ich damit komme.

    Gruß, BB

    EDIT:
    Ningel, wieso kann denn nicht mal was auf Anhieb funktionieren. Was ich gemacht habe:

    1) Besweet 1.4 runtergeladen
    2) Besweet 1.5b29 runtergeladen
    3) Besweet 1.4 entpackt und den inhalt von Besweet 1.5b29 in denselben Ordner entpackt, dabei 1.4er Dateien überschrieben wenn danach gefragt wurde
    4) In der Konsole folgendes eingegeben:

    besweet.exe -core( -input "I:\trailer.ac3" -output "I:\TrailerNeu.ac3" -logfile "Besweet.log" ) -azid( -c normal -g 0.99 ) -soundtouch( -r 25000 23976 ) -ac3enc( -b 448 -6ch )

    Dann hat er losgelegt nach dem max. gain zu suchen, das hat ein paar Sekunden gedauert. Dann hats in die Konsole geschrieben:

    [00:00:00:000] -- Initialising...

    ..und Ende, ich bin wieder in der Eingabeaufforderung gelandet.
    Im logfile steht folgendes:


    BeSweet v1.5b29 by DSPguru.
    --------------------------
    Using azid.dll v1.9 (b922) by Midas (midas@egon.gyaloglo.hu).
    Using SoundTouch.dll v1.21 by Olli Parviainen (https://localhost/www.iki.fi/oparviai/soundtouch).
    Using AC3enc.dll v1.20 (Feb 18 2004) by Fabrice Bellard (http://ffmpeg.org).

    Logging start : 12/04/04 , 01:05:09.

    besweet.exe -core( -input I:\trailer.ac3 -output I:\TrailerNeu.ac3 -logfile Besweet.log ) -azid( -c normal -g 0.99 ) -soundtouch( -r 25000 23976 ) -ac3enc( -b 448 -6ch )

    [00:00:00:000] +------- BeSweet -----
    [00:00:00:000] | Input : I:\trailer.ac3
    [00:00:00:000] | Output: I:\TrailerNeu.ac3
    [00:00:00:000] | Floating-Point Process: No


    Die TrailerNeu.ac3 wurde erstellt, ist aber 0 KB groß.
    Das Proplem scheint an der ac3enc.dll zu liegen. Wenn ich den Teil der Befehlszeile rauslasse legt soundtouch mit dem transkodieren los. Dann hab ich nur leider keine ac3-Datei am Ende. Wenn ich ac3enc entweder nur mit "-b 448" oder nur mit "-6ch" aufrufe passiert nichts und das Logfile ist dasselbe.

    Noch ein Edit:
    Da auf der Seite von BeSweet betr. der aktuellen Version der aufmunternde Satz zu lesen ist "ac3enc.dll creates (almost) useless ac3 streams. Don't use it to encode things you care for. it's there only for test purposes.", möchte ich jetzt das ac3 in 6 wav-files splitten und bei diesen die "Framerate" ändern.

    Da weigert sich soundtouch aber wenn ich mit folgendem komme:

    BeSweet.exe -core( -input "i:\trailer.ac3" -output "i:\trailer-New-" -6ch -logfilea "BeSweet.log" ) -azid( -c normal -g 0.99 ) -soundtouch( -r 25000 23976 )

    Wenn ich es in Goldwave mittels Timewarp-Funktion probiere, habe ich wie schon gesagt den umgekehrten MickyMaus-Effekt, den wir mit soundtouch ja grad vermeiden wollen.

  • Hallo

    Benutze in meinem Anhang einfach mal das Batch-Programm.
    Entpacke das Zip irgendwohin und kopiere deine AC3-Dateien in den "Quelle"-Ordner danach startest du die "Soundtouch AC3 25 - AC3 23.cmd" durch einen doppelklick.
    Danach befinden sich die gewandelten AC3-Dateien im Ziel(AC3)-Ordner.

  • Danke für dein prima Skript! Zu meinem großen Erstaunen funktionierts sogar, obwohl die Besweet-Kommandozeile in deinem Batch-file augenscheinlich dieselbe ist wie meine (siehe letzter Post). Scheint also an der ac3enc.dll zu liegen die ich mit der 1.5b29 von BeSweet runtergeladen hab :hm:

    Anyway, ich habs jetzt so gelöst, dass ich das ac3 in 6 WAVs getrennt und deren Framerate dann mit soundtouch geändert habe (in 2 Schritten wohlgemerkt, 6WAVs und soundtouch in einer BeSweetAktion funktioniert nicht, siehe Post oben). Weil soundtouch aber irgendwelche "komprimierten WAVs" ausspuckt (ca. 1/5 der größe der orig. WAVs), hab ich dann mit Goldwave 16 Bit PCM signed mono draus gemacht und diese hat der Windows Media Encoder dann geschluckt. Soundtouch hat toll gearbeitet, das Ergebnis klingt tatsächlich wie das Original.
    Aufgrund der scheinbar immernoch sehr fehlerbehafteten ac3enc.dll werd ich dann wohl SurCode bemühen (ist das bezahlbar?), wenn ich AC3 und kein WMA als ziel habe.

    Edit:
    Hm, soundtouch macht aus den schönen großen 32Bitfloat-WAVs wieder 16Bit-files, die zudem wie gesagt komprimiert sind(?). Hab jetzt Stunden damit zugebracht soundtouch im "original" unter Linux zum laufen zu bringen, habe dort auch wie in der readme beschrieben das eine #include geändert vorm compilieren.... die 32Bit floats die BeSweet ausspuckt frisst er trotzdem nicht :hm:

Jetzt mitmachen!

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