> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dodopayments.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Stream Blueprint

> Verfolgen Sie den Verbrauch von Streaming-Daten für Video, Audio, Live-Streams und die Abrechnung von Echtzeitdatenübertragungen.

## Anwendungsfälle

Entdecken Sie gängige Szenarien, die vom Stream Blueprint unterstützt werden:

<CardGroup cols={2}>
  <Card title="Video Platforms" icon="video">
    Rechne Kunden basierend auf dem Video-Bandbreitenverbrauch und der Streaming-Qualität ab.
  </Card>

  <Card title="Music Streaming" icon="music">
    Verfolge die Nutzung von Audio-Streaming pro Benutzer für Abonnementstufen.
  </Card>

  <Card title="Live Events" icon="signal-stream">
    Überwache den Live-Stream-Verbrauch und berechne die Bandbreitennutzung.
  </Card>

  <Card title="Real-Time Data" icon="wave-pulse">
    Verfolge die Echtzeit-Datenübertragung für IoT- und Telemetrieanwendungen.
  </Card>
</CardGroup>

<Info>
  Perfekt für Video- und Audio-Streaming-Plattformen, Live-Streaming-Dienste und Echtzeit-Datenanwendungen.
</Info>

## Schnellstart

Verfolgen Sie die von Ihren Kunden verbrauchten Streaming-Bytes:

<Steps>
  <Step title="Install the SDK">
    ```bash theme={null}
    npm install @dodopayments/ingestion-blueprints
    ```
  </Step>

  <Step title="Get Your API Keys">
    * **Dodo Payments API Key**: Hole ihn im [Dodo Payments Dashboard](https://app.dodopayments.com/developer/api-keys)
  </Step>

  <Step title="Create a Meter">
    Erstelle einen Meter in deinem [Dodo Payments Dashboard](https://app.dodopayments.com/):

    * **Event Name**: `stream_consumption` (oder dein bevorzugter Name)
    * **Aggregation Type**: `sum` um die insgesamt übertragenen Bytes zu verfolgen
    * **Over Property**: `bytes` um die Bandbreitennutzung abzurechnen
  </Step>

  <Step title="Track Stream Usage">
    <CodeGroup>
      ```javascript Video Streaming theme={null}
      import { Ingestion, trackStreamBytes } from '@dodopayments/ingestion-blueprints';

      const ingestion = new Ingestion({
        apiKey: process.env.DODO_PAYMENTS_API_KEY,
        environment: 'test_mode',
        eventName: 'stream_consumption'
      });

      // Track video stream consumption
      await trackStreamBytes(ingestion, {
        customerId: 'customer_123',
        bytes: 10485760, // 10MB
        metadata: {
          stream_type: 'video',
        }
      });
      ```
    </CodeGroup>
  </Step>
</Steps>

## Konfiguration

### Ingestion-Konfiguration

<ParamField path="apiKey" type="string" required>
  Dein Dodo Payments API-Schlüssel aus dem Dashboard.
</ParamField>

<ParamField path="environment" type="string" required>
  Umgebungsmodus: `test_mode` oder `live_mode`.
</ParamField>

<ParamField path="eventName" type="string" required>
  Event-Name, der mit deiner Meter-Konfiguration übereinstimmt.
</ParamField>

### Optionen zum Verfolgen von Stream-Bytes

<ParamField path="customerId" type="string" required>
  Die Kunden-ID für die Abrechnungszuordnung.
</ParamField>

<ParamField path="bytes" type="number">
  Anzahl der im Stream verbrauchten Bytes. Für bandbreitenbasierte Abrechnung erforderlich.
</ParamField>

<ParamField path="metadata" type="object">
  Optionale Metadaten zum Stream wie Streamtyp, Qualität, sessionId usw.
</ParamField>

## Best Practices

<Tip>
  **Nach Segment verfolgen**: Bei langen Streams verfolge den Verbrauch in Segmenten, anstatt auf das Ende des gesamten Streams zu warten.
</Tip>

<Warning>
  **Genaues Byte-Zählen**: Stelle sicher, dass die Byte-Zahlen alle Overheads (Header, Protokoll-Overhead) enthalten, wenn du die gesamte Bandbreite abrechnest.
</Warning>
