Probleme mit neroaacenc

  • Hallo erstmal, bin ja neu hier :).

    Ich versuch schon seit 2 Tagen verzweifelt einige Wavedateien mit neroaacenc (CLI) in das aac-Format umzuwandeln. Das funktioniert an sich auch ganz gut, nur habe ich das Problem, daß die aac-Dateien immer exakt(!) 54ms zu lang sind. Da die Audiospuren später zusammengeschnitten und mit einem Video gemuxt werden sollen, ist es schon wichtig, das die Zeiten genau übereinstimmen.
    Die Wavedateien lagen ursprünglich im ac3-Format vor, wurden mit mpeg2schnitt geschnitten, mit besweet ins Waveformat konvertiert und anschließend mit Wavelab bearbeitet (Fadeout usw.).
    Erst nach dem enkodieren mit neroaacenc tritt die Differenz auf.

    Hier die Zeitdifferenzen der ersten 3 Dateien (Mediainfo zeigt ja leider keine ms an):

    1.wav 01:41:18.120
    1.m4a 01:41:18.174
    ----------------------------
    2.wav 01:31:07.040
    2.m4a 01:31:07.094
    ----------------------------
    3.wav 01:41:31.720
    3.m4a 01:41:31.774

    Zum enkodieren habe ich die normalen neroaacenc-Parameter verwendet:
    neroaacenc.exe -q 0.35 -if "e:\1.wav" -of "1.mp4"

    Vielleicht weiß ja jemand wo diese Zeitdifferenz herkommt oder wie ich sie wieder loswerde, da wär ich sehr dankbar.

    Neroaacenc-Version:
    Package build date: Aug 6 2007
    Package version: 1.1.34.2

    MediaInfo der Wavedatei:
    --------------------------------------
    Allgemein #0
    Vollständiger Name : E:\1.wav
    Format : Wave
    Format/Family : RIFF
    Dateigröße : 1001 MiB
    Spielzeit : 1h 31min
    Bitrate : 1536 Kbps

    Audio #0
    Codec : PCM
    Codec/Family : PCM
    Codec/Info : Microsoft PCM
    Bitrate : 1536 Kbps
    Kanäle : 2 Kanäle
    Samplingrate : 48 KHz
    Auflösung : 16 bits
    --------------------------------------

    MediaInfo der aac-Datei:
    --------------------------------------
    Allgemein #0
    Vollständiger Name : E:\1.mp4
    Format : MPEG-4
    Format/Info : ISO 14496-1 version 2
    Format/Family : MPEG-4
    Dateigröße : 59.2 MiB
    Spielzeit : 1h 31min
    Bitrate : 91 Kbps
    StreamSize : 1.04 MiB
    Kodierungsdatum : UTC 2007-11-25 07:11:31
    Tagging-Datum : UTC 2007-11-25 07:19:22
    Verwendetes Programm : Nero AAC codec / Aug 6 2007

    Audio #0
    Codec : AAC LC
    Codec/Info : AAC Low Complexity
    Spielzeit : 1h 31min
    Bitrate : 89 Kbps
    Bitraten-Modus : VBR
    Kanäle : 2 Kanäle
    Channel positions : L R
    Samplingrate : 48 KHz
    Auflösung : 16 bits
    StreamSize : 58.2 MiB
    Kodierungsdatum : UTC 2007-11-25 07:11:31
    Tagging-Datum : UTC 2007-11-25 07:19:22

    Kapitel #0
    1 : 00:00:05.466 -

    ---------------------------------

    So, ich hoffe das waren jetzt alle relevanten Infos, ansonsten reiche ich die natürlich gerne noch nach.
    Nebenbei, woher kommt denn das eine Kapitel in der aac-Datei , und vor allem die Zeit dafür?

    mars123

  • Hallo mars123,

    selbiges tritt bei anderen Encodern (besweet mit ac3enc ...) auch auf. In M2S gibt es deshalb Möglichkeiten den Fehler der Encoder zu korrigieren (nur für mp2 und ac3 Dateien).

    Ich schlage vor die Wav-Dateien zu einer Datei zu verbinden und dann am Stück zu encoden.

    Martin

  • Hey danke, das hört sich doch schonmal gut an. Ich werde mal versuchen die Wavedateien zusammenzuschneiden bevor ich sie enkodiere. Das würde also bedeuten daß ich nur noch 1x 54ms Differenz habe und nicht 300 oder 400ms.

    Und wie sieht es aus, wenn ich das ganze in ogg statt aac konvertiere, hätte ich dann das Problem auch? Ich müsste natürlich die selbe durchschnittliche Bitrate wie bei aac nehmen, da das Video genau auf eine DVD passen soll.
    Kann man bei ogg vorbis denn eine Zielgröße angeben? Ich kann den Qualitätsparameter von aac (q 0,35) ja sicherlich nicht so einfach übernehmen.

  • Ich werde mal versuchen die Wavedateien zusammenzuschneiden bevor ich sie enkodiere.


    Falls es eine Audiospur zu einem Video ist unbedingt.
    Das die Audiodatei einige ms zu lang ist, ist nicht wirklich tragisch. Die encodeten Informationen werden in "Blöcken" (Frames) gespeichert. Diese Frames haben eine feste Länge. Wenn jetzt die Abspielzeit kürzer als das letze Frame ist, wird der "leere" Bereich mit Stille gefüllt. Daher die längere Abspielzeit. Da alle modernen und verlustbehafteten Encoder so arbeiten, wirst du um das Problem nicht herum kommen.

    Und wie sieht es aus, wenn ich das ganze in ogg statt aac konvertiere, hätte ich dann das Problem auch?


    Wahrscheinlich.

    Ich müsste natürlich die selbe durchschnittliche Bitrate wie bei aac nehmen, da das Video genau auf eine DVD passen soll.
    Kann man bei ogg vorbis denn eine Zielgröße angeben?


    Ist mir nicht bekannt, das man das bei Audiocodes überhaupt könnte. Man kann es händisch berechnen oder einfach ein wenig probieren.

    Ich kann den Qualitätsparameter von aac (q 0,35) ja sicherlich nicht so einfach übernehmen.


    Ja, Parameter OGG Vorbis ungleich Parameter AAC (und natürlich je nach Encoder auch untereinander).

  • Soweit mir bekannt ist, speichert Ogg Vorbis speziell Hinweise für den Decoder, wie lang exakt die Quelle war.

    Die BeSweetGUI schätzt relativ gut, bei welcher Qualitätsstufe welche durchschnittliche Bitrate üblich ist -- aber es ist dennoch inhaltsabhängig: Für zwei Stunden Rockkonzert braucht man eben mehr als für zwei Stunden Waldesstille.

  • Soweit mir bekannt ist, speichert Ogg Vorbis speziell Hinweise für den Decoder, wie lang exakt die Quelle war.


    Ja, ebenso LAME. Bei Nero's AAC-CLI-Encoder oder CT's AAC-Encoder weiß ich es nicht. Jedoch muss auch der Decoder das unterstützen.
    (Für Interessierte: das Zauberwort hier heißt "Gapless Playback")

  • Ok, ich werde die Wavedateien zusammenschneiden und den Audioversatz ignorieren. Und ich bleib bei aac. Die Qualität ist ja in Ordnung. Ich will hier schließlich auch fertig werden. Ich sitz schon seit 2 Wochen an dem Video.
    Allein den Videostream mit h264 zu enkodieren hat mit meiner alten Mühle zweimal 5 Tage gedauert. Ich hab ursprünglich alles zusammengeschnitten und dann konvertiert, aber nachdem mir nach 4 Tagen und bei 85% megui samt PC abgestürzt ist, hab ich mir gedacht, daß es klüger ist das ganze in einzelnen Etappen zu kodieren.
    Danke auch @ Martin Dienert für "Audioversatz beim Schneiden vermeiden". Das sind genau die Informationen, die ich gesucht habe.
    Mal schauen wie weit ich jetzt komme, da sollen noch Untertitel rein und deren Timecode stimmt wohl nicht mal ansatzweise :D.
    Aber alles zu seiner Zeit.

    Martin

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!