Aracılığıyla paylaş


Media Services canlı akış en iyi yöntemler kılavuzu

Müşteriler genellikle canlı akışlarının gecikme süresini nasıl azaltabileceklerini sorar. Bu makalede canlı etkinlik kodlamasına ek olarak düşük gecikme süreli canlı akışlar elde etmeye yönelik en iyi yöntemler açıklanmaktadır.

Not

Bu makaleyi okumaya devam etmeden önce canlı olay kodlamasıyla düşük gecikme süresini anlamak için düşük gecikme süresi HLS (LL-HLS) makalesini okuyun. Ardından akış gecikmesini başka nelerin etkileyebileceğini anlamak için bu kılavuza geri dönün.

Medyanın nasıl kodlandığının yanı sıra bir akışın uçtan uca gecikme süresini belirleyen birçok faktör vardır. Dikkate almanız gerekenler şunlardır:

  1. Katkı kodlayıcı tarafında gecikmeler. Müşteriler MEDIA Services'e RTMP canlı akışı göndermek için OBS Studio, Wirecast veya diğerleri gibi bir kodlama yazılımı kullandığında. Bu yazılımdaki ayarlar canlı akışın uçtan uca gecikme süresini etkiler.

  2. Azure Media Services içindeki canlı akış işlem hattındaki gecikmeler

  3. CDN performansı

  4. video oynatıcının algoritmalarını ve istemci tarafında ağ koşullarını arabelleğe alma

  5. Sağlama zamanlaması

Katkı kodlayıcı

RTMP akışı Media Services'e ulaşmadan önce kaynak kodlayıcı ayarlarının denetimi sizindir. Aşağıda, mümkün olan en düşük gecikme süresini veren ayarlara yönelik bazı öneriler yer alır:

  1. Media Services hesabınız için katkı kodlayıcınıza en yakın fiziksel bölgeyi seçin. Bu, Media Services hesabıyla harika bir ağ bağlantınız olmasını sağlar.

  2. Tutarlı bir parça boyutu kullanın. 2 saniyelik bir GOP boyutu öneririz. OBS gibi bazı kodlayıcılarda varsayılan değer 8 saniyedir. Bu ayarı değiştirdiğinizden emin olun.

  3. Kodlama yazılımınız bunu yapmanıza izin veriyorsa GPU kodlayıcısını kullanın. Bu, CPU çalışmasını GPU'ya boşaltmanıza olanak sağlar.

  4. Düşük gecikme süresi için iyileştirilmiş bir kodlama profili kullanın. Örneğin OBS Studio ile Nvidia H.264 kodlayıcısını kullanıyorsanız "sıfır gecikme süresi" ön ayarını görebilirsiniz.

  5. Akış yapmayı planladığınız içerikten daha yüksek çözünürlükte olmayan içerik gönderin. Örneğin, 720p standart kodlama canlı olayları kullanıyorsanız, zaten 720p'de olan bir akış gönderin.

  6. Doğrudan canlı etkinlikler kullanmadığınız sürece kare hızınızı 30fps veya daha düşük düzeyde tutun. Canlı etkinlikler için 60 fps girişini desteklesek de kodlama canlı etkinlik çıkışımız hala 30 fps'nin üzerinde değil. Düşük Gecikme Süreli HLSiçin sabit kare hızı önerilir ve en iyi deneyim için maksimum kare süresi 0,5 saniyeyi geçmemelidir.

Azure Media Services canlı etkinliğinin yapılandırması

İşlem hattımızdaki gecikme süresini azaltmanıza yardımcı olacak bazı yapılandırmalar şunlardır:

  1. Canlı etkinlikler için düşük gecikme süreli akış seçeneklerini kullanın. Standart kodlama (720p'ye kadar) ve Premium kodlama (1080p'ye kadar) akış seçenekleri için, 6 saatten uzun bir DVR penceresine veya kesintisiz akış çıkışına ihtiyacınız yoksa Düşük gecikme süreli akış gecikme süresi ayarını kullanın.

  2. Hem HLS hem de DASH kayıttan yürütme için CMAF çıkışını seçmenizi öneririz. Bu, her iki biçim için de aynı parçaları paylaşmanızı sağlar. CDN kullanıldığında önbellek isabet oranınızı artırır. Mesela:

    Tür Biçim URL örneği
    HLS CMAF format=m3u8-cmaf https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest(format=m3u8-cmaf)
    MPEG-DASH CMAF format=mpd-time-cmaf https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest(format=mpd-time-cmaf)
  3. TS çıkışını seçmeniz gerekiyorsa 1 HLS paketleme oranı kullanın. Bu, tek bir HLS segmentinde yalnızca bir parça paketlememizi sağlar. Yerel Apple oyuncularında LL-HLS tüm avantajlarından yararlanamayacaksınız.

