Hochgeladenes Audio für zuverlässige Wiedergabe standardisieren
AudioDN ist eine API für Audioverarbeitung und -auslieferung. Sie nimmt inkonsistentes, unterstütztes Quell-Audio — eine Telefonaufnahme, einen Studio-Export, die merkwürdige Codec-Wahl eines Podcast-Hosts — und erzeugt eine vorhersehbare, wiedergabebereite Variante, die dann über signierte URLs ausgeliefert wird. Konfiguriere die Ausgabe einmal (dieses Beispiel nutzt AAC mit 128 kbps), und AudioDN wendet dieses Rezept automatisch auf neue Uploads an. Deine Anwendung lädt nur die Quelle hoch, wartet auf den Abschluss der Verarbeitung und fordert die Variante per Name an. Du betreibst weder FFmpeg, Transcoding-Queues noch Delivery-Infrastruktur.
Was normalize hier bedeutet
In diesem Beispiel bedeutet normalize Formatstandardisierung: ein konsistenter Ausgabe-Codec, Bitrate und Kanalkonfiguration sowie optionales Entfernen von Metadaten und Cover-Art, ausgeliefert als eine benannte Variante. Es bedeutet nicht Loudness-Normalisierung — AudioDN führt in diesem Workflow kein LUFS-Targeting, True-Peak-Limiting, Gain-Anpassung oder Dynamikbearbeitung durch.
Auf einen Blick
| Problem | Hochgeladenes Audio kommt in inkonsistenten Formaten, Codecs und Qualitäten an. |
|---|---|
| Eingabe | Jedes von AudioDN unterstützte Quell-Audio (zum Beispiel WAV, FLAC, MP3). |
| Ausgabe | Eine konsistent benannte Wiedergabevariante — hier aac mit 128 kbps, ausgeliefert als audio/aac. |
| Konfiguriert | Einmal, als organisationsweites Varianten-Rezept (oder pro Spur über die API). |
| Deine Anwendung übernimmt | Upload der Quelle und Integration der Wiedergabe. |
| AudioDN übernimmt | Verarbeitung, Transcoding, Speicherung und sichere Auslieferung. |
So fügt sich der Workflow zusammen
Ein unterstützter Upload wird in vier verwalteten Schritten zu einer konsistenten, abspielbaren Datei. Die Verarbeitung
muss vor der Wiedergabe abgeschlossen sein, daher wartet deine Anwendung, bis die Spur ready ist, und
fordert dann die Variante per Name an.
Unterstütztes Quell-Audio (WAV, FLAC, MP3, ...)
|
v
Zu AudioDN hochladen
|
v
AudioDN verarbeitet die Spur (track_status_id: processing)
|
v
Konfigurierte Variante erzeugt (track_status_id: ready)
|
v
Dieselbe benannte Variante auf Web, Mobil oder Server abspielen 1. Zuerst die Ausgabe konfigurieren
Die Transcode-Variante ist das Feature, um das es in diesem Beispiel wirklich geht. Eine Variante ist ein wiederverwendbares Rezept, das AudioDN sagt, wie jeder unterstützte Upload in eine bestimmte Ausgabe umgewandelt wird. Einmal konfiguriert, erzeugt AudioDN automatisch dieselbe benannte Variante für neue Uploads — dein Code muss den Quell-Codec nie erkennen oder besonders behandeln und fordert das Ergebnis immer unter demselben Namen an.
Eine aac-Transcode-Variante im Dashboard konfigurieren
Melde dich im AudioDN-Dashboard an und öffne Variants.
- Klicke auf Add Variant und wähle den Typ Transcode.
Setze den Index auf
aac, den Codec auf AAC und die Bitrate auf 128. Stereo eingeschaltet lassen und Strip Tags sowie Strip Cover Art aktivieren, um Metadaten zu standardisieren.- Speichern. Neue Uploads werden automatisch in diese
aac-Variante transcodiert.
Die Variante zu einer bestehenden Spur hinzufügen
Organisationsweite Rezepte gelten für neue Uploads. Um dieselbe Ausgabe zu einer einzelnen Spur hinzuzufügen, die
bereits
ready ist, hänge eine spur-spezifische Variante mit POST /v1/track/:track_id/variant an
(Codec und Bitrate standardmäßig aac bei 128). Vollständige Feldreferenz:
Variants API.
Warum AAC mit 128 kbps
AAC ist ein praktischer Standard für allgemeine Web- und App-Wiedergabe: Es wird von modernen Browsern, mobilen
Betriebssystemen und Mediaplayern breit unterstützt, und 128 kbps bietet ein nützliches Gleichgewicht aus Qualität,
Dateigröße und Streaming-Performance für typisches Hören. AudioDN liefert diese Variante mit dem Content-Type
audio/aac aus. Wenn dein Produkt andere Kompromisse braucht, konfiguriere einen anderen Codec oder eine
andere Bitrate oder füge weitere Varianten hinzu — siehe
Variant Types.
2. Die Quelle hochladen
Es spielt keine Rolle, wie die Datei ankommt — ein verlustfreies Studio-Master, eine komprimierte Sprachnotiz oder
was das Telefon eines Hörers erzeugt hat. Der Upload ist eine kurze, explizite Sequenz: Session erstellen (optional
mit verschachteltem Track, um die erste Spur sofort anzulegen), weitere Spuren anlegen, Bytes per PUT an die
Upload-URL der Spur senden, dann warten, bis die Spur
ready ist.
POST /v1/upload_session -> upload_session_id
(optionales verschachteltes track-Objekt) -> auch track_id + track_upload.upload_url
POST /v1/upload/{upload_session_id}/track -> track_upload.upload_url (pro zusätzlicher Datei)
PUT {track_upload.upload_url} (Quell-Bytes senden)
GET /v1/track/{track_id} (pollen, bis track_status_id = ready)
Konfigurierte Variante anfordern (z. B. variants="aac") Optionaler verschachtelter Track
Standardmäßig gibt eine Upload-Session nur eine upload_session_id zurück. Füge ein verschachteltes
track-Objekt bei POST /v1/upload_session hinzu, um auch
track_upload.upload_url in dieser Antwort zu erhalten (weitere Spuren kannst du später hinzufügen).
Andernfalls erstelle jede Spur mit POST /v1/upload/{upload_session_id}/track.
Polle dann GET /v1/track/:track_id, bis track_status_id ready ist, oder höre
auf einen Track-Webhook, bevor du die Wiedergabe startest.
Vollständiges Upload-Beispiel (API und Uploader-Komponente)AnzeigenAusblenden
Option A — Upload über die API
Dein Server (oder Client mit einem Client-Side-Upload-Schlüssel) steuert den Upload direkt.
Upload-Session erstellen
Beispielanfrage
# COLLECTION_ID: uuid of the collection to upload into
curl -X POST "https://api.audiodelivery.net/v1/upload_session" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"collection_id": "COLLECTION_ID",
"expires_in": 7200
}' Spur in der Session erstellen
Beispielanfrage
# SESSION_ID: upload_session_id returned by the previous call
curl -X POST "https://api.audiodelivery.net/v1/upload/SESSION_ID/track" \
-H "Content-Type: application/json" \
-d '{
"file_name": "track.wav"
}' Datei-Bytes hochladen
# Nachdem create-track track_upload.upload_url zurückgibt, PUT der Quell-Bytes.
# Jedes unterstützte Quellformat funktioniert — unabhängig von ursprünglicher Qualität oder Codec.
curl -X PUT "$UPLOAD_URL" \
--data-binary @track.wav \
-H "Content-Type: audio/wav" Option B — Upload über die Uploader-Komponente
Ziehe einen Drag-and-Drop-Uploader in deine Seite; mit einem Client-Side-Upload-Schlüssel ist kein Backend nötig.
Abhängigkeit
npm install @audiodn/components Verwendung
<script type="module">
import '@audiodn/components/uploader';
</script>
<audiodn-uploader
api-key="YOUR_UPLOAD_API_KEY"
collection-id="COLLECTION_ID"
></audiodn-uploader> Die Komponente übernimmt Drag-and-Drop, Fortschritt pro Datei und Retries für dich. Vollständige Attributreferenz: Uploader component docs.
Vollständige Feld-für-Feld-Referenz: Upload Sessions API.
3. Die Variante abspielen
Sobald die Spur ready ist, fordert jede Oberfläche, die dein Produkt ausliefert, exakt dieselbe Variante
per Name an und erhält exakt dieselbe vorhersehbare Datei — ohne Format-Erkennung, ohne plattformspezifische
Sonderfälle. Der schnellste Weg im Web ist die Komponente <audiodn-player> mit einem
Client-Side-Player-Schlüssel:
Abhängigkeit
npm install @audiodn/components Verwendung
<script type="module">
import '@audiodn/components/player';
</script>
<audiodn-player
api-key="YOUR_PLAYER_API_KEY"
scope="track"
id="TRACK_ID"
variants="aac"
size="regular"
></audiodn-player> Live-Demo
Die Hero-Spur der Homepage, hier aus ihrer einzigen standardisierten aac-Variante abgespielt.
Musik von Nyktrn
Dieselbe Variante überall anfordern
Der Player ist optional. Eigene Web-, Mobil-, Flutter-, Native- und Server-Anwendungen können eine Play-Session erstellen und die zurückgegebene signierte URL für dieselbe benannte Variante streamen oder Delivery-URLs direkt für Backend-Wiedergabe signieren.
Website / eigener Player —
<audiodn-player>einbetten oder die Datei für deine eigene UI anfordern. Siehe den Leitfaden Web Integration.Mobile App — eine Play-Session erstellen, die die
aac-Variante aus Swift, Kotlin oder Flutter anfordert, dann die signierte URL mit jedem Plattform-Audioplayer streamen. Siehe Mobile Integration.Server / API — Delivery-URLs für Backend-zu-Backend-Wiedergabe oder Downloads signieren. Siehe Signed Delivery und die Variants API.
Weitere Player-Optionen (Themes, Größen, Playlists, Cover-Art): Player component docs.
Wann dieser Workflow passt
Greife darauf zurück, wann immer dein Produkt Audio akzeptiert, das du nicht kontrollierst, und es konsistent wiedergeben muss. Das umfasst Uploads von Nutzern, Künstlern, Telefonen, Browsern, Aufnahmegeräten, Bearbeitungssoftware, externen Systemen und mehreren Produktionswerkzeugen gleichzeitig.
Es passt zu Musikplattformen, Podcasts, Sprachaufnahmen, Social Audio, Bildungsprodukten, Marktplätzen, Apps mit KI-generiertem Audio und anderen Produkten mit nutzergeneriertem Audio. In jedem Fall kann AudioDN die eigene Infrastruktur ersetzen, die du sonst betreiben würdest: Upload-Speicher, Verarbeitungsqueues, FFmpeg-Worker, Ausgabespeicher, Delivery-Signing und Wiedergabe-Auslieferung.
Was dieses Beispiel nicht abdeckt
Dieses Beispiel konzentriert sich darauf, aus inkonsistenten Uploads ein einheitliches Wiedergabeformat zu erzeugen. Folgendes sind verwandte, aber separate Fähigkeiten und nicht Teil dieses Workflows:
- Preview-Clips — kurze, seek-beschränkte Ausschnitte. Siehe Preview clip player.
- Waveforms — Waveform-Bild- oder Video-Varianten. Siehe Variant Types.
- Zusätzliche Varianten — weitere Bitraten oder Codecs neben
aacfür Multi-Quality-Delivery. - Verlustfreie Downloads — FLAC- oder WAV-Downloads aus demselben Upload anbieten.
- Loudness-Normalisierung — AudioDN führt kein LUFS-Targeting oder Gain-Anpassung durch; dieser Workflow standardisiert das Format, nicht die Lautheit.
FAQ
Wie normalisiere ich von Nutzern hochgeladenes Audio für die Web-Wiedergabe?
Lade die Quelle zu AudioDN hoch, warte, bis track_status_id der Spur ready ist, und fordere dann deine konfigurierte Transcode-Variante an (zum Beispiel AAC mit 128 kbps). AudioDN standardisiert Codec, Bitrate und Kanallayout, sodass jeder Upload als dieselbe vorhersehbare Datei wiedergegeben wird.
Kann AudioDN unterschiedliche Audioformate in ein einheitliches Format konvertieren?
Ja. AudioDN akzeptiert unterstützte Quellformate wie WAV, FLAC und MP3 und transcodiert sie in eine einzige konfigurierte Ausgabevariante, sodass dein Player immer dieselbe konsistente Datei anfordert — unabhängig davon, was hochgeladen wurde.
Muss ich FFmpeg selbst betreiben?
Nein. AudioDN betreibt die Transcoding-Pipeline für dich. Du lädst die Quelle hoch und forderst die fertige Variante an; du betreibst weder FFmpeg-Worker, Verarbeitungsqueues noch eigene Ausgabespeicherung.
Normalisiert AudioDN die Lautheit (Loudness)?
Nein. Dieser Workflow führt Formatstandardisierung durch (Codec, Bitrate, Kanalkonfiguration und Metadatenbehandlung), keine Loudness-Normalisierung, kein LUFS-Targeting, kein True-Peak-Limiting und keine Gain-Anpassung.
Wann ist die Wiedergabevariante verfügbar?
Nachdem die Verarbeitung abgeschlossen ist. Polle GET /v1/track/{track_id}, bis track_status_id ready ist, oder höre auf einen Track-Webhook. Starte die Wiedergabe erst, wenn die Spur ready ist.
Kann ich meinen eigenen Audioplayer verwenden?
Ja. Die Webkomponente audiodn-player ist optional. Jeder Web-, Mobil- oder Server-Client kann eine Play-Session erstellen und die zurückgegebene signierte URL für dieselbe benannte Variante streamen.
Kann dieselbe Variante in einer mobilen App verwendet werden?
Ja. Native iOS-, Android- und Flutter-Apps fordern dieselbe Variante per Name über eine Play-Session an und spielen die zurückgegebene signierte URL mit dem Plattform-Audioplayer ab.
Gibt das Erstellen einer Upload-Session die Upload-URL zurück?
Standardmäßig nein — das Erstellen einer Upload-Session gibt nur eine upload_session_id zurück. Optional kannst du ein verschachteltes track-Objekt bei POST /v1/upload_session mitschicken, um auch track_upload.upload_url in dieser Antwort zu erhalten (weitere Spuren kannst du später hinzufügen). Andernfalls erstelle eine Spur mit POST /v1/upload/{upload_session_id}/track; diese Antwort enthält die spur-spezifische Upload-URL.
Checkliste
- Ein
aac-Transcode-Varianten-Rezept existiert mit 128 kbps (einmal im Dashboard konfiguriert oder zu einer einzelnen Spur perPOST /v1/track/:track_id/varianthinzugefügt). - Eine unterstützte Quelldatei wurde hochgeladen — über die API oder die Komponente
<audiodn-uploader>— und hattrack_status_idreadyerreicht. - Der Player ist auf die Spur gescoped und fordert die
aac-Variante mit einem Client-Side-Player-Schlüssel an. - Dieselbe
aac-Variante wird konsistent über Web-, Mobil- und Server-Integrationen angefordert.