Kodowanie wideo i audio za pomocą usługi Media Services

Logo usługi Media Services w wersji 3


Ostrzeżenie

Usługa Azure Media Services zostanie wycofana 30 czerwca 2024 r. Aby uzyskać więcej informacji, zobacz Przewodnik po wycofaniu usługi AMS.

Porada

Chcesz wygenerować miniatury, połączyć dwa filmy wideo, podkrop wideo lub obrócić go (między innymi)? Przykładowy kod usługi Media Services można znaleźć na stronie Przykłady .

Termin kodowanie w usłudze Media Services ma zastosowanie do procesu konwertowania plików zawierających cyfrowe wideo i/lub audio z jednego standardowego formatu na inny, w celu (a) zmniejszenia rozmiaru plików i/lub (b) tworzącego format zgodny z szeroką gamą urządzeń i aplikacji. Ten proces jest również określany jako kompresja wideo lub transkodowanie. Zobacz Kompresja danych i Co to jest kodowanie i transkodowanie? w celu dalszej analizy pojęć.

Filmy wideo są zwykle dostarczane do urządzeń i aplikacji przez progresywne pobieranie lub przesyłanie strumieniowe z adaptacyjną szybkością transmisji bitów.

przekształcenia i zadania

Ważne

Usługa Media Services nie rozlicza się za anulowane zadania lub zgłaszające błędy. Na przykład zadanie, które osiągnęło 50% postępu i zostało anulowane, nie jest rozliczane na poziomie 50% minut zadania. Opłaty są naliczane tylko za ukończone zadania.

  • Aby dostarczać dane przez pobieranie progresywne, możesz użyć usługi Azure Media Services do przekonwertowania pliku cyfrowego multimediów (mezzanine) na plik MP4 , który zawiera wideo zakodowane za pomocą kodera-dekodera H.264 i dźwięku zakodowanego za pomocą kodera-dekodera AAC . Ten plik MP4 jest zapisywany w zasobie na koncie magazynu. Aby pobrać plik bezpośrednio, możesz użyć interfejsów API lub zestawów SDK usługi Azure Storage (na przykład interfejsu API REST usługi Storage lub zestawu SDK platformy .NET). Jeśli element zawartości wyjściowej został utworzony z określoną nazwą kontenera w magazynie, użyj tej lokalizacji. W przeciwnym razie możesz użyć usługi Media Services, aby wyświetlić listę adresów URL kontenera zasobów.
  • Aby przygotować zawartość do dostarczania przez przesyłanie strumieniowe z adaptacyjną szybkością transmisji bitów, plik mezzanine musi być zakodowany w wielu szybkościach transmisji bitów (od wysokiej do niskiej). Aby zapewnić bezproblemowe przejście jakości, rozdzielczość filmu wideo jest obniżana w miarę obniżenia szybkości transmisji bitów. Skutkuje to tak zwaną drabiną kodowania — tabelą rozdzielczości i szybkości transmisji bitów (zobacz automatycznie wygenerowaną drabinę adaptacyjnej szybkości transmisji bitów lub użyj ustawienia wstępnego kodowania obsługującego zawartość). Za pomocą usługi Media Services można kodować pliki mezzanine w wielu szybkościach bitów. W ten sposób uzyskasz zestaw plików MP4 i skojarzonych plików konfiguracji przesyłania strumieniowego zapisanych w zasobie na koncie magazynu. Następnie możesz użyć funkcji dynamicznego tworzenia pakietów w usłudze Media Services, aby dostarczać wideo za pośrednictwem protokołów przesyłania strumieniowego, takich jak MPEG-DASH i HLS. Wymaga to utworzenia lokalizatora przesyłania strumieniowego i utworzenia adresów URL przesyłania strumieniowego odpowiadających obsługiwanym protokołom, które następnie można przekazać do urządzeń/aplikacji na podstawie ich możliwości.

Transformacje i zadania

Aby zakodować za pomocą usługi Media Services w wersji 3, należy utworzyć przekształcenie i zadanie. Przekształcenie definiuje przepis na ustawienia kodowania i dane wyjściowe; zadanie jest wystąpieniem przepisu. Aby uzyskać więcej informacji, zobacz Przekształcenia i zadania.

