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
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
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.
Weiß denn jemand, wie das Smart Rendering bei VirtualDub funktioniert? Bearbeitet er nur von Keyframe zu Keyframe neu?
Was ist denn der Unterschied zwischen einem "Keyframe" und I-/IDR-Frame?
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.
Habe versucht, so viel wie möglich bei ffdshow anzupassen. Leider habe ich da nicht ganz so viele Möglichkeiten, wie es per Parameter möglich wäre... Gebe jetzt auf, keine Ahnung, woran das liegt!
Danke jedenfalls, für eure Mithilfe!
Zu früh gefreut... geht doch nicht. Keine Ahnung, weshalb ich bei einer Datei Glück hatte. Das ist wirklich nervig
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
Hm, wo finde ich diese Einstellungsmöglichkeiten denn bei ffdshow? Da kann man das glaube ich gar nicht einstellen
Hm naja aber nachdem OTR das so auch macht: Wenn ich die ungeschnittenen Dateien umwandle, geht es ja! D.h. an vfr kann es eigentlich nicht liegen.
Ok, ich bin ratlos: Der Quicktime-Player unter Windows hat keine Probleme damit... auch meine iPhone nicht. Nur Quicktime und iTunes. Seltsam
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.
Hi!
Danke für eure Antworten.
Goldwingfahrer: Ich habe schon eine recht große Sammlung an Filmen, die bereits ohne Werbung sind. Deswegen suche ich dafür eine Lösung
Hier mal ein paar Infos über eine umgewandelte Datei: http://pastebin.com/gM53yLbL
Was stimmt an der nicht?