Oyuncu iyileştirmeleri

Video oynatıcı seçip yapılandırırken, daha düşük gecikme süresi için en iyi duruma getirilmiş ayarları kullandığınızdan emin olun.

Media Services farklı akış protokolü çıkışlarını destekler: DASH, TS çıkışlı HLS ve CMAF parçalarına sahip HLS. LowLatencyV2 akışı seçeneğini kullanırken, Düşük GecikmeLi HLS 'yi (LL-HLS) destekleyen bir oynatıcı bulduğunuzdan emin olun. Oyuncunun uygulamasına bağlı olarak arabelleğe alma kararları izleyicinin gözlemlediği gecikme süresini etkiler. Düşük ağ koşulları veya kayıttan yürütmenin kalitesini ve kararlılığını destekleyen varsayılan algoritmalar, oyuncuların kayıttan yürütme sırasında kesintileri önlemek için daha fazla içeriği önceden arabelleğe alma kararı almalarına neden olabilir. Bu arabellekler, kayıttan yürütme oturumlarından önce ve sırasında uçtan uca gecikme süresine eklenir.

Azure Media Player kullanıldığında, Düşük GecikmeLi Buluşsal Yöntemler profili oynatıcıyı oyuncu tarafında mümkün olan en düşük gecikme süresine sahip olacak şekilde iyileştirir. Bu oynatıcı, Apple cihazlarında Safari'de kullanılmadığı sürece yalnızca DASH'i destekler.

CDN seçimi ve iyileştirmeleri

Akış uç noktaları, canlı ve VOD akış içeriğini CDN'ye veya müşteriye doğrudan teslim eden kaynak sunuculardır. Medya içeriğiniz için trafiğin verimli bir şekilde teslim edilmesini sağlamak için korumalı kaynağı olan bir Content Delivery Network (CDN) kullanmak en iyisidir.

Verizon (Standart veya Premium) tarafından sağlanan Azure CDN'yi kullanmanızı öneririz. Tümleştirme deneyimini iyileştirerek müşterinin bu CDN'yi Azure portalında tek bir seçimle yapılandırabilmesini sağladık. Akış uç noktanızı her başlattığınızda CDN uç noktanız için Origin Shield ve akış iyileştirmelerini açtığınızdan emin olun.

Müşterilerimiz kendi CDN'lerini getirirken de iyi deneyimlere sahiptir. Kaynağı aşırı trafikten korumak için CDN'de ölçülerin alındığından emin olun.

CDN profili için kurallar yapılandırarak performansı da geliştirebilirsiniz. bkz. CDN iyileştirmelerini etkinleştirme.

Akış uç noktası ölçeklendirme

Not

standart akış uç noktası/çıkış noktaları , düşük trafik hacimli müşterilerin daha düşük maliyetle içerik akışı yapmasına olanak tanıyan paylaşılan bir kaynağıdır. Büyük trafik hacimleri bekliyorsanız veya CDN kullanmayı planlıyorsanız, akış birimlerini ölçeklendirmek için standart bir akış uç noktası .

premium akış uç noktası/kaynak, müşterilerin ayrılmış akış birimleri ekleyerek veya kaldırarak ölçeklendirmeleri için daha fazla esneklik ve yalıtım sunar. akış birimi bir akış uç noktasına ayrılan işlem kaynağıdır. Her akış birimi yaklaşık 200 Mb/sn trafik akışı yapabilir.

Aynı akış uç noktasını kullanarak birçok canlı etkinliği aynı anda akışla aktarabilirsiniz ancak bir akış uç noktası için gereken varsayılan akış birimleri üst sınırı 10'dur. Varsayılan 10'dan daha fazlasını istemek için bir destek bileti açabilirsiniz.

