Videó és hang kódolása a Media Services szolgáltatással
AMS-webhely | Kódminták | Hibaelhárítási útmutató
Tipp
Szeretne miniatűröket létrehozni, összefűzni két videót, egy videó alpontját vagy elforgatni (többek között)? A Media Services mintakódját a Minták lapon találja.
A Media Servicesben a kódolás kifejezés arra a folyamatra vonatkozik, amikor digitális videót és/vagy hangot tartalmazó fájlokat konvertálnak egy szabványos formátumból egy másikba, 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 számos eszközzel és alkalmazással. Ezt a folyamatot videotömörítésnek vagy átkódolásnak is nevezik. A fogalmak további megvitatása érdekében tekintse meg az Adattömörítés és a Mi a kódolás és a transzkódolás? című témakört.
A videók általában progresszív letöltéssel vagy adaptív sávszélességű streameléssel jutnak el az eszközökhöz és alkalmazásokhoz.
Fontos
A Media Services nem számláz a lemondott vagy a hibákat okozó feladatokért. Például egy olyan feladat, amely elérte az 50%-os előrehaladást, és a megszakított feladat nem a feladat perceinek 50%-ában lesz számlázva. 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 tartalmazza. Ez az MP4-fájl a tárfiók egyik eszközére van írva. A fájl közvetlen letöltéséhez használhatja az Azure Storage API-kat vagy SDK-kat (például a Storage REST API-t vagy a .NET SDK-t). 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 eszköztá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 (magas vagy alacsony) sávszélességűre kell kódolni. A minőség kecses átmenetének biztosítása érdekében a videó felbontása a bitsebesség csökkentésekor csökken. Ez egy úgynevezett kódolási létrát eredményez – a felbontások és bitsebességek táblázatát (lásd az automatikusan létrehozott adaptív bitsebesség-létrát , vagy használja a tartalomtudatos kódolási készletet). A Media Services használatával több bitsebességben kódolhatja a mezzanine-fájlokat. Ennek során mp4-fájlokat és a társított streamelési konfigurációs fájlokat fog kapni, amelyek a tárfiók egyik eszközére lesznek írva. Ezt követően a Media Services dinamikus csomagolási funkciójának használatával streamelési protokollokkal( például MPEG-DASH és HLS) kézbesítheti a videót. Ehhez létre kell hoznia egy streamelési lokátort , és létre kell hoznia a támogatott protokollokhoz tartozó 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 receptit; 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 videofelbontást és/vagy a hangcsatornák számát a kódolt tartalomban.
Gyorsan megismerkedhet az iparági ajánlott eljárásokon alapuló beépített készletekkel, 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 kezdődően, amikor a standard kódolóval kódolással készít MP4-fájlokat, egy új .mpi-fájl jön létre, és hozzáadódik 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
Nem szabad módosítania vagy eltávolítania az MPI-fájlt, és nem szabad függőséget vállalnia a szolgáltatásban az ilyen fájl meglétéről (vagy sem).
Beépített készletek
A Media Services a következő beépített kódolási beállításokat támogatja:
BuiltInStandardEncoderPreset
A BuiltInStandardEncoderPreset egy beépített készlet beállítására szolgál a bemeneti videó standard kódolóval való kódolásához.
Jelenleg a következő beépített készletek támogatottak:
EncoderNamedPreset.AACGoodQualityAudio: Egyetlen MP4-fájlt állít elő, 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-beállításhoz, de a HEVC (H.265) kodeket használja. GoP-hez igazított MP4-fájlokat állít elő H.265 video- és sztereó AAC-hanggal. Automatikusan létrehoz egy bitrátalétrát a bemeneti felbontás, a bitsebesség és a képkockasebesség alapján. Az automatikusan létrehozott készlet 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áshoz egy előre beállított beállítást tesz elérhetővé. Tartalomérzékeny kódolással hoz létre gop-hez igazított MP4-eket. Bármilyen bemeneti tartalom esetén a szolgáltatás kezdeti egyszerűsített elemzést végez a bemeneti tartalomról, és az eredmények alapján határozza meg a rétegek optimális számát, a megfelelő bitsebességet és felbontási beállításokat az adaptív streameléssel történő kézbesí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 alacsonyabb bitsebességgel, de olyan minőségben lesznek, amely továbbra is jó élményt nyújt a nézőknek. A kimenet mp4-fájlokat tartalmaz, amelyek video- és hangösszefűzéssel jelennek meg. 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 "maxHeight" tulajdonsággal konfigurálhatja az előre beállított készletet a PresetConfigurations paranccsal. További információ: tartalomtudatos kódolás.
EncoderNamedPreset.H265ContentAwareEncoding: A HEVC (H.265) tartalomérzékeny kódolási beállítását teszi elérhetővé. Tartalomérzékeny kódolással hoz létre gop-hez igazított MP4-eket. Bármilyen bemeneti tartalom esetén a szolgáltatás kezdeti egyszerűsített elemzést végez a bemeneti tartalomról, és az eredmények alapján határozza meg a rétegek optimális számát, a megfelelő bitsebességet és felbontási beállításokat az adaptív streameléssel történő kézbesí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 alacsonyabb bitsebességgel, de olyan minőségben lesznek, amely továbbra is jó élményt nyújt a nézőknek. A kimenet mp4-fájlokat tartalmaz, amelyek video- és hangösszefűzéssel jelennek meg. Ez az előre beállított kimenet akár 4K HD-t is képes termelni. Ha 8K kimenetre van szükség, a készletet a "maxHeight" tulajdonsággal konfigurálhatja a PresetConfigurations paranccsal.
EncoderNamedPreset.H264MultipleBitrate1080p: nyolc GOP-hez igazított MP4-fájlt állít elő, 6000 kbps-tól 400 kbps-ig, valamint sztereó AAC-hangot. A felbontás 1080p-ről indul, és 360p-ra csökken.
EncoderNamedPreset.H264MultipleBitrate720p: hat GOP-hez igazított MP4-fájlt hoz létre, 3400 kbps-tól 400 kbps-ig, valamint sztereó AAC-hangot. A felbontás 720p-ről indul, és 360p-ra csökken.
EncoderNamedPreset.H264MultipleBitrateSD: öt GOP-hez igazított MP4-fájlt állít elő 1600 kbps-tól 400 kbps-ig, valamint sztereó AAC-hangot. A felbontás 480p-ről indul, és 360p-ra csökken.
EncoderNamedPreset.H264SingleBitrate1080p: létrehoz egy MP4-fájlt, amelyben a videó 6750 kbps sebességű H.264 kodekkel és 1080 képpontos képmagassággal van kódolva, a sztereó hang pedig 128 kbps sebességű AAC-LC kodekkel van kódolva. 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 128 kbps sebességű AAC-LC kodekkel van kódolva. 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 kodek 2200 kbps-os és 480 képpontos képmagassággal van kódolva, a sztereó hang pedig 128 kbps sebességű AAC-LC-kodekkel van kódolva. 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éppont 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éppont képmagassággal, a sztereó hang pedig AAC-LC kodekkel van kódolva 128 kbps sebességgel.
A legújabb előzetes 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 beállítások
A Media Services teljes mértékben támogatja az összes érték beállításának testreszabását az adott kódolási igények és követelmények kielégítése érdekében.
StandardEncoderPreset
A StandardEncoderPreset a bemeneti videó standard kódolóval való kódolásához használandó beállításokat ismerteti. Ezt a beállításkészletet az Átalakítás beállításainak 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 kell állnia.
- Az Azure Media Services v3-ban az összes kódolási bitsebesség bit/másodpercben van. Ez eltér a v2 API-k által beállított beállításoktól, amelyek kilobit/másodperc értéket használtak egységként. Ha például a v2-ben a bitsebesség 128 (kilobit/másodperc), a 3-as verzióban 128000 (bit/másodperc) értékre van állítva.
Előre beállított séma
A Media Services v3-ban a készletek erősen begépelt entitások 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 fenntartott médiaegysé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 lemondott vagy hibás feladatokért. Például egy olyan feladat, amely elérte az 50%-os előrehaladást, és a megszakított feladat nem a feladat perceinek 50%-ában lesz számlázva. Csak a befejezett feladatokért kell fizetnie.
További információ: díjszabás.
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éseket tehet fel a Media Serviceshez, vagy kövesse 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érjen támogatást.
- Nyisson meg egy támogatási jegyet a Azure Portal keresztül.