Podczas kodowania za pomocą usługi Media Services użyj ustawień wstępnych, aby poinformować koder o sposobie przetwarzania plików multimedialnych wejściowych. W usłudze Media Services w wersji 3 koder standardowy służy do kodowania plików. Można na przykład określić rozdzielczość wideo i/lub liczbę kanałów audio, które mają być w zakodowanej zawartości.

Możesz szybko rozpocząć pracę z jednym z wbudowanych ustawień wstępnych opartych na najlepszych rozwiązaniach branżowych lub utworzyć niestandardowe ustawienie wstępne przeznaczone dla określonego scenariusza lub wymagań dotyczących urządzenia.

Począwszy od stycznia 2019 r., podczas kodowania przy użyciu kodera standardowego w celu utworzenia plików MP4 jest generowany nowy plik MPI i dodawany do elementu zawartości wyjściowej. Ten plik MPI ma na celu zwiększenie wydajności scenariuszy dynamicznego tworzenia pakietów i przesyłania strumieniowego.

Uwaga

Nie należy modyfikować ani usuwać pliku MPI ani stosować żadnej zależności w usłudze w związku z istnieniem (lub nie) takiego pliku.

Wbudowane ustawienia wstępne

Usługa Media Services obsługuje następujące wbudowane ustawienia wstępne kodowania:

BuiltInStandardEncoderPreset

BuiltInStandardEncoderPreset służy do ustawiania wbudowanego ustawienia wstępnego kodowania wejściowego wideo za pomocą kodera standardowego.

