Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Manifestfilterung
Bei der Manifestfilterung erzeugt AWS Elemental MediaPackage dynamisch Clientmanifeste basierend auf Parametern, die Sie in einer Abfrage angeben, die an Ihre Wiedergabeanforderung angehängt wird. Auf diese Weise können Sie beispielsweise den Viewer-Zugriff auf Premium-4K-HEVC-Inhalte einschränken oder bestimmte Gerätetypen und Audio-Samplingratenbereiche anvisieren – alles von einem einzigen Endpunkt aus. Zuvor müssten Sie mehrere Endpunkte konfigurieren, um dieses Verhalten zu erreichen. MediaPackage bietet jetzt eine kostengünstige Möglichkeit, verschiedene Client-Manifeste auf demselben Endpunkt dynamisch zu erzeugen.
Arbeiten mit Manifestfiltern
Wenn Sie einen Manifestfilter verwenden, enthält das resultierende Manifest nur die Audio- und Videostreams, die den Eigenschaften entsprechen, die Sie in der Abfrage angeben. Wenn kein Manifestfilter verwendet wird, sind alle aufgenommenen Streams im Endpunkt-Ausgabestream vorhanden. Die Ausnahme dazu ist, wenn Sie Streamfilter für den Endpunkt festgelegt haben, wie etwa die minimale Videobitrate. In diesem Fall wird der Manifestfilter nach dem Streamfilter angewendet, wodurch die Ausgabe verzerrt werden kann. Dies wird nicht empfohlen.
Die Manifestfilterung kann für alle von unterstützten Endpunkttypen verwendet werden MediaPackage:
-
Apple HLS
-
DASH-ISO
-
Microsoft Smooth Streaming
-
CMAF
Um die Manifestfilterung zu verwenden, fügen Sie Ihrer Wiedergabeanforderung aws.manifestfilter
Abfrageparameter an MediaPackage. MediaPackage bewertet die Abfrage und stellt basierend auf diesen Abfrageparametern ein Client-Manifest bereit. Bei Manifestabfragen wird nicht zwischen Groß- und Kleinschreibung unterschieden. Sie können bis zu 1024 Zeichen lang sein. Wenn die Abfrage fehlerhaft ist oder keine Streams vorhanden sind, die den Abfrageparametern entsprechen, gibt MediaPackage ein unvollständiges oder leeres Manifest zurück. Informationen zur Abfragesyntax finden Sie im folgenden Abschnitt.
Anmerkung
Wenn Sie Apple HLS- oder CMAF-Endpunkte verwenden, gelten spezielle Bedingungen. Hinweise zu diesen Bedingungen finden Sie unter Besondere Bedingungen für HLS- und CMAF-Manifeste.
Abfragesyntax
Der Basis-Abfrageparameter ist aws.manifestfilter
, gefolgt von optionalen Parameternamen/Werte-Paaren. Um die Abfrage zu erstellen, fügen Sie ?aws.manifestfilter=
an das Ende der MediaPackage Endpunkt-URL an, gefolgt von Parameternamen und -werten. Eine Liste aller verfügbaren Parameter finden Sie unter Manifestfilterabfrageparameter.
Eine Apple HLS-Filterabfrage könnte folgendermaßen aussehen:
https://example-mediapackage-endpoint.mediapackage.us-west-2.amazonaws.com/out/v1/examplemediapackage/index.m3u8
?aws.manifestfilter=audio_sample_rate:0-44100;video_bitrate:0-2147483647;video_codec:h265;audio_language:fr,en-US,de
Die Abfragesyntax ist in der folgenden Tabelle aufgeführt.
Abfragezeichenfolgekomponente | Beschreibung |
---|---|
? |
Ein eingeschränktes Zeichen, das den Anfang einer Abfrage markiert. |
aws.manifestfilter= |
Die Basisabfrage, gefolgt von Parametern aus Name- und Wert-Paaren. Eine Liste aller verfügbaren Parameter finden Sie unter Manifestfilterabfrageparameter. |
: |
Wird verwendet, um dem Parameternamen einen Wert zuzuordnen. Beispiel:
|
; |
Trennt Parameter in einer Abfrage, die mehrere Parameter enthält. Beispiel:
|
, |
Trennt eine Liste von Werten. Beispiel: parameter_name: Durch Kommas getrennte Werte in einer Liste implizieren eine OR -Beziehung. |
- |
Wird verwendet, um den Wertebereich eines Parameters zu definieren. Beispiel: audio_sample_rate:0-44100 Wenn ein numerischer Wert in einem Bereich verwendet wird, wird er in die Bereichsdefinition aufgenommen. Das bedeutet, dass Streams mindestens dem Mindestwert und höchstens dem Höchstwert entsprechen müssen. Bei Bereichen sind die Mindest- und Höchstwerte obligatorisch. Die unterstützten Bereichswerte sind 0 –2147483647 . |
Anmerkung
Wenn Sie Amazon CloudFront als CDN verwenden, müssen Sie möglicherweise zusätzliche Konfigurationen festlegen. Weitere Informationen finden Sie unter Konfigurieren der Cache-Verhaltensweisen für alle Endpunkte.
Manifestfilterabfrageparameter
MediaPackage unterstützt die folgenden Abfrageparameter.
Kategorie | Name | Beschreibung | Beispiel |
---|---|---|---|
Audio | audio_bitrate |
|
stream.mpd?aws.manifestfilter=audio_bitrate:0-2147483647 |
Audio | audio_channels |
|
stream.mpd?aws.manifestfilter=audio_channels:1-8 |
Audio | audio_codec |
|
stream.mpd?aws.manifestfilter=audio_codec:AACL,AC-3 |
Audio | audio_language |
|
stream.mpd?aws.manifestfilter=audio_language:fr,en-US,de |
Audio | audio_sample_rate |
|
stream.mpd?aws.manifestfilter=audio_sample_rate:0-44100 |
Untertitel | subtitle_language |
|
stream.mpd?aws.manifestfilter=subtitle_language:en-US, hi |
Video | trickplay_height |
|
stream.mpd?aws.manifestfilter=trickplay_height:200-1200 |
Video | trickplay_type |
|
stream.mpd?aws.manifestfilter=trickplay_type:iframe |
Video | video_bitrate |
|
stream.mpd?aws.manifestfilter=video_bitrate:0-2147483647 |
Video | video_codec |
|
stream.mpd?aws.manifestfilter=video_codec:h264 |
Video | video_dynamic_range |
|
stream.mpd?aws.manifestfilter=video_dynamic_range:hdr10 |
Video | video_framerate |
|
stream.mpd?aws.manifestfilter=video_framerate:23.976-30 |
Video | video_height |
|
stream.mpd?aws.manifestfilter=video_height:720-1080 |
Beispiele für Manifestfilterung
Dies sind Manifestfilterbeispiele.
Beispiel 1: Wählen Sie einen Player, der AVC und eine Audio-Abtastrate von 44,1k unterstützt
Der Viewer spielt Inhalte auf einem Gerät ab, das nur AVC und eine Audio-Abtastrate von 44,1k unterstützen kann. Sie legen video_codec
und audio_sample_rate
fest, um Streams herauszufiltern, die diesen Anforderungen nicht entsprechen.
?aws.manifestfilter=audio_sample_rate:0-44100;video_codec:h264
Beispiel 2: Schränken Sie 4k-HEVC-Inhalte ein.
Ihr 4K-HEVC-Stream umfasst 15 Mbit/s und alle Ihre anderen Streams umfassen weniger als 9 Mbit/s. Um den 4K-Stream aus dem Streamsatz auszuschließen, legen Sie einen Schwellenwert von 9 000 000 Bit pro Sekunde fest, um die höhere Bitrate herauszufiltern.
?aws.manifestfilter=video_bitrate:0-9000000
Beispiel 3: Video zwischen 23,976 und 30 Frames pro Sekunde einschließen
Wenn Sie Videos nur innerhalb eines bestimmten Bildfrequenzbereichs aufnehmen möchten, verwenden Sie video_framerate
. Dieser Parameter akzeptiert Gleitkommazahlen mit bis zu drei optionalen Dezimalwerten.
?aws.manifestfilter=video_framerate:23.976-30
Besondere Bedingungen für HLS- und CMAF-Manifeste
Wenn Sie HLS- oder CMAF-Manifeste verwenden, gelten diese besonderen Bedingungen.
-
Für HLS-Manifeste empfehlen wir dringend die Verwendung von Audiowiedergabegruppen, um zu vermeiden, dass Videostreams, die mit den herausgefilterten Audiostreams multiplexiert sind, entfernt werden. Weitere Informationen zu Wiedergabegruppen finden Sie unter Wiedergabegruppen verweisen in AWS Elemental MediaPackage.
-
In HLS- und CMAF-Manifesten wird die Audio-Abtastrate nicht signalisiert. Daher ist es nicht einfach, die ursprünglichen oder gefilterten Manifeste für diese Einstellung visuell zu überprüfen. Um die Audio-Abtastrate zu verifizieren, überprüfen Sie die Audio-Abtastrate auf Encoder- und Ausgangsebene.
-
In HLS- und CMAF-Manifesten ordnet das
BANDWIDTH
-Attribut für eine Variante die Bandbreite der Audiospur der Videospur zu, unabhängig davon, ob sie mit der Videospur multiplexiert ist oder ob es sich um eine Audiowiedergabespur handelt, die von der Videospur referenziert wird. Daher können Sie die ursprünglichen und gefilterten Manifeste nicht visuell überprüfen, um zu bestätigen, dass dervideo_bitrate
Filter funktioniert. Um den Filter zu verifizieren, überprüfen Sie die Videobitrate auf Encoder- und Ausgangsebene. -
Bei HLS- und CMAF-Manifesten führen Anforderungsparameter, die an Bitraten-Wiedergabelisten oder Segmente angehängt sind, zu einem HTTP-400-Fehler.
Fehlerbedingungen
Häufige Fehlerbedingungen sind in der folgenden Tabelle aufgeführt.
Fehlerbedingung | Beispiel | HTTP-Statuscode |
---|---|---|
Ein Listenparameter wird nicht gefunden und ist nicht Teil einer eingeschränkten Liste | ?aws.manifestfilter=audio_language:dahlia |
200 |
Nur Untertitel-Streams sind im Stream vorhanden | ?aws.manifestfilter=audio_sample_rate:0-1;video_bitrate=0-1 |
200 |
Doppelte Filterparameter | ?aws.manifestfilter=audio_sample_rate:0-48000;aws.manifestfilter=audio_sample_rate:0-48000 |
400 |
Ungültiger Parameter | ?aws.manifestfilter=donut_type:rhododendron |
400 |
Ungültiger Bereichsparameter | ?aws.manifestfilter=audio_sample_rate:300-0 |
400 |
Ungültiger Bereichswert (mehr als INT_MAX ) |
?aws.manifestfilter=audio_sample_rate:0-2147483648 |
400 |
Falsch formatierte Abfragezeichenfolge | ?aws.manifestfilter=audio_sample_rate:is:0-44100 |
400 |
Die Parameterzeichenfolge ist länger als 1024 Zeichen | ?aws.manifestfilter=audio_language:abcdef.... |
400 |
Abfrageparameter auf einem HLS- oder CMAF-Bitraten-Manifest | index_1.m3u8?aws.manifestfilter=video_codec:h264 |
400 |
Abfrageparameter für eine Segmentanforderung | ..._1.[ts|mp4|vtt..]?aws.manifestfilter=video_codec:h264 |
400 |
Wiederholter Abfrageparameter | ?aws.manifestfilter=audio_sample_rate:0-48000;aws.manifestfilter=video_bitrate:0-1 |
400 |
Die Anwendung des Filters führt zu einem leeren Manifest (Inhalt enthält keine Streams, die die in der Abfragezeichenfolge definierten Bedingungen erfüllen) | ?aws.manifestfilter=audio_sample_rate:0-1;video_bitrate=0-1 |
400 |