Videó és hang kódolása a Media Services használatával
Figyelmeztetés
Az Azure Media Services 2024. június 30-án megszűnik. További információkért lásd az AMS kivezetési útmutatóját.
Tipp
Miniatűröket szeretne létrehozni, összefűzni két videót, alkonyatolni vagy elforgatni (többek között)? A Media Services mintakódját a Minták lapon találja.
A Media Services kódolási kifejezése a digitális videót és/vagy hangot tartalmazó fájlok szabványos formátumból egy másikba való konvertálásának folyamatára vonatkozik, azzal a céllal, hogy (a) csökkentse a fájlok méretét, és/vagy (b) olyan formátumot hozzon létre, amely kompatibilis az eszközök és alkalmazások széles körével. Ezt a folyamatot videotömörítésnek vagy átkódolásnak is nevezik. A fogalmakról további információt az Adattömörítés és a Mi az kódolás és átkódolás? című témakörben talál.
A videókat általában progresszív letöltéssel vagy adaptív sávszélességű streameléssel kézbesítik az eszközöknek és alkalmazásoknak.
Fontos
A Media Services nem számláz a megszakított vagy a hibákat eredményező feladatokért. Például az 50%-os előrehaladást elérő és megszakított feladatok számlázása nem történik meg a feladat perceinek 50%-ában. Csak a befejezett feladatokért kell fizetnie.
- A progresszív letöltéssel történő kézbesítéshez az Azure Media Services használatával átalakíthat egy digitális médiafájlt (mezzanine) MP4-fájllá , amely a H.264 kodekkel kódolt videót és az AAC-kodekkel kódolt hangot tartalmaz. Ez az MP4-fájl a tárfiók egyik objektumára lesz írva. A fájl közvetlen letöltéséhez használhatja az Azure Storage API-kat vagy SDK-kat (például Storage REST API vagy .NET SDK). Ha a kimeneti objektumot egy adott tárolónévvel hozta létre a tárolóban, használja ezt a helyet. Ellenkező esetben a Media Services használatával listázhatja az objektumtároló URL-címeit.
- Ahhoz, hogy a tartalmat adaptív sávszélességű streameléssel készítse elő, a mezzanine fájlt több (magastól alacsonyig) sávszélességűre kell kódolni. A minőség szabályos átmenetének biztosítása érdekében a videó felbontása a sávszélesség csökkentésekor csökken. Ez egy úgynevezett kódolási létrát eredményez , amely felbontások és sávszélességek táblázata (lásd az automatikusan létrehozott adaptív sávszélesség-létrátát , vagy használja a tartalomtudatos kódolási készletet). A Media Services használatával több sávszélességű kódolhatja a mezzanine fájlokat. Ebben az esetben mp4-fájlokat és a kapcsolódó streamelési konfigurációs fájlokat fog kapni, amelyek a tárfiók egy objektumára íródnak. Ezt követően a Media Services dinamikus csomagolási funkciójának használatával streamelési protokollok, például MPEG-DASH és HLS használatával továbbíthatja a videót. Ehhez létre kell hoznia egy streamelési lokátort , és létre kell hoznia a támogatott protokollnak megfelelő streamelési URL-címeket, amelyeket aztán a képességeik alapján átadhat az eszközöknek/alkalmazásoknak.
Átalakítások és feladatok
A Media Services v3 kódolásához létre kell hoznia egy átalakítást és egy feladatot. Az átalakítás definiálja a kódolási beállítások és kimenetek receptét; A feladat a recept egy példánya. További információt az átalakításokkal és feladatokkal kapcsolatos cikkben olvashat.
A Media Services használatával történő kódoláskor előre beállított beállításokkal tájékoztathatja a kódolót a bemeneti médiafájlok feldolgozásának módjáról. A Media Services v3-ban a Standard Encoder használatával kódolhatja a fájlokat. Megadhatja például a videó felbontását és/vagy a hangcsatornák számát a kódolt tartalomban.
Gyorsan használatba vehet egy beépített készletet az iparági ajánlott eljárások alapján, vagy létrehozhat egy egyéni készletet az adott forgatókönyv vagy eszközkövetelmények megcélzásához.
2019 januárjától kezdve, amikor a Standard Encoderrel kódol az MP4-fájlok előállításához, a rendszer létrehoz egy új .mpi fájlt, és hozzáadja a kimeneti objektumhoz. Ez az MPI-fájl a dinamikus csomagolási és streamelési forgatókönyvek teljesítményének javítására szolgál.
Megjegyzés
Ne módosítsa vagy távolítsa el az MPI-fájlt, és ne függjön a szolgáltatásban az ilyen fájlok létezéséről (vagy nem).
Beépített előzetes beállítások
A Media Services a következő beépített kódolási beállításokat támogatja:
BuiltInStandardEncoderPreset
A BuiltInStandardEncoderPreset a bemeneti videó Standard Encoderrel való kódolására szolgáló beépített készlet beállítására szolgál.
Jelenleg az alábbi beépített előzetes beállítások támogatottak:
EncoderNamedPreset.AACGoodQualityAudio: Egyetlen MP4-fájlt hoz létre, amely csak 192 kbps sebességgel kódolt sztereó hangot tartalmaz.
EncoderNamedPreset.AdaptiveStreaming: Ez támogatja a H.264 adaptív sávszélességű kódolást. További információ: Bitrátalétra automatikus létrehozása.
EncoderNamedPreset.H265AdaptiveStreaming : Hasonló az AdaptiveStreaming előzetes verziójához, de a HEVC (H.265) kodeket használja. GoP-hez igazított MP4-fájlokat hoz létre H.265 videóval és sztereó AAC-hanggal. Automatikusan létrehoz egy bitsebesség-létrátát a bemeneti felbontás, a sávszélesség és a képkockasebesség alapján. Az automatikusan létrehozott előre beállított beállítás soha nem lépi túl a bemeneti felbontást. Ha például a bemenet 720p, a kimenet a legjobb esetben is 720p marad.
EncoderNamedPreset.ContentAwareEncoding: A H.264 tartalomérzékeny kódolás előzetes beállítását teszi elérhetővé. GoP-hez igazított MP4-ek készletét állítja elő tartalomérzékeny kódolással. Bármilyen bemeneti tartalom esetén a szolgáltatás kezdeti egyszerű elemzést végez a bemeneti tartalomról, és az eredmények alapján határozza meg az optimális számú réteget, a megfelelő sávszélességet és felbontásbeállításokat az adaptív streameléssel történő teljesítéshez. Ez az előzetes beállítás különösen hatékony az alacsony és közepes összetettségű videók esetében, ahol a kimeneti fájlok kisebb sávszélességűek lesznek, de olyan minőségben, amely továbbra is jó élményt nyújt a nézőknek. A kimenet mp4-fájlokat tartalmaz, amelyekben a videó és a hang össze van osztva. Ez az előre beállított beállítás csak 1080P HD-ig állítja elő a kimenetet. Ha 4K kimenetre van szükség, a készletet a "maxHeight" tulajdonság használatával konfigurálhatja a PresetConfigurations beállítással. További információ: tartalomérzékeny kódolás.
EncoderNamedPreset.H265ContentAwareEncoding: A HEVC (H.265) tartalomtudatos kódolás előzetes beállítását teszi elérhetővé. GoP-hez igazított MP4-ek készletét állítja elő tartalomérzékeny kódolással. Bármilyen bemeneti tartalom esetén a szolgáltatás kezdeti egyszerű elemzést végez a bemeneti tartalomról, és az eredmények alapján határozza meg az optimális számú réteget, a megfelelő sávszélességet és felbontásbeállításokat az adaptív streameléssel történő teljesítéshez. Ez az előzetes beállítás különösen hatékony az alacsony és közepes összetettségű videók esetében, ahol a kimeneti fájlok kisebb sávszélességűek lesznek, de olyan minőségben, amely továbbra is jó élményt nyújt a nézőknek. A kimenet mp4-fájlokat tartalmaz, amelyekben a videó és a hang össze van osztva. Ez az előre beállított beállítás legfeljebb 4K HD-kimenetet hoz létre. Ha 8K kimenetre van szükség, a készletet a "maxHeight" tulajdonság használatával konfigurálhatja a PresetConfigurations beállítással.
EncoderNamedPreset.H264MultipleBitrate1080p: nyolc GOP-hez igazított MP4-fájlt hoz létre, 6000 kbps és 400 kbps között, valamint sztereó AAC-hangot. A felbontás 1080p-vel kezdődik, és 360p-ra csökken.
EncoderNamedPreset.H264MultipleBitrate720p: hat GOP-hoz igazított MP4-fájlt hoz létre, 3400 kbps és 400 kbps között, valamint sztereó AAC-hangot. A felbontás 720p-vel kezdődik, és 360p-ra csökken.
EncoderNamedPreset.H264MultipleBitrateSD: öt GOP-hez igazított MP4-fájlt hoz létre 1600 kbps és 400 kbps között, valamint sztereó AAC-hangot. A felbontás 480p-vel kezdődik, és 360p-ra csökken.
EncoderNamedPreset.H264SingleBitrate1080p: létrehoz egy MP4-fájlt, amelyben a videó H.264 kodekkel van kódolva 6750 kbps sebességgel és 1080 képpontos képmagassággal, a sztereó hang pedig AAC-LC kodekkel van kódolva 128 kbps sebességgel. Ha alacsonyabb sávszélességre van szüksége a hanghoz, létrehozhat egy egyéni kódolási készletet az átalakításban, és beállíthatja a mintavételezési sebességet vagy a csatornák számát, hogy alacsonyabb értékeket kapjon az AAC-LC-hez.
EncoderNamedPreset.H264SingleBitrate720p: létrehoz egy MP4-fájlt, amelyben a videó H.264 kodekkel van kódolva 4500 kbps sebességgel és 720 képpontos képmagassággal, a sztereó hang pedig AAC-LC kodekkel van kódolva 128 kbps sebességgel. Ha alacsonyabb sávszélességre van szüksége a hanghoz, létrehozhat egy egyéni kódolási készletet az átalakításban, és beállíthatja a mintavételezési sebességet vagy a csatornák számát, hogy alacsonyabb értékeket kapjon az AAC-LC-hez.
EncoderNamedPreset.H264SingleBitrateSD: létrehoz egy MP4-fájlt, amelyben a videó H.264 kodekkel van kódolva 2200 kbps sebességgel és 480 képpontos képmagassággal, a sztereó hang pedig AAC-LC kodekkel van kódolva 128 kbps sebességgel. Ha alacsonyabb sávszélességre van szüksége a hanghoz, létrehozhat egy egyéni kódolási készletet az átalakításban, és beállíthatja a mintavételezési sebességet vagy a csatornák számát, hogy alacsonyabb értékeket kapjon az AAC-LC-hez.
EncoderNamedPreset.H265SingleBitrate720P: létrehoz egy MP4-fájlt, amelyben a videó HEVC (H.265) kodekkel van kódolva 1800 kbps sebességgel és 720 képpontos képmagassággal, a sztereó hang pedig AAC-LC kodekkel van kódolva 128 kbps sebességgel.
EncoderNamedPreset.H265SingleBitrate1080p: létrehoz egy MP4-fájlt, amelyben a videó HEVC (H.265) kodekkel van kódolva 3500 kbps sebességgel és 1080 képpontos képmagassággal, a sztereó hang pedig AAC-LC kodekkel van kódolva 128 kbps sebességgel.
EncoderNamedPreset.H265SingleBitrate4K: létrehoz egy MP4-fájlt, amelyben a videó HEVC (H.265) kodekkel van kódolva 9500 kbps sebességgel és 2160 képpontos képmagassággal, a sztereó hang pedig AAC-LC kodekkel van kódolva 128 kbps sebességgel.
A legfrissebb előre beállított beállítások listájának megtekintéséhez tekintse meg a videók kódolásához használandó beépített készleteket.
Egyéni készletek
A Media Services teljes mértékben támogatja az előre beállított értékek testreszabását az adott kódolási igényeknek és követelményeknek megfelelően.
StandardEncoderPreset
A StandardEncoderPreset a bemeneti videó Standard Encoderrel való kódolásához használandó beállításokat ismerteti. Ezt a beállításkészletet az Átalakítási beállítások testreszabásakor használhatja.
Megfontolandó szempontok
Egyéni készletek létrehozásakor a következő szempontokat kell figyelembe venni:
- Az AVC-tartalom magasságának és szélességének minden értékének négyből többnek kell lennie.
- Az Azure Media Services v3-ban az összes kódolási sávszélesség bit/másodpercben van megadva. Ez eltér a v2 API-k előzetes beállításaitól, amelyek kilobit/másodpercet használtak egységként. Ha például a v2-ben a sávszélesség 128 (kilobit/másodperc) értékre van állítva, akkor a v3-ban 128000 (bit/másodperc) értékre van állítva.
Előre beállított séma
A Media Services v3-ban az előzetes beállítások erősen begépelt entitások magukban az API-ban. Ezekhez az objektumokhoz a "séma" definícióját az Open API Specification (vagy Swagger) területen találja. Az előre beállított definíciókat (például a StandardEncoderPresetet) a REST API-ban, a .NET SDK-ban (vagy más Media Services v3 SDK-referenciadokumentációban) is megtekintheti.
Kódolás skálázása a v3-ban
Az API 2020-05-01-es vagy újabb verziójával vagy a Azure Portal keresztül létrehozott fiókok esetében a skálázás és a média számára fenntartott egységek már nem szükségesek. A skálázás automatikus lesz, és a szolgáltatás belsőleg kezeli.
Számlázás
A Media Services nem számláz a megszakított vagy hibás feladatokért. Például az 50%-os előrehaladást elérő és megszakított feladatok számlázása nem történik meg a feladat perceinek 50%-ában. Csak a befejezett feladatokért kell fizetnie.
További információkért lásd a díjszabást.
Kódolási minták
Tekintse meg a kódolási minták széles listáját.
Súgó és támogatás
Kérdéseivel kapcsolatba léphet a Media Services szolgáltatással, vagy követheti a frissítéseket az alábbi módszerek egyikével:
- Q & A
-
Stack Overflow. Kérdések címkézése a következővel:
azure-media-services
. - @MSFTAzureMediavagy @AzureSupport használatával kérhet támogatást.
- Nyisson meg egy támogatási jegyet a Azure Portal keresztül.