Canlı akış kod dönüştürme, yüksek veya düşük alım bit hızlarından kaynaklanan oynatma sorunlarını önler. Bu konuda kullanım senaryoları, sınırlamalar, özellikler, şablon parametreleri, kod dönüştürme kuralları ve uyarlanabilir genişlik ele alınmaktadır.
Kullanım senaryoları
Alım bit hızı yüksek ancak istemci bant genişliği kısıtlı olduğunda video oynatmada takılmalar yaşanabilir. Tersine, düşük bir alım bit hızı kötü oynatma kalitesine neden olur. Canlı akış kod dönüştürme bu sorunları çözer.
-
Oynatıcı eklentileri çoklu bit hızı değiştirmeyi desteklemelidir. Bunu etkinleştirmek için oynatıcıya aynı alım akışı için farklı bit hızlarına sahip birden fazla akış URL'si sağlamanız gerekir. ApsaraVideo Live'ın gerçek zamanlı kod dönüştürme özelliği bu URL'leri oluşturur.
H.264 kodlamalı bir akış alıp bunu bant genişliğini azaltmak için gerçek zamanlı olarak H.265 canlı akışa dönüştürebilirsiniz.
H.265 kodlamalı bir akış alıp bunu gerçek zamanlı olarak düşük bit hızlı bir H.265 canlı akışa dönüştürebilirsiniz.
Tarayıcıların H.265 ile uyumsuzluk sorununu çözmek için akışı gerçek zamanlı olarak bir H.264 canlı akışa dönüştürebilirsiniz.
Canlı akış kod dönüştürme özelliği kod dönüştürme ücretlerine tabidir. Ücretler; kod dönüştürme standardına, çözünürlüğe ve toplam kod dönüştürme süresine göre hesaplanır. Faturalama kuralları hakkında daha fazla bilgi için bkz. Canlı akış kod dönüştürme ücretleri.
Sınırlamalar
Bir etki alanı adı ve AppName için kod dönüştürme şablonları yapılandırdığınızda, tek bir şablon için Template Type değerini hem Standard Transcoding hem de Narrowband HDTM template olarak ayarlayamazsınız.
Belirli bir AppName için bir kod dönüştürme şablonu yapılandırdığınızda, bu şablon yalnızca alım URL'sindeki AppName şablondakiyle eşleşirse uygulanır. Alt akış etki alanları, birincil akış etki alanından kod dönüştürme şablonlarını devralır; bu nedenle alt akış etki alanlarına özel tüm yapılandırmalar yok sayılır.
Çin (Pekin), Çin (Şanghay) ve Çin (Shenzhen) bölgelerindeki canlı merkezler için her etki alanı adı en fazla 300 eşzamanlı kodu dönüştürülmüş akışı destekler. Diğer canlı merkezler için her etki alanı adı en fazla 50 eşzamanlı kodu dönüştürülmüş akışı destekler. Örneğin, yüksek tanımlı bir canlı akış alındığında ve oynatma için standart ve düşük tanımlı akışlara dönüştürüldüğünde bu iki eşzamanlı kodu dönüştürülmüş akış olarak sayılır. Sınıra ulaşıldığında sınırı aşan bağlantılar orijinal akışı oynatır. Mevcut kullanımınızı görüntülemek ve kota artışı talep etmek için akış etki alanınızın temel yapılandırma > Temel Bilgiler bölümüne gidin.
Canlı akış hizmeti iş gereksinimlerinizi karşılamıyorsa lütfen Alibaba Cloud hesap yöneticinizle iletişime geçin veya diğer kanallar aracılığıyla bizimle iletişime geçin.
Özellikler
Kod dönüştürme özelliği; Default Transcoding, Custom Transcoding, Multi-bitrate Transcoding ve HTML5 Auto Transcoding seçeneklerini içerir.
Default Transcoding: Şablon kimliğini ve çıkış çözünürlüğünü içeren sistem tarafından önceden ayarlanmış şablonları kullanabilirsiniz. Sistem çıkış bit hızını önceden ayarlar ve bu değer değiştirilemez.
Custom Transcoding: Kodlama formatını, çözünürlüğü, bit hızını, kare hızını, video GOP'unu, kod dönüştürme tetikleyicisini ve şablon kimliğini yapılandırabilirsiniz.
Multi-bitrate Transcoding: Bir kod dönüştürme şablonu birden fazla kod dönüştürme yapılandırması içerebilir. Çoklu bit hızı kod dönüştürmeyi yapılandırdıktan sonra oynatıcı, istemcinin ağ bant genişliğine göre uygun bit hızıyla canlı akışı otomatik olarak oynatabilir. Bu sayede oynatma deneyimi iyileştirilir.
HTML5 Auto Transcoding: Bu özellik, Gerçek Zamanlı Akış (RTS) (artc://) için yerel tarayıcılarda video B-karelerinin ve AAC kodlamasının desteklenmemesi gibi sorunları çözer.
Sistem tarafından önceden ayarlanmış şablonlar
Kod dönüştürme kuralları
-
ApsaraVideo Live varsayılan olarak isteğe bağlı kod dönüştürmeyi destekler. Sistem kodu dönüştürülmüş canlı akışları izler. Bir akışın izleyicisi yoksa sistem kod dönüştürme işlemi gerçekleştirmez. İlk izleyici akışı izlemeye başladığında kod dönüştürme başlar. Kod dönüştürme sürecinde sistem, oynatma durumuna ve arka plan görevlerinin durumuna bakarak kod dönüştürmenin durdurulup durdurulmayacağını belirler. Aşağıdaki kurallar geçerlidir:
Kayıt, zaman kaydırma, anlık görüntü alma veya içerik denetleme gibi arka plan görevleri hala çalışıyorsa sistem, kimse izlemiyor olsa bile akışı bağlı tutar ve kod dönüştürmeye devam eder.
Hiçbir arka plan görevi çalışmıyorsa ve sistem beş dakika boyunca izleyici algılamazsa kod dönüştürme otomatik olarak durdurulur.
Arka plan görevinin durumundan bağımsız olarak, kimse izlemiyorsa sistemin kod dönüştürmeyi durdurmasını istiyorsanız arka plan yapılandırması talep etmek için bir destek talebi oluşturun. Destek talebi oluşturma hakkında daha fazla bilgi için bkz. Bize ulaşın.
Sistem her akışı yalnızca bir kez kod dönüştürür.
Kod dönüştürme, ihtiyaçınıza göre yapılandırabileceğiniz isteğe bağlı bir hizmettir.
Kod dönüştürme özelliği FLV, RTMP, HLS ve RTS protokollerini destekler.
Uyarlanabilir çözünürlük
Kod dönüştürme, videonun yatay mı yoksa dikey yönlendirmede mi olduğuna dayalı uyarlanabilir bir çözünürlük algoritması kullanır.
Uyarlanabilir yatay kod dönüştürme için sistem, şablon yüksekliğine göre kodu dönüştürülmüş videonun genişliğini uyarlar.
Uyarlanabilir dikey kod dönüştürme için sistem, şablon genişliğine göre kodu dönüştürülmüş videonun yüksekliğini uyarlar.
Sistem uyarlanabilir genişliği aşağıdaki şekilde hesaplar.

Örneğin, 1920 × 1080 boyutundaki bir videoyu LD (Yatay) şablonuyla (şablon kimliği: ld) kod dönüştürürseniz şablon yüksekliği 360 olarak ayarlanır ve uyarlanabilir genişlik sonucunda nihai çözünürlük 640 × 360 olur.
Örneğin, 1920 × 1080 boyutundaki bir videoyu LD (Dikey) şablonuyla (şablon kimliği: ld-v) kod dönüştürürseniz şablon genişliği 360 olarak ayarlanır ve uyarlanabilir yükseklik sonucunda nihai çözünürlük 360 × 203 olur.
Şu anda yalnızca Default Transcoding ve Custom Transcoding uyarlanabilir çözünürlüğü destekler.
Yapılandırma
Bir kod dönüştürme şablonu yapılandırmasını değiştirmek veya silmek devam eden bir akış alma görevini etkilemez. Yeni yapılandırmanın etkili olması veya kod dönüştürme faturalamasının durdurulması için mevcut canlı akışın bağlantısını kesmeniz ve akış almayı yeniden başlatmanız gerekir.
Varsayılan kod dönüştürme
ApsaraVideo Live'da Varsayılan kod dönüştürme özelliğini iki şekilde yapılandırabilirsiniz.
Özel kod dönüştürme
Varsayılan kod dönüştürme şablonları gereksinimlerinizi karşılamıyorsa Custom Transcoding yapılandırmalarını kullanabilirsiniz. Custom Transcoding yapılandırmaları, kodlama formatını, çözünürlüğü, bit hızını, kare hızını, video GOP'unu, kod dönüştürme tetikleyicisini ve kod dönüştürme şablonu kimliğini ayarlamanıza olanak tanır.
ApsaraVideo Live'da Custom Transcoding özelliğini iki şekilde yapılandırabilirsiniz.
Çoklu bit hızı kod dönüştürme
Tek bir şablon grubu içinde birden fazla kod dönüştürme profili yapılandırmak için Multi-bitrate Transcoding özelliğini kullanabilirsiniz. Ağ koşullarında önemli farklılıkların olduğu bölgelerde ağ dalgalanmaları oynatma deneyimini etkileyebilir. Birden fazla bit hızı yapılandırarak oynatıcının kullanıcının bant genişliğine uyum sağlamasına olanak tanırsınız. Multi-bitrate Transcoding özelliğini yapılandırdıktan sonra oynatıcı, istemcinin ağı için en uygun bit hızını otomatik olarak seçerek oynatma deneyimini iyileştirir.
Multi-bitrate Transcoding özelliğini yalnızca ApsaraVideo Live konsolunda yapılandırabilirsiniz.
Şu anda Multi-bitrate Transcoding akışları yalnızca HLS kodu dönüştürülmüş akış URL'leri olarak kullanılabilir.
Multi-bitrate Transcoding akışlarını oynatmak için
aliyunols=onparametresini eklemeniz gerekir.aliyunols=onparametresi gereklidir ve sabit bir değere sahiptir.-
Multi-bitrate Transcoding akışlarını ve HLS şifreli akışları oynatmak için orijinal akış adresine sabit bir gerekli alan eklenmelidir:
aliyunols=on.Örnek:
https://yourdomain/live/StreamName_ID.m3u8?auth_key=xxxxx&aliyunols=on.
Aşağıda örnek bir URL verilmiştir:
http://<DomainName>/<AppName>/<StreamName>_<Template Group ID>.m3u8?aliyunols=on&auth_key=1234****
Aşağıdaki örnekte gerçek bir senaryoda Multi-bitrate Transcoding özelliğinin nasıl kullanılacağı gösterilmektedir.
Örneğin, aşağıdaki şekilde gösterildiği gibi bir Multi-bitrate Transcoding yapılandırması ekleyin.

Bu şablon grubunda dört düzeyde kod dönüştürme yapılandırması özelleştirilmiştir. Farklı düzeyler için parametre değerleri hakkında bilgi için bu konudaki Sistem tarafından önceden ayarlanmış şablonlar bölümüne bakın.
Ardından akış almayı başlatın ve oynatma için web tabanlı Alibaba Cloud Player SDK'yı kullanın. Hata ayıklama sırasında oynatıcının istemcinin ağ bant genişliğine göre uygun bit hızına sahip kodu dönüştürülmüş akışı otomatik olarak seçtiğini göreceksiniz.
stream_transcode-lld.m3u8?aliyunols=on&auth_key=17260391... 200
stream_transcode-lsd.m3u8?aliyunols=on&auth_key=17260391... 200
stream_transcode-lld.m3u8?aliyunols=on&auth_key=17260391... 200
stream_transcode-lsd.m3u8?aliyunols=on&auth_key=17260391... 200
stream_transcode-lld.m3u8?aliyunols=on&auth_key=17260391... 200
stream_transcode-lsd.m3u8?aliyunols=on&auth_key=17260391... 200
stream_transcode-lsd.m3u8?aliyunols=on&auth_key=17260391... 200
stream_transcode-lhd.m3u8?aliyunols=on&auth_key=1726039... 200
stream_transcode-lsd.m3u8?aliyunols=on&auth_key=1726039... 200
stream_transcode-lhd.m3u8?aliyunols=on&auth_key=1726039... 200
stream_transcode-lhd.m3u8?aliyunols=on&auth_key=1726039... 200
stream_transcode-lhd.m3u8?aliyunols=on&auth_key=1726039... 200
Alibaba Cloud oynatıcıyı kullanmak için bkz. Player SDK.
H5 otomatik kod dönüştürme
Gerçek Zamanlı Akış (RTS) WebRTC protokolünü kullanır. Yerel tarayıcılar genellikle WebRTC için video B-karelerini veya AAC kodlamasını desteklemediğinden H5 otomatik kod dönüştürme, sorunsuz oynatma sağlamak için bu uyumsuzlukları giderir.
RTS'yi etkinleştirirken H5 otomatik kod dönüştürmeyi etkinleştirebilirsiniz. Daha fazla bilgi için bkz. Adım 5: RTS özelliğini etkinleştirme.
H5 otomatik kod dönüştürme, yerel tarayıcılarda Gerçek Zamanlı Akış (RTS) oynatma için B-kareleri ve AAC kodlaması gibi uyumluluk sorunlarını çözer. Bit hızı, kare hızı veya çözünürlük ayarlama gibi video içeriğini kod dönüştürmek için yine de Varsayılan kod dönüştürme veya Custom Transcoding kullanmanız gerekir.
H5 otomatik kod dönüştürme, Varsayılan kod dönüştürme veya Custom Transcoding ile birlikte kullanılabilir.
H5 otomatik kod dönüştürme kullanırken yalnızca ses kod dönüştürme için ücretlendirilirsiniz. Daha fazla bilgi için bkz. Canlı akış kod dönüştürme ücretleri.
Yalnızca ses kod dönüştürmeyi devre dışı bırakmak için ApsaraVideo Live konsolunda oturum açın ve sol gezinme bölmesinden Feature Management > Transcoding seçeneğine gidin. Etki alanı adı için bir Audio-only Transcoding yapılandırılıp yapılandırılmadığını kontrol edin. Varsa şablonu silin veya değiştirin.
Bir Web SDK kullanarak oynatma yaparken AAC'yi Opus'a dönüştürme gibi işlemlerle HTML5 Auto Transcoding otomatik olarak tetikleniyorsa bunun yerine bir Alibaba Cloud Native SDK kullanmanızı öneririz. Yerel SDK'lar AAC gibi formatları yerel olarak destekler ve bu nedenle ek kod dönüştürme ücretlerini önleyen bu otomatik kod dönüştürmeyi tetiklemez.
Video şifreleme
Varsayılan kod dönüştürme ve Custom Transcoding ayarları video şifreleme seçenekleri içerir. Bu ayarlar içinde doğrudan Alibaba Cloud Proprietary Cryptography yapılandırabilirsiniz. Ayrıntılar ve kurulum talimatları için bkz. Alibaba Cloud video şifreleme.
Referanslar
Kod dönüştürme yapılandırma API'leri hakkında daha fazla bilgi edinmek için bkz. canlı akış kod dönüştürme.
Java SDK'yı kullanmak için bkz. Java SDK kılavuzu.



