"Stretch" von AC3 in mkvmerge?

  • Hat jemand Erfahrung damit?

    Es scheint nicht zu funktionieren (mkvmerge GUI 2.0.2 "You're my flame"), egal ob ich

    --sync 0:0,1001/960

    oder

    --sync 0:0,960/1001

    in der Kommandozeile stehen habe, in beiden Fällen rast mir mein gestretchtes 25 fps-Audio im 23.976 fps-Container (mit wahrscheinlich unveränderten 25 fps) davon. Wie muß es richtigherum heißen, und sollte der Stretch-Wert in den Eigenschften der fertig gemuxten Datei zu sehen sein?
    AC3filter und iviaudio/Matrix Muxer behaupten beide, der Ton wäre immer noch 48 khz. Wahrscheinlich ist er es ja auch.

  • Wer soll da was stretchen? AC3 ist ein komprimiertes Format. Das wird entweder digital per S/P-DIF oder TOS-Link an den Receiver geleitet (da kann nichts mehr dran verändert werden), oder über einen DirectShow-Filter decodiert ... und dann? Dann müsste ja ein Player nachträglich noch mal das decodierte Ergebnis abfangen und umrechnen.


    Und warum werden hier schon wieder Tonspuren Bildraten angedichtet? Hört endlich auf, PAL und NTSC zu vermischen! Ich habe keine Lust mehr, die daraus entstehenden Probleme zu diskutieren!

  • @ligh(t?)
    Anscheinend bist du nicht ganz auf dem Laufenden.
    http://forum.doom9.org/showthread.php?t=103757&page=13 (vom Juni 2006)

    haali:
    [INDENT]I don't think you can stretch ac3 audio without reencoding.[/INDENT]

    tima:
    [INDENT]Hmm, but it works from commandline and the result is nice..[/INDENT]

    Von wegen Frameraten und Tonspuren, ich werde nicht für Leute wie dich eine Doktorarbeit schreiben. Und wenn du keine Lust bzw. Ahnung hast, dann lass es doch...:D

    Die Funktion "Stretch" befindet sich bei Audiospuren auf dem Reiter "Format Specific Options". Wenn man drübergeht, erscheint folgender Tooltip:
    [INDENT]Stretch the audio or subtitle track by a factor. This entry can have two formats. It is either a positive floating point number, or a fraction like e.g.1200/1253. Not all formats can be stretched at the moment.[/INDENT]

    Im Wiki kann man nachlesen, dass es diese Möglichkeit gibt, aber Beispiele dazu sind Mangelware - oder mit welchen Formaten es augenblicklich geht und mit welchen nicht.

  • Ich bin da heute auch zufällig drüber gestolpert, da ich an Werner 2 weitergearbeitet hab. Mit AAC funktioniert Stretch wunderbar. :daumen:

    P.S.: Ich habe da übrigens keine Normwandlung durchgeführt, sondern aufgrund des Deinterlacings war das neue (deinterlacete) Video kürzer als das Original. Stretch dann mit neue(kleinere)Framezahl/alte(höhere)Framezahl.

    "Diejenigen, die grundlegende Freiheiten aufgeben würden, um geringe vorübergehende Sicherheit zu erkaufen, verdienen weder Freiheit noch Sicherheit."
    Benjamin Franklin (1706-1790)

    Meine Erfahrungen in der Open Source-Welt: blog.bugie.de

  • Von wegen Frameraten und Tonspuren, ich werde nicht für Leute wie dich eine Doktorarbeit schreiben. Und wenn du keine Lust bzw. Ahnung hast, dann lass es doch...:D


    Es würde ja für den Anfang reichen, wenn Du nicht die Eigenschaften von Audio und Video durcheinander würfeln würdest. Audio hat meines Wissens 75 fps. Liegt wohl daran, dass bei AudioCD 75 Sektoren je Sekunde gelesen werden. Ausserdem gibt es da noch eine Samplerate (Abtastrate), welche beispielsweise bei AudioCD und (S)VCD 44,1 kHz und bei DVD 48 kHz beträgt.

    In der Dokumentation steht:


    Heißt, ein Delay wird dadurch korrigiert, das Samples eingefügt oder weggeschnitten werden. In der Folge werden die Presentation Time Codes manipuliert.

    AC3filter und iviaudio/Matrix Muxer behaupten beide, der Ton wäre immer noch 48 khz. Wahrscheinlich ist er es ja auch.


    Sicher, die Samplerate wird ja auch nicht geändert.

    Fazit:

    Wenn sich das Wiedergabeprogramm an die Samplerate und nicht an die Time Codes hält, kannst Du stretchen wie Du lustig bist. Es ändert sich nichts.

    Gruß Frank

  • Dass ich nicht vollkommen ahnungslos bin, sollte die Forensuche belegen... Ich vermute das nur ab und zu bei Leuten, die ihre Probleme so schildern, als hätten Tonspuren irgend einen Zusammenhang zu Videoformaten. Dabei ist der doch nur höchst mittelbar:

    Wenn Audio und Video synchron sind, haben sie die gleiche Spieldauer. Wandelt man das Video aber von einem Format in das andere um (PAL <==> NTSC), und verändert dabei die Gesamtspieldauer des Videos, muss man dann auch die Gesamtspieldauer des Audios anpassen. Das ist alles. Völlig unabhängig von den Bildwiederholraten des Videos.
    __

    CD-Audio hat in der Tat Blocklängen von 1/75 Sekunde, die sich aus der Sektorgröße einer CD ergeben. Aber das spielt für DVDs keine Rolle.

    Bei AC3 oder MP3 ergeben sich die Blockgrößen aus den jeweiligen Spezifikationen, so haben wir bei AC3 üblicherweise 32 ms pro Frame, bei MP2 sind es 24 ms. Keine der beiden passt jedoch exakt zur Dauer eines Video-Frames, weder in PAL noch in NTSC.

  • Ich bin da heute auch zufällig drüber gestolpert, da ich an Werner 2 weitergearbeitet hab. Mit AAC funktioniert Stretch wunderbar. :daumen:

    P.S.: Ich habe da übrigens keine Normwandlung durchgeführt, sondern aufgrund des Deinterlacings war das neue (deinterlacete) Video kürzer als das Original. Stretch dann mit neue(kleinere)Framezahl/alte(höhere)Framezahl.


    tach auch !

    Das ist doch eine Normawandlung.
    Wenn Du aus interpoliertem 25 fps wieder 24 fps machst, oder ?

    Gruss BergH

  • Nö, hatte vorher 25fps und danach auch. :) blubb

    "Diejenigen, die grundlegende Freiheiten aufgeben würden, um geringe vorübergehende Sicherheit zu erkaufen, verdienen weder Freiheit noch Sicherheit."
    Benjamin Franklin (1706-1790)

    Meine Erfahrungen in der Open Source-Welt: blog.bugie.de

  • Soweit ich mich entsinne (nie angetestet) klappt das nur wenn das Material auch am Rechner Decodiert wird, d.h. wenn man den ac3 Stream per SPDIF rausgibt gehts nicht, wenn man ihn per ffdshow am Rechner decodiert schon.
    Cu Selur

    Mit ffdshow habe ich es noch nicht probiert, aber liegt es wirklich am Decoder? Irgend ein Infotool müßte doch eine krumme Samplingrate im fertigen Stream anzeigen. Laut mkvmerge-Doku werden die Timestamps verändert:

    Zitat

    o/p: adjust the timestamps by o/p to fix linear drifts. p defaults to 1000 if omitted.

    Dabei ändert sich die Samplingrate ("The sampling rate, sample rate, or sampling frequency defines the number of samples per second ..." - Wikipedia). Irgendwo glaube ich auch mal gelesen zu haben, dass die Decoder eigentlich mit sowas keine Schwierigkeiten haben, zumindest bei MP3 und Co. Ich werde es mal auf der Kommandozeile testen, obwohl mkvmerge, soweit ich weiß, nur eine GUI für den Commandline Encoder ist. Aber ich schätze, daß hier das Problem liegt.

  • Zitat von aLu

    Laut mkvmerge-Doku werden die Timestamps verändert


    Richtig.

    Zitat von aLu

    Dabei ändert sich die Samplingrate


    Falsch. MKVMerge packt zur unveränderten Tonspur Timecode-Infos dazu, die ein kompatibler Decoder auswerten kann. Die Tonspur selbst bleibt so, wie sie ist. Timecodes sind reine Zusatzinformationen. Das funktioniert genauso wie Beim Vorbis-PostGain-Tag.

    Das heißt:
    – Mit einem Decoder, der die Timecodes nicht auswertet und umsetzt -> asynchron.
    Wie ein fähiger Decoder die Timecodes umsetzt, damit Synchronität erreicht wird, darauf hat MKVMerge keinen Einfluss.
    – MKVMerge (mit oder ohne GUI) arbeitet vollkommen korrekt. Timecodes sind aber ein sehr unzuverlässiges Mittel, um Asynchronität zu beheben.

    P.S.: Möglicherweise muss auch schon der Splitter mitspielen, denn der ist zu allererst für Container-Handling zuständig.

    Brother John
    ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
    DVD nach MPEG-4 klappt nicht? Verzweifelt? Auf zum Encodingwissen!

  • Verstehe. :( Many Danks für die Aufklärung!

    P.S. Auch mit Haali's Splitter (v1.7.121.0/27.3.2007) -> ffdshow (von Ende 2006) -> Matrix Muxer ist der Ton bei mir zu schnell. Wenn es bei euch funktioniert - mit welcher Filter Chain?
    Und ich nehme an, der richtige Teiler für 25->23.976 fps wäre 1001/960?

  • Ich versuche die Tonspuren einer DVD in MKV Merge von Pal 25 Fps auf 23976 zu stretchen.

    Die Lauflänge stimmt beim gemuxxten File.

    Allerdings ist alle 3 Sekunden ein Haken/clicken zu hören.

    Ich brauche die Tonspuren einzeln damit ich sie mit BD Files im TS Muxer zusammenführen kann.

    Kennt jemand das Problem und kann mir helfen? Danke

  • Jeder Player hat so seine eigene Art das Stretching vorzunehmen. In den meisten Fällen wird eine minderwertige, aber schnelle Methode benutzt. Daher die Tonstörungen.

    Aber wie kommt TS Muxer da ins spiel. Dieser kann nicht mit gestretchten Tonspuren umgehen und benötigt standard Audio-Framelängen, will meinen du musst die Tonspuren dafür hart stretchen. Das soft-stretching geht nur im MKV-Container.

  • Hallo Liebe Leute,
    da dieser Fred der Sache, die ich versuche herauszufinden am meisten entspricht, hole ich diesen hier mal wieder aus der Versenkung^^.

    Also ich habe einen Film in einer mkv-Datei gehabt dessen Video-Spur total im Eimer war (vor und zurückruckeln und das ab sekunde 3 bis zum Ende des Films) ich habe mir also denselben Film nochmal wo geladen nur is der etwas länger und die deutsche Tonspur gerät im Laufe des Films immer mehr aus der sync mit dem Video und ist am Ende des Films um ca. 4,5 sekunden ausser sync.
    Ich möchte jetzt also mit mkvmerge gui 4.3.0 diese Tonspur "stretchen" allerdings habe ich keinerlei Erfahrung was ich da jetzt eingeben muss als float (x.xxx) oder fraction (xx/xx) kann mir da jemand helfen ich habe sonst nirgends eine Erklärung die mir hilft gefunden.

    Schonmal Danke
    MfG Hazuzi

Jetzt mitmachen!

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