Beiträge von Lupurus

    Ja, beide auf die gleiche Art und Weise konvertiert. Hier der genaue Command:
    afconvert -f m4af -d aac -s 2 -b 192000 audio.mp3 audio.m4a

    Die Ausgangsdateien (und auch die konvertierten Dateien) haben beide 48 KHz

    Anzahl an Samples / Samplerate = Delay
    z.B.
    2112 Samples / (48000 Samples/Sekunde) = 0,044 s = 44ms

    Da dies auch in dem anderen Beitrag steht, den Selur verlinkt hat, habe ich dies schon getestet. Ich habe mehrere Dateien getestet und den Delay in Audacity überprüft. Leider betrug er bei einer Datei 33ms, bei einer anderen hingegen 57ms.

    Die zusätzliche Länge am Ende ensteht dadurch, daß viele Codecs mit festen Paketlängen arbeiten, also z.B. ist ein Paket immer 20ms lang. Wenn das am Ende nicht zufällig aufgeht, muß halt der Rest von 20ms noch mit Stille aufgefüllt werden. Deshalb kann man das auch nicht einfach anhand der Länge errechnen.


    Achso. Dann müsste man sozusagen die einzelnen Pakete analysieren?. Okay, den Aufwand ist es mir nicht wert. Diese 0.05 Sekunden Verzögerung hört ohnehin kein Mensch ;)
    Trotzdem danke.

    Manche Encoder erlauben es, das Delay von vorherein auszugleichen, ansonsten muß man Nacharbeiten. Teilweise ist es recht einfach, da einige Encoder immer dasselbe Delay verwenden. Apple AAC-LC z.B. immer 2112 Samples.


    Hm, afconvert erlaubt es meines Wissens nach nicht, diesen Delay auszugleichen.
    Was bedeutet denn 2112 Samples? Haben die eine bestimmte Länge, die man ausrechnen kann? Mir kam gerade die Überlegung, dass ich ja am Ende gar nichts abschneiden muss, wichtig ist ja nur der Anfang.

    -------------
    Eine andere Frage noch: Das Ausgangsmaterial hat eine CBR von 192kbps. Ist es grundsätzlich besser, eine CBR beizubehalten, oder auf VBR zu wechseln? afconvert bietet hier auch noch die Möglichkeit einer constrained VBR. Soweit ich das verstanden habe, ist es das gleiche wie VBR, nur mit einer maximalen Bitrate, oder? Wäre das besser?

    Also das mit den named pipes habe ich leider nicht hinbekommen. Vermutlich geht das nicht mit afconvert :(

    Entsteht dieser Delay denn in gleichen Teilen am Anfang und am Ende? Habe mir ein kleines Bash-Skript geschrieben, welches die Differenz der Dateien ausrechnet (lese es mit mediainfo aus). An sich könnte ich ja jetzt den gewünschten Teil dann über ffmpeg abschneiden.
    Habe zur Sicherheit nochmal die Dateien in Audacity eingelesen, um es zu vergleichen. Leider zeigt der in der mp3-Datei sogar eine andere Länge an :S

    Danke für die Antworten!

    Unter Windows nutze ich gerne eine Pipe um das Demuxen zu sparen - weiß nicht, welche Möglichkeiten es da auf dem Mac gibt.


    Wie genau?

    Angemerkt sei auch, dass neuere qaac Versionen (ab 2.1.2) auch eine Option namens '--no-delay' haben:


    Ach cool, ich kannte qaac gar nicht. Das nutzt ja ebenfalls CoreAudio. Dann muss ich das mal testen, vielen Dank! Habe bei afconvert noch keine solch eine Möglichkeit gefunden.

    Hi,
    ich möchte ein paar Avi-Dateien in MP4-Dateien umwandeln. Damit Quicktime/iTunes diese Dateien aber auch abspielen kann, muss ich die Tonspur von mp3 zu AAC umwandeln. Bisher mache ich das so:

    mp4box -aviraw video ...
    mp4box -aviraw audio ...

    Danach konvertiere ich die mp3 mit afconvert (unter Mac). Das nutzt ja CoreAudio.

    Zum Schluss merge ich dann Audio und Video.

    Zwei Fragen hierzu:
    1) Ich habe leider festgestellt, dass die Tonspur nun eine etwas andere Länge hat als vor dem Umwandeln. Es sind zwar bspw. nur 0.05 Sekunden, aber ist das irgendwie problematisch? Habe bisher keine Asynchronität festgestellt.
    2) Die eben genannte Methode dauert recht lange. Daher habe ich mir überlegt, das Ganze mit ffmpeg (direkt) zu machen (ohne die Spuren zu extrahieren). Allerdings habe ich mal gelesen, dass libfaac auf 160 kbps begrenzt ist (die Ausgangsdatei hat eine 192kbps-mp3-Tonspur) und dass CoreAudio bessere AAC-Dateien erstellt. Ist es daher sinnvoller, die obige Methode weiterhin zu nutzen?

    So,
    ich habe heute mal wieder etwas herumprobiert und einfach mal wirklich jede x264-Einstellung 1:1 übernommen... und siehe da, es funktioniert. Natürlich leider nur bei der ersten GOP. Die restlichen Schnittstellen müsste man natürlich auch nochmals mit denselben Einstellungen neu kodieren. Mal schauen, ob ich mir diese Mühe mache.

    Auf jeden Fall nutze ich jetzt nicht mehr ffdshow in VirtualDub, sondern den x264vwf-Codec, da kann ich die ganzen Parameter per Hand eingeben. Nun sind wenigstens die zukünftigen Videos richtig geschnitten.

    Schade, dass Avidemux noch immer kein h264 framegenau (mit Smart Copy) schneiden kann :(

    Dieses SolveigMM Video Splitter habe ich mir mal in der Trial-Version angeschaut. Die GUI ist ziemlich nervig. Allerdings habe ich mir mal die Mühe gemacht, eine OTVR-Datei damit zu schneiden, nachdem ich sie zuvor in eine mp4-Datei umgewandelt habe. Als Resultat erhielt ich eine Datei, die in Quicktime funktionierte. Das bringt mir allerdings leider nichts für die bereits vorhandenen und geschnittenen Avi-Dateien.

    VirtualDub wird doch stets weiterentwickelt, wieso sollte da kein Smart-Rendering gehen? Mit ffdshow ist das doch unproblematisch möglich.

    Hey,
    danke für's reinschauen.
    VirtualDub aktzeptiert die Dateien nur, wenn man ffdshow installiert hat.

    Hast du schon eine Idee, wie ich die erste GOP mit dem Rest in Ausgleich bringen kann?

    -----

    Eine allgemeine Frage zum Verständnis noch: Funktioniert es bei h264 überhaupt, dass ich eine GOP herausschneide und dann wieder einfüge? Oder gibt es nicht auch Frames, die nach hinten verweisen? Könnte vielleicht da mein Problem liegen?

    Hallo,

    tut mir leid, dass ich diesen alten Artikel hier nochmals auskrame. Ich habe allerdings nun inzwischen doch noch einmal das Bedürfnis erhalten, meine Avi-Dateien umzuwandeln.

    Vielleicht nochmals zur Wiederholung: Ich habe Avi-Dateien, bei denen ich mit VirtualDub die Werbung herausgeschnitten habe. Aus diesen extrahiere ich dann Video- und Audiospur, wandle die Audiospur in AAC um und füge sodann beide Spuren zu einer .m4v-Datei zusammen. Leider klappt das nur mit Dateien, die ich vorher nicht mit VirtualDub geschnitten habe. Sind sie hingegen geschnitten, erhalte ich ein Video, bei dem in Quicktime nach kurzer Zeit das Video nicht mehr abgespielt wird.

    Was ich nun herausgefunden habe: Die Einstellungen, die ich für das Smart Rendering in VirtualDub verwende, sind nicht gleich mit den Einstellungen der Ausgangsdatei. Jetzt habe ich ein Video, bei dem die erste GOP anders codiert ist als der Rest. Mit der ersten GOP scheint Quicktime Probleme zu haben. Schneide ich diese heraus und wandle dann die Avi-Datei in eine .m4v-Datei, erhalte ich ein unter Quicktime abspielbares Video.

    Ich habe die letzten zwei Stunden damit verbracht, die erste GOP neu zu codieren. Leider gelingt es mir nicht, die nötigen Einstellungen aus der Ausgangsdatei zu übernehmen. Gibt es (vllt. auch bei Mediainfo) eine Möglichkeit, aus einem vorhandenen Video die x264-Einstellungen als command line Argumente herauszufiltern?

    Goldwingfahrer: Ich kann leider kein Sample hochladen, da dies sonst gegen das Urheberrecht verstößt. Ich kann es dir allenfalls per Mail schicken (dann zählt es als Privatkopie :))

    Was machst du eigentlich mit ffdshow? Willst du den VfW-Codec als H.264-Encoder benutzen?!

    Du meine Güte, wie sie alle immer noch dieses tote Pferd "H.264 in AVI" reiten... :nein:

    Und gerade in ffdshow wird der x264-Encoder nun wirklich nicht mehr gepflegt. Wenn es unbedingt nötig wäre, dann gäbe es mindestens zwei aktuellere x264vfw-Varianten ... ist es aber nicht. AVC gehört in MP4, zur Not in MKV. Und damit sollte mittlerweile eigentlich (trotz des völlig veralteten Namens) Avidemux umgehen können.

    War nie meine Idee ;) Leider macht das Onlinetvrecorder.com aber weiterhin noch so.
    Und die ffdshow-Codecs brauche ich, damit ich mit VirtualDub framegenau schneiden kann. Avidemux kann meines Erachtens zumindest in der aktuellen Version immer noch nicht vernünftig mit h264 umgehen.

    vielleicht reicht es ja schon das Level mit entsprechenden VBV&Co Einstellungen zu erzwingen,..


    Unfassbar!!!!! Ich habe das Level der temporären mkv geändert und dann mit ffmpeg in den mp4-Container gepackt. ES GEHT !!!! Ich will mich wirklich nicht zu früh freuen, ich muss das jetzt noch an anderen Dateien testen.... aber DANKE !!! Man, endlich :)
    Brauche nur noch ein command line Tool, mit dem man das Level erzwingen kann

    Hallo,
    ich hab leider nicht mehr die Ausgangsdatei der geschnittenen Datei, dafür hab ich aber schnell ne andere genommen: http://pastebin.com/h7pLXghr
    Auch hier ist vfr eingestellt. Was kann ich da machen? Nur neu kodieren?

    Selur: Ja, OTR bietet auch geschnittene mp4-Dateien an, allerdings kann man die nur von deren Server laden. Dazu müsste ich das aber Nachts machen, oder Geld für Punkte einzahlen, um von deren Server laden zu können. Die ungeschnittenen Dateien gibt es hingegen auf vielen Mirror-Servern.

    Was mir noch aufgefallen ist: Könnte es vllt. daran liegen? "Duration_FirstFrame: -120ms" Komischerweise spielt Quicktime ja die ersten drei Sekunden erfolgreich ab, erst danach bleibt das Bild hängen.