Gereken premium akış birimlerini belirleme

Gereken akış uç noktası ve akış birimi sayısını belirlemek için iki adım vardır:

  1. Gereken toplam çıkışı belirleyin.

  2. Toplam çıkışı 200'e bölün; bu, her akış biriminin akışla aktarabileceği en yüksek Mb/sn'dir.

Gereken toplam çıkışı belirleme

Aşağıdaki formülü kullanarak gereken toplam çıkışı belirleyin.

Toplam çıkış gerekli = ortalama bant genişliği x eşzamanlı görüntüleyici sayısı x akış uç noktası tarafından işlenen yüzde.

Şimdi çarpanların her birine sırayla bir göz atalım:

Ortalama bant genişliği. Akış yapmayı planladığınız ortalama bit hızı nedir? Başka bir deyişle, birden çok bit hızına sahip olacaksanız, planladığınız tüm bit hızlarının ortalaması hangi bit hızıdır? Aşağıdaki yöntemlerden birini kullanarak bunu tahmin edebilirsiniz:

kodlamaiçeren canlı bir etkinlik için:

  • ortalama bant genişliğinizin ne olacağını bilmiyorsanız, en yüksek bit hızımızı tahmin olarak kullanabilirsiniz. üst bit hızımız 1080p kodlanmış canlı etkinlikler için 5,5 Mb/sn olduğundan ortalama bit hızınız 3,5 Mb/sn civarında olacaktır.

  • Canlı olayı kodlamak için kullanılan kodlama ön ayarına (örneğin AdaptiveStreaming(H.264) ön ayarına bakın. bu çıktı örneğine bakın.

Yalnızca doğrudan geçiş kullanan ve kodlamayan canlı bir etkinlik için:

  • Yerel kodlayıcınız tarafından kullanılan kodlama bit hızı merdivenini kontrol edin.

Eşzamanlı görüntüleyici sayısı. Kaç eşzamanlı görüntüleyici bekleniyor? Bunu tahmin etmek zor olabilir, ancak müşteri verilerinize göre en iyisini yapın. Konferansı küresel bir hedef kitleye mi aktarıyorsunuz? Müşterilerinize bir dizi ürün satmak için canlı akış yapmayı mı planlıyorsunuz?

Akış uç noktası tarafından işlenen trafik yüzdesi. Bu, aslında formüle giren sayı olduğundan "CDN tarafından işlenmeyen trafiğin yüzdesi" olarak da ifade edilebilir. Peki, bunu göz önünde bulundurarak, beklediğiniz CDN boşaltması nedir? CDN'nin canlı trafiğin 90% işlemesi bekleniyorsa akış uç noktasında trafiğin yalnızca 10% beklenir. Formülde kullanılan sayı, akış uç noktasında beklenen trafik yüzdesi olan 0,10'dur.

Gereken premium akış birimi sayısını belirleme

Premium akış birimleri gerekiyor = Ortalama bant genişliği x görüntüleyicilerin sayısı x CDN tarafından işlenmeyen trafiğin yüzdesi / 200 Mb/sn

Örnek

Yakın zamanda yeni bir ürün yayımladınız ve bunu yerleşik müşterilerinize sunmak istiyorsunuz. Zaten meşgul olan hedef kitlenizi rahatsız etmek istemediğiniz için düşük gecikme süresi istiyorsunuz, bu nedenle premium akış uç noktalarını ve CDN'yi kullanacaksınız.

Yaklaşık 100.000 müşteriniz var, ancak muhtemelen hepsi canlı etkinliğinizi izlemez. En iyi durumda, yalnızca 1% katılacağını ve bu da beklenen eşzamanlı izleyicilerinizi 1.000'e çıkaracağını tahmin ediyor.

Eşzamanlı kullanıcı sayısı =1.000

Canlı akışınızı kodlamak için Media Services'ı kullanmaya karar verdiniz ve geçiş özelliğini kullanmayacaksınız. Ortalama bant genişliğinin ne olacağını bilmezsiniz, ancak 1080p (5,5 Mb/sn'lik en yüksek bit hızı) sunacağını biliyorsunuz, bu nedenle hesaplamalarınız için ortalama bant genişliğinizin 3,5 Mb/sn olduğu tahmin edilir.

