Programm
Mit einem Programm können Sie die Veröffentlichung und Speicherung von Segmenten in einem Livestream steuern. Programme können gleichzeitig ausgeführt werden. So können Sie verschiedene Teile des Ereignisses nach Bedarf veröffentlichen und archivieren.
Sie können die Anzahl der Stunden angeben, für die Sie den aufgezeichneten Inhalt für das Programm beibehalten möchten, indem Sie die ArchiveWindowLength
-Eigenschaft festlegen (bis zu 25 Stunden). Clients können die archivierten Inhalte für eine angegebene Stundenanzahl durchsuchen. Wenn das Programm länger ausgeführt wird, als in "ArchiveWindowLength" angegeben, wird der ältere Inhalt entfernt. Weitere Informationen finden Sie weiter unten in der Dokumentation zu ArchiveWindowLength
.
Dieses Thema enthält eine Übersicht über die Entität Program
. Darüber hinaus wird gezeigt, wie unterschiedliche Vorgänge mit der Media Services REST-API ausgeführt werden.
Wichtig
Wenn Sie in Media Services auf Entitäten zugreifen, müssen Sie bestimmte Headerfelder und Werte in Ihren HTTP-Anforderungen festlegen.
Weitere Informationen finden Sie unter Einrichten der Media Services-REST-API-Entwicklung und Herstellen einer Verbindung mit Media Services mit der Media Services-REST-API.
Eigenschaften der Entität "Program"
Die Entität "Program" enthält die folgenden Eigenschaften.
Eigenschaft | type | BESCHREIBUNG |
---|---|---|
Id Schreibgeschützt. Wird von Media Services festgelegt. |
Edm.String | Die Programm-ID, die bei der Erstellung zugeordnet wird. Das Format lautet: nb:pgid:UUID:<GUID>. |
Name |
Edm.String | Der Name des Programms. Die maximale Länge beträgt 256 Zeichen und kann aus englischen Zeichen und Zahlen, einschließlich "-" und " " bestehen, solange er mit alphanumerischen Zeichen beginnt und endet. |
AssetId |
Edm.String | Die für die Programmverarbeitung zu verwendende Medienobjekt-ID. Die Eigenschaft kann nur aktualisiert werden, wenn sich das Programm im Status Stopped befindet. Ein Medienobjekt kann nicht gelöscht werden, wenn es durch ein Programm verwendet wird. Sie können ein Medienobjekt löschen, nachdem Sie das Programm gelöscht haben, das es verwendet. |
Created Schreibgeschützt. Wird von Media Services festgelegt. |
Edm.DateTime | Der Erstellungszeitpunkt (UTC-Datum und -Uhrzeit). |
Description |
Edm.String | Vom Benutzer bereitgestellte Beschreibung. Die maximale Länge beträgt 256 Zeichen. |
ArchiveWindowLength Erforderlich. |
Edm.Time | Die Anzahl der Stunden, die Sie den aufgezeichneten Inhalt für das Programm aufbewahren möchten. Dieser Wert kann von mindestens 5 Minuten bis zu einem Höchstwert von 25 Stunden eingestellt werden. Damit schreiben Sie auch vor, wie weit Clients von der aktuellen Liveposition aus maximal in der Vergangenheit suchen können. Programme können über die angegebene Zeitspanne laufen. Inhalte, die über das Zeitfenster hinausgehen, werden jedoch fortlaufend verworfen. Der Wert dieser Eigenschaft legt außerdem fest, wie lange Clientmanifeste wachsen können. Beenden und Löschen Sie zum Löschen des archivierten Inhalts das Programm, und löschen Sie anschließend das mit dem Programm verknüpfte Medienobjekt. |
LastModified Schreibgeschützt. Wird von Media Services festgelegt. |
Edm.DateTime | Das Datum und die Uhrzeit der letzten Änderung. |
ManifestName |
Edm.String | Der Manifestdateiname ohne Erweiterung. Diese Eigenschaft kann nur aktualisiert werden, wenn sich das Programm im Status Stopped befindet. |
State Schreibgeschützt. Wird von Media Services festgelegt. |
Edm.String | Ruft den aktuellen Status ab. Mögliche Werte sind: – Stopped: Nach der Erstellung eines Programms befindet es sich im Status Stopped. In diesem Status können die Programmeigenschaften aktualisiert werden, das Streaming ist jedoch nicht erlaubt. Das Programm kann von diesem Status gestartet, aktualisiert oder gelöscht werden. – Starting: Programm wird gestartet. In diesem Status sind weder Updates noch Streaming zulässig. – Running: Programm kann Livestreams verarbeiten und archivieren. – Stopping: Programm wird beendet. In diesem Status sind weder Updates noch Streaming zulässig. |
ChannelId Schreibgeschützt. Wird von Media Services festgelegt. |
Edm.String | Die ID des übergeordneten Kanals des Programms. |
Channel |
Kanal | Der durch die ChannelId angegebene übergeordnete Kanal des Programms. |
Erstellen von Programmen
Erstellen Sie ein neues Programm.
Methode | Anforderungs-URI | HTTP-Version |
---|---|---|
POST | <https:// accountname.restv2>.<location.media.azure.net/api/Programs> | HTTP/1.1 |
Beispiel für eine Anforderung
Sie können das folgende Beispiel auf der Registerkarte "Fiddler es Composer" ausprobieren.
Informationen zum Aktuellen x-ms-version:
finden Sie unter Media Services REST.
Anforderungsheader:
POST https://testrest.cloudapp.net/api/Programs HTTP/1.1
DataServiceVersion: 3.0;NetFx
MaxDataServiceVersion: 3.0;NetFx
Accept: application/json;odata=minimalmetadata
Accept-Charset: UTF-8
x-ms-version: 2.19
Content-Type: application/json;odata=minimalmetadata
Host: <host URI>
User-Agent: Microsoft ADO.NET Data Services
Authorization: Bearer <token value>
Anforderungstext:
{"Id":null,"Name":"testprogram001","Description":"","Created":"0001-01-01T00:00:00","LastModified":"0001-01-01T00:00:00","ChannelId":"nb:chid:UUID:83bb19de-7abf-4907-9578-abe90adfbabe","AssetId":"nb:cid:UUID:bc495364-5357-42a1-9a9d-be54689cfae2","ArchiveWindowLength":"PT1H","State":null,"ManifestName":null}
Bei Erfolg wird der Statuscode 202 Accepted mit einer Darstellung der erstellten Entität im Antworttext zurückgegeben.
{"odata.metadata":"https://testrest.cloudapp.net/api/$metadata#Programs/@Element","Id":"nb:pgid:UUID:b870dd57-4b04-41b6-849d-b2470e50e7e6","Name":"testprogram001","Description":"","Created":"2014-08-11T18:12:27.8381256Z","LastModified":"2014-08-11T18:12:27.8381256Z","ChannelId":"nb:chid:UUID:83bb19de-7abf-4907-9578-abe90adfbabe","AssetId":"nb:cid:UUID:bc495364-5357-42a1-9a9d-be54689cfae2","ArchiveWindowLength":"PT1H","State":"Stopped","ManifestName":"f91329ec-26f5-4026-87f5-f5437d4da9e6"}
Hinweis
Dieser Vorgang wird synchron fertig gestellt, daher gibt es keine nachzuverfolgende Vorgangs-ID.
Starten von Programmen
Starten Sie ein Programm. Ein Programm kann nur gestartet werden, wenn es sich im Status Stopped und der Kanal sich im Status Running befindet.
Methode | Anforderungs-URI | HTTP-Version |
---|---|---|
Start | <https:// accountname.restv2>.<location.media.azure.net/api/Programs>('ProgramId')/Start | HTTP/1.1 |
Beispiel für eine Anforderung
Sie können das folgende Beispiel auf der Registerkarte "Fiddler's Composer" ausprobieren.
Informationen zum Aktuellen x-ms-version:
finden Sie unter Media Services REST.
Anforderungsheader:
POST https://testrest.cloudapp.net/api/Programs('nb:pgid:UUID:0f9ceb51-50fe-4769-aaed-f8c19d76b9bc')/Start HTTP/1.1
DataServiceVersion: 3.0;NetFx
MaxDataServiceVersion: 3.0;NetFx
Accept: application/json;odata=minimalmetadata
Accept-Charset: UTF-8
x-ms-version: 2.19
Content-Type: application/json;odata=minimalmetadata
Host: <host URI>
User-Agent: Microsoft ADO.NET Data Services
Authorization: Bearer <token value>
Bei Erfolg wird der Statuscode 202 Accepted zurückgegeben. Der Statuscode 202 Accepted zeigt einen asynchronen Vorgang an, wobei der Vorgangs-ID-Headerwert ebenfalls bereitgestellt wird, der beim Abrufen und Nachverfolgen des Status langer Vorgänge, wie beispielsweise das Starten und Beenden eines Programms, verwendet wird. Übergeben Sie den Vorgangs-ID-Headerwert an die Vorgangsentität, um den Status abzurufen. Weitere Informationen finden Sie unter Manuelles Abfragen von Long-Running Vorgängen.
Beenden eines Programms
Beenden Sie ein Programm. Ein Programm kann nur beendet werden, wenn es sich im Status Running befindet. Das ist ein asynchroner Vorgang.
Methode | Anforderungs-URI | HTTP-Version |
---|---|---|
Beenden | <https:// accountname.restv2>.<location.media.azure.net/api/Programs>('ProgramId')/Stop | HTTP/1.1 |
Beispiel für eine Anforderung
Sie können das folgende Beispiel auf der Registerkarte "Fiddler's Composer" ausprobieren.
Informationen zum Aktuellen x-ms-version:
finden Sie unter Media Services REST.
Anforderungsheader:
POST https://testrest.cloudapp.net/api/Programs('nb:pgid:UUID:0f9ceb51-50fe-4769-aaed-f8c19d76b9bc')/Stop HTTP/1.1
DataServiceVersion: 3.0;NetFx
MaxDataServiceVersion: 3.0;NetFx
Accept: application/json;odata=minimalmetadata
Accept-Charset: UTF-8
x-ms-version: 2.19
Content-Type: application/json;odata=minimalmetadata
Host: <host URI>
User-Agent: Microsoft ADO.NET Data Services
Authorization: Bearer <token value>
Bei Erfolg wird der Statuscode 202 Accepted zurückgegeben. Der Statuscode 202 Accepted zeigt einen asynchronen Vorgang an, wobei der Vorgangs-ID-Headerwert ebenfalls bereitgestellt wird, der beim Abrufen und Nachverfolgen des Status langer Vorgänge, wie beispielsweise das Starten und Beenden eines Programms, verwendet wird. Übergeben Sie den Vorgangs-ID-Headerwert an die Vorgangsentität, um den Status abzurufen. Weitere Informationen finden Sie unter Manuelles Abfragen von Long-Running Vorgängen.
Auflisten von Programmen
Programme werden mithilfe einer GET HTTP-Anforderung abgerufen.
Methode | Anforderungs-URI | HTTP-Version |
---|---|---|
GET | Rufen Sie alle Programme im Media Services-Konto ab: <https:// accountname.restv2>.<location.media.azure.net/api/Programs> Rufen Sie ein angegebenes Programm im Media Services-Konto ab: <https:// accountname.restv2>.<location.media.azure.net/api/Programs>('ProgramId') Rufen Sie alle mit einem angegebenen Kanal verknüpften Programme ab: <https:// accountname.restv2>.<location.media.azure.net/api/Channels>('channelid')/Programs |
HTTP/1.1 |
Beispiel für eine Anforderung
Sie können das folgende Beispiel auf der Registerkarte "Fiddler's Composer" ausprobieren.
Informationen zum Aktuellen x-ms-version:
finden Sie unter Media Services REST.
Anforderungsheader:
GET https://testrest.cloudapp.net/api/Programs HTTP/1.1
DataServiceVersion: 3.0;NetFx
MaxDataServiceVersion: 3.0;NetFx
Accept: application/json;odata=minimalmetadata
Accept-Charset: UTF-8
x-ms-version: 2.19
Content-Type: application/json;odata=minimalmetadata
Host: <host URI>
User-Agent: Microsoft ADO.NET Data Services
Authorization: Bearer <token value>
Bei erfolgreicher Ausführung gibt dieser Vorgang einen Code mit 200 OK status und eine Liste aller Programme zurück, die in Ihrem Media Services-Konto erstellt wurden.
Aktualisieren von Programmen
Aktualisieren Sie ein Programm. Das Programm muss den Status Stopped aufweisen.
Methode | Anforderungs-URI | HTTP-Version |
---|---|---|
PATCH/PUT/MERGE Weitere Informationen zu diesen Vorgängen finden Sie unter PATCH, PUT, MERGE. |
<https:// accountname.restv2>.<location.media.azure.net/api/Programs>('ProgramId') | HTTP/1.1 |
Beispiel für eine Anforderung
Sie können das folgende Beispiel auf der Registerkarte "Fiddler's Composer" ausprobieren.
Informationen zum Aktuellen x-ms-version:
finden Sie unter Media Services REST.
Anforderungsheader:
PATCH https://testrest.cloudapp.net/api/Programs('nb:pgid:UUID:0f9ceb51-50fe-4769-aaed-f8c19d76b9bc') HTTP/1.1
DataServiceVersion: 3.0;NetFx
MaxDataServiceVersion: 3.0;NetFx
Accept: application/json;odata=minimalmetadata
Accept-Charset: UTF-8
x-ms-version: 2.19
Content-Type: application/json;odata=minimalmetadata
Host: <host URI>
User-Agent: Microsoft ADO.NET Data Services
Authorization: Bearer <token value>
Anforderungstext:
{"ArchiveWindowLength":"PT3H"}
Wird die Aktualisierung synchron beendet, wird der Statuscode 204 No Content zurückgegeben; anderfalls wird der Statuscode 202 Accepted zurückgegeben. Der Statuscode 202 Accepted zeigt einen asynchronen Vorgang an, wobei der Vorgangs-ID-Headerwert ebenfalls bereitgestellt wird, der beim Abrufen und Nachverfolgen des Status langer Vorgänge, wie beispielsweise das Starten und Beenden eines Programms, verwendet wird. Übergeben Sie den Vorgangs-ID-Headerwert an die Vorgangsentität, um den Status abzurufen. Weitere Informationen finden Sie unter Manuelles Abfragen von Long-Running Vorgängen.
Löschen von Programmen
Löschen Sie ein Programm. Ein Programm kann nur gelöscht werden, wenn er sich im Status Stopped befindet.
Methode | Anforderungs-URI | HTTP-Version |
---|---|---|
Delete | <https:// accountname.restv2>.<location.media.azure.net/api/Programs>('ProgramId') | HTTP/1.1 |
Beispiel für eine Anforderung
Sie können das folgende Beispiel auf der Registerkarte "Fiddler's Composer" ausprobieren.
Informationen zum Aktuellen x-ms-version:
finden Sie unter Media Services REST.
Anforderungsheader:
DELETE https://testrest.cloudapp.net/api/Programs('nb:pgid:UUID:0f9ceb51-50fe-4769-aaed-f8c19d76b9bc') HTTP/1.1
DataServiceVersion: 3.0;NetFx
MaxDataServiceVersion: 3.0;NetFx
Accept: application/json;odata=minimalmetadata
Accept-Charset: UTF-8
x-ms-version: 2.19
Content-Type: application/json;odata=minimalmetadata
Host: <host URI>
User-Agent: Microsoft ADO.NET Data Services
Authorization: Bearer <token value>
Bei Erfolg wird ein 204 No Content-Statuscode zurückgegeben.
Hinweis
Dieser Vorgang wird synchron fertig gestellt, daher gibt es keine nachzuverfolgende Vorgangs-ID.