

# Erste Schritte mit IVS Serverseitige Zusammensetzung
<a name="ssc-getting-started"></a>

Dieses Dokument führt Sie durch die Schritte zum Einstieg in IVS Serverseitige Zusammensetzung.

## Voraussetzungen
<a name="ssc-getting-started-prerequisites"></a>

Um die serverseitige Zusammensetzung verwenden zu können, müssen Sie über eine Stage mit aktiven Publishern verfügen und einen IVS-Kanal und/oder einen S3-Bucket als Zusammensetzungsziel verwenden.

Informationen zum Erstellen eines S3-Buckets finden Sie in der S3-Dokumentation zum [Erstellen von Buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-bucket.html). Der S3-Bucket muss in der gleichen AWS-Region wie die IVS-Stage erstellt werden.

**Wichtig**: Wenn Sie einen vorhandenen S3-Bucket nutzen, ist Folgendes zu berücksichtigen:
+ Für die Einstellung **Objekteigentümerschaft** muss entweder **Bucket-Eigentümer erzwungen** oder **Bucket-Eigentümer bevorzugt** aktiviert sein.
+ Die **Standardverschlüsselung** muss **Serverseitige Verschlüsselung mit von Amazon S3 verwalteten Schlüsseln (SSE-S3)** sein.

Einzelheiten finden Sie in der S3-Dokumentation zum [Steuern der Eigentümerschaft von Objekten](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) und zum [Datenschutz durch Verschlüsselung](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingEncryption.html).

## API-Anweisungen
<a name="ssc-getting-started-api-instructions"></a>

Nachfolgend wird ein möglicher Workflow beschrieben, der EventBridge-Ereignisse verwendet, um eine Zusammensetzung zu starten, die die Stage an einen IVS-Kanal sendet, wenn ein Teilnehmer etwas veröffentlicht. Alternativ können Sie Zusammensetzungen basierend auf Ihrer eigenen App-Logik starten und stoppen. Unter [Zusammengesetzte Aufzeichnung](rt-composite-recording.md) finden Sie ein weiteres Beispiel, das die Verwendung serverseitiger Zusammensetzung zur direkten Aufzeichnung einer Stage in einem S3-Bucket demonstriert.

1. Erstellen Sie einen IVS-Kanal. Weitere Informationen finden Sie unter [Erste Schritte mit Amazon-IVS-Streaming mit niedriger Latenz](https://docs.aws.amazon.com//ivs/latest/LowLatencyUserGuide/getting-started.html).

1. Erstellen Sie für jeden Publisher eine IVS-Stage und Teilnehmer-Tokens.

1. Erstellen Sie eine [EncoderConfiguration](https://docs.aws.amazon.com//ivs/latest/RealTimeAPIReference/API_EncoderConfiguration.html).

1. Treten Sie der Stage bei und veröffentlichen Sie dort. (Weitere Informationen finden Sie in den Abschnitten „Veröffentlichen und Abonnieren“ der SDK-Anleitungen für Echtzeit-Streaming-Broadcasts: [Web](https://docs.aws.amazon.com//ivs/latest/RealTimeUserGuide/web-publish-subscribe.html), [Android](https://docs.aws.amazon.com//ivs/latest/RealTimeUserGuide/android-publish-subscribe.html) und [iOS](https://docs.aws.amazon.com//ivs/latest/RealTimeUserGuide/ios-publish-subscribe.html).)

1. Wenn Sie ein vom Teilnehmer veröffentlichtes EventBridge-Ereignis erhalten, rufen Sie [StartComposition](https://docs.aws.amazon.com//ivs/latest/RealTimeAPIReference/API_StartComposition.html) mit Ihrer gewünschten Layout-Konfiguration auf.

1. Warten Sie einige Sekunden und sehen Sie sich die zusammengesetzte Ansicht in der Kanalwiedergabe an.

![\[Serverseitiger Zusammensetzungs-Workflow, der EventBridge-Ereignisse verwendet, um eine Zusammensetzung zu starten, wenn ein Teilnehmer etwas veröffentlicht.\]](http://docs.aws.amazon.com/de_de/ivs/latest/RealTimeUserGuide/images/ssc_Workflow.png)


**Hinweis**: Eine Zusammensetzung wird nach 60 Sekunden Inaktivität von Publisher-Teilnehmern in der Stage automatisch heruntergefahren. An diesem Punkt wird die Zusammensetzung beendet und geht in einen `STOPPED`-Status über. Eine Zusammensetzung wird nach einigen Minuten im `STOPPED`-Status automatisch gelöscht.

## CLI-Anweisungen
<a name="ssc-getting-started-cli"></a>

Die Verwendung von AWS CLI ist eine Advanced Option und erfordert, dass Sie zuerst die CLI auf Ihrem Computer herunterladen und konfigurieren. Informationen zu den ersten Schritten finden Sie im [Benutzerhandbuch für die AWS-Befehlszeilenschnittstelle](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html).

Nun können Sie mit der CLI Ressourcen erstellen und verwalten. Die Composition-Vorgänge befinden sich unter dem Namespace `ivs-realtime`.

### Erstllen der EncoderConfiguration-Ressource
<a name="ssc-getting-started-cli-create-encoderconfiguration"></a>

Eine EncoderConfiguration ist ein Objekt, mit dem Sie das Format des generierten Videos (Höhe, Breite, Bitrate und andere Streaming-Parameter) anpassen können. Sie können eine EncoderConfiguration bei jedem Aufruf des Composition-Vorgangs wiederverwenden, wie im nächsten Schritt erläutert.

Der folgende Befehl erstellt eine EncoderConfiguration-Ressource, die serverseitige Parameter für die Videozusammensetzung wie Videobitrate, Bildrate und Auflösung konfiguriert:

```
aws ivs-realtime create-encoder-configuration --name "MyEncoderConfig" --video "bitrate=2500000,height=720,width=1280,framerate=30"
```

Die Antwort ist:

```
{
"encoderConfiguration": {
  "arn": "arn:aws:ivs:us-east-1:927810967299:encoder-configuration/9W59OBY2M8s4",
  "name": "MyEncoderConfig",
  "tags": {},
  "video": {
	 "bitrate": 2500000,
	 "framerate": 30,
	 "height": 720,
	 "width": 1280
    }
  }
}
```

### Starten einer Zusammensetzung
<a name="ssc-getting-started-cli-start-mediapublish"></a>

Erstellen Sie mithilfe des in der obigen Antwort bereitgestellten EncoderConfiguration-ARN Ihre Zusammensetzungsressource:

**Beispiel für ein Raster-Layout**

```
aws ivs-realtime start-composition --stage-arn "arn:aws:ivs:us-east-1:927810967299:stage/8faHz1SQp0ik" --destinations '[{"channel": {"channelArn": "arn:aws:ivs:us-east-1:927810967299:channel/DOlMW4dfMR8r", "encoderConfigurationArn": "arn:aws:ivs:us-east-1:927810967299:encoder-configuration/9W59OBY2M8s4"}}]' --layout '{"grid":{"participantOrderAttribute":"order","featuredParticipantAttribute":"isFeatured","videoFillMode":"COVER","gridGap":0}}'
```

**Beispiel für ein PiP-Layout**

```
aws ivs-realtime start-composition --stage-arn "arn:aws:ivs:us-east-1:927810967299:stage/8faHz1SQp0ik" --destinations '[{"channel": {"channelArn": "arn:aws:ivs:us-east-1:927810967299:channel/DOlMW4dfMR8r", "encoderConfigurationArn": "arn:aws:ivs:us-east-1:927810967299:encoder-configuration/DEkQHWPVaOwO"}}]' --layout '{"pip":{"participantOrderAttribute":"priority","pipParticipantAttribute":"isPip","pipOffset":10,"pipPosition":"TOP_RIGHT"}}'
```

**Hinweis**: Mit [diesem Tool](https://composition.ivsdemos.com/) können Sie die `--layout`-Konfiguration basierend auf Ihrer Layout-Auswahl einfacher generieren.

Die Antwort zeigt, dass die Zusammensetzung mit einem `STARTING`-Status erstellt wurde. Sobald die Zusammensetzung mit der Veröffentlichung der Zusammensetzung beginnt, geht der Status in `ACTIVE` über. (Sie können den Status anzeigen, indem Sie den Vorgang ListCompositions oder GetComposition aufrufen.)

Sobald eine Zusammensetzung `ACTIVE` ist, wird die zusammengesetzte Ansicht der IVS-Stage mithilfe von ListCompositions auf dem IVS-Kanal angezeigt:

```
aws ivs-realtime list-compositions
```

Die Antwort ist:

```
{
"compositions": [
  {
	 "arn": "arn:aws:ivs:us-east-1:927810967299:composition/YVoaXkKdEdRP",
	 "destinations": [
		{
		   "id": "bD9rRoN91fHU",
		   "startTime": "2023-09-21T15:38:39+00:00",
		   "state": "ACTIVE"
		}
	 ],
	 "stageArn": "arn:aws:ivs:us-east-1:927810967299:stage/8faHz1SQp0ik",
	 "startTime": "2023-09-21T15:38:37+00:00",
	 "state": "ACTIVE",
	 "tags": {}
    }
  ]
}
```

**Hinweis**: Damit die Zusammensetzung aktiv bleibt, müssen die Publisher-Teilnehmer aktiv in der Stage veröffentlichen. Weitere Informationen finden Sie in den Abschnitten „Veröffentlichen und Abonnieren“ der SDK-Anleitungen für Echtzeit-Streaming-Broadcasts: [Web](https://docs.aws.amazon.com//ivs/latest/RealTimeUserGuide/web-publish-subscribe.html), [Android](https://docs.aws.amazon.com//ivs/latest/RealTimeUserGuide/android-publish-subscribe.html) und [iOS](https://docs.aws.amazon.com//ivs/latest/RealTimeUserGuide/ios-publish-subscribe.html). Sie müssen für jeden Teilnehmer ein eigenes Stage-Token erstellen.