Ortalama bant genişliği =3,5

Hedef kitleniz dünya çapında dağınık olduğundan, CDN'nin canlı trafiğin çoğunu (90%) işlemesini bekliyorsunuz. Bu nedenle, premium akış uç noktaları trafiğin yalnızca 10% işleyecektir.

Akış uç noktası tarafından işlenen yüzde =10% = 0,1

Yukarıda sağlanan formülü kullanarak:

Toplam çıkış gerekli = ortalama bant genişliği x eşzamanlı görüntüleyici sayısı x akış uç noktası tarafından işlenen yüzde.

toplam çıkış gerekli = 3,5 x 1.000 x 0,1

toplam çıkış gerekli = 350 Mb/sn

Toplam çıkışı 200'e bölerek 1,75 premium akış birimine ihtiyacınız olduğunu belirlersiniz.

/200Mpbsgereken toplam çıkışgereken premium akış birimleri

= 1,75 premium akış birimleri gerekiyor

Bu sayıyı 2'ye yuvarlayacağız ve bize 2 ünite gerekecektir.

Gereksinimlerinizi tahmin etmek için portalı kullanma

Azure portalı hesaplamaları basitleştirmenize yardımcı olabilir. Akış sayfasında, ortalama bant genişliğini, CDN isabet oranını ve akış birimi sayısını değiştirdiğinizde tahmini hedef kitleye ulaşmayı görmek için sağlanan hesaplayıcıyı kullanabilirsiniz.

  1. Media Services hesabı sayfasında menüden Steam uç noktaları seçin.

  2. Akış uç noktası ekle'yi seçerek yeni bir akış uç noktası ekleyin.

  3. Akış uç noktasına bir ad verin.

  4. Akış uç noktası türü için premium akış uç noktası seçin.

  5. Bu noktada yalnızca bir tahmin elde ettiğiniz için oluşturma işleminden sonra akış uç noktasını başlatmayın. Yok seçin.

  6. CDN fiyatlandırma katmanınız için Standart Verizon veya Premium Verizon seçin. Profil adı buna göre değişir. Bu alıştırma için adı olduğu gibi bırakın.

  7. CDN profili için yenioluştur seçin.

  8. oluştur'u seçin. Uç nokta dağıtıldıktan sonra akış uç noktaları ekranı görüntülenir.

  9. Yeni oluşturduğunuz akış uç noktasını seçin. Akış uç noktası ekranı, hedef kitlenin tahminlere ulaşmasıyla görünür.

  10. 1 akış birimine sahip akış uç noktası için varsayılan ayar, CDN'nin 90% ve akış uç noktasının 10% kullanarak 3,5 Mb/sn'de 571 eşzamanlı görüntüleyiciye akış tahmini olduğunu gösterir.

  11. cdn önbelleğinden 90% olan Çıkış kaynağı yüzdesini 0%olarak değiştirin. Hesap makinesi, CDN olmadan 200 Mb/sn'de 3,5 Mb/sn 57 eşzamanlı görüntüleyiciye akış gerçekleştirebileceğinizi tahmin eder.

  12. Şimdi Çıkış kaynağını 90%olarak değiştirin.

  13. Ardından akış birimlerini 2 olarak değiştirin. Hesap makinesi, cdn trafiğin 90% işlemesi ile 4000Mpbs ile 3,5 Mb/sn'de 1143 eşzamanlı görüntüleyiciye akış gerçekleştirebileceğinizi tahmin eder.

  14. Kaydetöğesini seçin.

  15. Akış uç noktasını başlatabilir ve buna trafik göndermeyi deneyebilirsiniz. Ekranın alt kısmındaki ölçümler gerçek trafiği izler.

Zamanlama

Akış birimlerinin hazır olduğundan emin olmak için beklenen yoğun kullanımdan 1 saat önce akış birimleri sağlamak isteyebilirsiniz.

Yardım ve destek alma

Sorularınız için Media Services ile iletişime geçebilir veya aşağıdaki yöntemlerden birini kullanarak güncelleştirmelerimizi izleyebilirsiniz: