2008-09-10 7 views
6

Ich versuche, mehrere Audiodateien zu einer mp4/m4a-Datei mit Kapitelmetadaten zusammenzufügen.Erstellen von MP4/M4A-Dateien mit Kapitelmarkierungen

Ich verwende derzeit QTKit, um dies zu tun, aber leider, wenn QTKit exportiert in das Format M4a die Metadaten sind alle ausgestreift (dies wurde von Apple als Fehler bestätigt) siehe sample code. Ich denke, dass dies QTKit für diesen Job bestimmt, aber würde glücklich sein, sich als falsch erwiesen zu haben, da es eine wirklich nette API dafür ist, wenn es funktionierte.

Also, ich bin auf der Suche nach einer Möglichkeit, Audiodateien (Eingangsformat ist nicht so wichtig, wie ich konvertieren kann) in eine m4a-Datei mit Kapiteln Metadaten zu verketten.

Als Alternative zum Code bin ich offen für die Idee, ein vorhandenes Befehlszeilentool zu verwenden, um dies zu erreichen, solange es als Teil einer anderen Anwendung weitervertreibbar ist.

Irgendwelche Ideen?

Antwort

3

Audiobook Maker macht so etwas, und ich glaube, es verwendet ffmpeg unter der Haube. Es ist Open Source, also vielleicht einen Blick wert?

+0

Es verwendet ChapterTool und es ist leider immer noch eine PPC-Binärdatei. – adib

0

Je nachdem, wo der Fehler liegt, können Sie versuchen, direkt zu den QuickTime C-APIs zu gehen, um die Filmdatei zu schreiben. Sie können auch versuchen, die Kapitelspur mithilfe der C-APIs hinzuzufügen.

Jedes Wort auf, wenn Apple den Fehler beheben wird? Ich plane, erweiterte Podcasts mit QTKit zu erstellen, und das muss funktionieren.

+0

Kein Wort, wenn der Fehler behoben wird, aber bitte loggen Sie sich in Radar ein, da dies die Prioritätenliste stört. –

+0

Ist es schon behoben? – adib

1

Ich habe diese Typen entdeckt: sensoryresearch, die eine API lizenzieren, um Kapitel-/Text-/Link-Tracks zu MP4s zu schreiben (was ein M4A ist).

0

Commandline-Tool mp4chaps macht die Arbeit. Es ist von mp4v2-utils-Paket, wenn Sie Ubuntu verwenden. Denken Sie daran, das qt-Format für quicktime anzugeben, da Kapitelmarken im Nero-Format anscheinend weniger verwendet werden.