Obecnie obsługiwane są następujące wbudowane ustawienia wstępne:

  • EncoderNamedPreset.AACGoodQualityAudio: tworzy pojedynczy plik MP4 zawierający tylko dźwięk stereo zakodowany na 192 kb/s.

  • EncoderNamedPreset.AdaptiveStreaming: obsługuje kodowanie adaptacyjnej szybkości transmisji bitów H.264. Aby uzyskać więcej informacji, zobacz automatyczne generowanie drabiny szybkości transmisji bitów.

  • EncoderNamedPreset.H265AdaptiveStreaming : podobne do ustawienia wstępnego AdaptiveStreaming, ale używa kodera-dekodera HEVC (H.265). Tworzy zestaw plików MP4 wyrównanych GOP z wideo H.265 i dźwięk stereo AAC. Automatycznie generuje drabinę szybkości transmisji bitów w oparciu o rozdzielczość danych wejściowych, szybkość transmisji bitów i szybkość klatek. Automatycznie generowane ustawienie wstępne nigdy nie przekroczy rozdzielczości danych wejściowych. Jeśli na przykład dane wejściowe mają wartość 720p, dane wyjściowe pozostaną w najlepszym stanie 720p.

  • EncoderNamedPreset.ContentAwareEncoding: uwidacznia ustawienie wstępne kodowania obsługującego zawartość H.264. Tworzy zestaw plików MP4 dostosowanych do protokołu GOP przy użyciu kodowania obsługującego zawartość. Biorąc pod uwagę dowolną zawartość wejściową, usługa wykonuje początkową lekką analizę zawartości wejściowej i używa wyników do określenia optymalnej liczby warstw, odpowiedniej szybkości transmisji bitów i ustawień rozdzielczości na potrzeby dostarczania przez adaptacyjne przesyłanie strumieniowe. To ustawienie wstępne jest szczególnie skuteczne w przypadku filmów wideo o niskiej i średniej złożoności, gdzie pliki wyjściowe będą mieć niższą szybkość bitów, ale przy jakości, która nadal zapewnia dobre środowisko dla osób przeglądających. Dane wyjściowe będą zawierać pliki MP4 z przeplotem wideo i audio. To ustawienie wstępne generuje tylko dane wyjściowe do 1080P HD. Jeśli wymagane są dane wyjściowe 4K, możesz skonfigurować ustawienie wstępne za pomocą właściwości PresetConfigurations przy użyciu właściwości "maxHeight". Aby uzyskać więcej informacji, zobacz kodowanie obsługujące zawartość.

  • EncoderNamedPreset.H265ContentAwareEncoding: ujawnia ustawienie wstępne kodowania obsługującego zawartość HEVC (H.265). Tworzy zestaw plików MP4 dostosowanych do protokołu GOP przy użyciu kodowania obsługującego zawartość. Biorąc pod uwagę dowolną zawartość wejściową, usługa wykonuje początkową lekką analizę zawartości wejściowej i używa wyników do określenia optymalnej liczby warstw, odpowiedniej szybkości transmisji bitów i ustawień rozdzielczości na potrzeby dostarczania przez adaptacyjne przesyłanie strumieniowe. To ustawienie wstępne jest szczególnie skuteczne w przypadku filmów wideo o niskiej i średniej złożoności, gdzie pliki wyjściowe będą mieć niższą szybkość bitów, ale przy jakości, która nadal zapewnia dobre środowisko dla osób przeglądających. Dane wyjściowe będą zawierać pliki MP4 z przeplotem wideo i audio. To ustawienie wstępne generuje dane wyjściowe do 4K HD. Jeśli wymagane jest użycie 8K danych wyjściowych, można skonfigurować ustawienie wstępne za pomocą właściwości PresetConfigurations przy użyciu właściwości "maxHeight".

  • EncoderNamedPreset.H264MultipleBitrate1080p: tworzy zestaw ośmiu plików MP4 dopasowanych do języka GOP, począwszy od 6000 kb/s do 400 kb/s i dźwięk stereo AAC. Rozdzielczość zaczyna się od 1080p i spada do 360p.

  • EncoderNamedPreset.H264MultipleBitrate720p: tworzy zestaw sześciu plików MP4 dopasowanych do języka GOP, począwszy od 3400 kb/s do 400 kb/s i dźwięk stereo AAC. Rozdzielczość zaczyna się od 720p i spada do 360p.

  • EncoderNamedPreset.H264MultipleBitrateSD: tworzy zestaw pięciu plików MP4 dopasowanych do języka GOP, począwszy od 1600 kb/s do 400 kb/s i dźwięk stereo AAC. Rozdzielczość zaczyna się od 480p i spada do 360p.

  • EncoderNamedPreset.H264SingleBitrate1080p: tworzy plik MP4, w którym wideo jest kodowane przy użyciu kodera-dekodera H.264 o szybkości 6750 kb/s i wysokości obrazu 1080 pikseli, a dźwięk stereo jest kodowany przy użyciu kodera kodera AAC-LC o szybkości 128 kb/s. Jeśli potrzebujesz niższych szybkości bitów dla dźwięku, możesz utworzyć niestandardowe ustawienie kodowania w transformacji i dostosować częstotliwość próbkowania lub liczbę kanałów, aby obniżyć wartości dla AAC-LC.

  • EncoderNamedPreset.H264SingleBitrate720p: tworzy plik MP4, w którym wideo jest kodowane przy użyciu kodera-dekodera H.264 o szybkości 4500 kb/s i wysokości obrazu 720 pikseli, a dźwięk stereo jest kodowany przy użyciu kodera kodera AAC-LC o szybkości 128 kb/s. Jeśli potrzebujesz niższych szybkości bitów dla dźwięku, możesz utworzyć niestandardowe ustawienie kodowania w transformacji i dostosować częstotliwość próbkowania lub liczbę kanałów, aby obniżyć wartości dla AAC-LC.

  • EncoderNamedPreset.H264SingleBitrateSD: tworzy plik MP4, w którym wideo jest kodowane przy użyciu kodera-dekodera H.264 o szybkości 2200 kb/s i wysokości obrazu 480 pikseli, a dźwięk stereo jest kodowany za pomocą kodera kodera AAC-LC o szybkości 128 kb/s. Jeśli potrzebujesz niższych szybkości bitów dla dźwięku, możesz utworzyć niestandardowe ustawienie kodowania w transformacji i dostosować częstotliwość próbkowania lub liczbę kanałów, aby obniżyć wartości dla AAC-LC.

  • EncoderNamedPreset.H265SingleBitrate720P: tworzy plik MP4, w którym wideo jest kodowane za pomocą kodera-dekodera HEVC (H.265) o szybkości 1800 kb/s i wysokości obrazu 720 pikseli, a dźwięk stereo jest kodowany za pomocą kodera kodera AAC-LC o szybkości 128 kb/s.

  • EncoderNamedPreset.H265SingleBitrate1080p: tworzy plik MP4, w którym wideo jest kodowane za pomocą kodera-dekodera HEVC (H.265) na poziomie 3500 kb/s i wysokości obrazu 1080 pikseli, a dźwięk stereo jest kodowany przy użyciu kodera kodera AAC-LC o szybkości 128 kb/s.

  • EncoderNamedPreset.H265SingleBitrate4K: tworzy plik MP4, w którym wideo jest kodowane za pomocą kodera-dekodera HEVC (H.265) o szybkości 9500 kb/s i wysokości obrazu 2160 pikseli, a dźwięk stereo jest kodowany za pomocą kodera kodera AAC-LC o szybkości 128 kb/s.

Aby wyświetlić najbardziej aktualną listę ustawień wstępnych, zobacz wbudowane ustawienia wstępne, które mają być używane do kodowania filmów wideo.

Niestandardowe ustawienia wstępne

Usługa Media Services w pełni obsługuje dostosowywanie wszystkich wartości w ustawieniach wstępnych w celu spełnienia określonych wymagań i wymagań dotyczących kodowania.

StandardEncoderPreset

StandardEncoderPreset opisuje ustawienia, które mają być używane podczas kodowania wejściowego wideo za pomocą kodera standardowego. Użyj tego ustawienia wstępnego podczas dostosowywania ustawień wstępnych przekształcania.

Zagadnienia do rozważenia

Podczas tworzenia niestandardowych ustawień wstępnych mają zastosowanie następujące zagadnienia:

  • Wszystkie wartości wysokości i szerokości zawartości AVC muszą być wielokrotnościami czterech.
  • W usłudze Azure Media Services w wersji 3 wszystkie szybkości kodowania bitów są w bitach na sekundę. Różni się to od ustawień wstępnych interfejsów API w wersji 2, które używały kilobitów/sekund jako jednostki. Jeśli na przykład szybkość transmisji bitów w wersji 2 została określona jako 128 (kilobity/sekunda), w wersji 3 zostanie ustawiona wartość 128000 (bity/sekunda).

Schemat ustawień wstępnych

W usłudze Media Services w wersji 3 ustawienia wstępne są silnie typizowanymi jednostkami w samym interfejsie API. Definicję "schema" dla tych obiektów można znaleźć w temacie Open API Specification (lub Swagger). Możesz również wyświetlić definicje ustawień wstępnych (na przykład StandardEncoderPreset) w interfejsie API REST, zestawie SDK platformy .NET (lub inną dokumentację referencyjną zestawu SDK usługi Media Services w wersji 3).

Kodowanie skalowania w wersji 3

W przypadku kont utworzonych w wersji 2020-05-01 lub nowszej interfejsu API lub za pośrednictwem Azure Portal skalowanie i jednostki zarezerwowane multimediów nie są już wymagane. Skalowanie będzie automatyczne i obsługiwane przez usługę wewnętrznie.

Rozliczenia

Usługa Media Services nie rozlicza się za anulowane lub błędne zadania. Na przykład zadanie, które osiągnęło 50% postępu i zostało anulowane, nie jest rozliczane na poziomie 50% minut zadania. Opłaty są naliczane tylko za ukończone zadania.

Aby uzyskać więcej informacji, zobacz cennik.

Przykłady kodowania

Zobacz obszerną listę przykładów kodowania.

Uzyskiwanie pomocy i obsługi technicznej

Możesz skontaktować się z usługą Media Services z pytaniami lub postępować zgodnie z naszymi aktualizacjami przy użyciu jednej z następujących metod: