Tüm Ürünler
Search
Belge Merkezi

ApsaraVideo Live:Canlı akış kod dönüştürme

Son Güncelleme:Oct 17, 2026

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.

Önemli

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

Şablon ayrıntıları

  • Standart şablonlar

Şablon

Kalite Kimliği (H.264)

Kalite Kimliği (H.265)

Gecikme Kimliği (H.264)

Gecikme Kimliği (H.265)

Çözünürlük

Bit Hızı

LD (Yatay)

lld

lld265

lld-ll

lld265-ll

Uyarlanabilir genişlik, yükseklik: 360

≤470

SD (Yatay)

lsd

lsd265

lsd-ll

lsd265-ll

Uyarlanabilir genişlik, yükseklik: 432

≤680

HD (Yatay)

lhd

lhd265

lhd-ll

lhd265-ll

Uyarlanabilir genişlik, yükseklik: 648

≤1500

UHD (Yatay)

lud

lud265

lud-ll

lud265-ll

Uyarlanabilir genişlik, yükseklik: 1080

≤2500

SD (Yatay)

lsd540

lsd265-540

lsd540-ll

lsd265-540-ll

Uyarlanabilir genişlik, yükseklik: 540

≤680

LD (Dikey)

lld-v

lld265-v

lld-v-ll

lld265-v-ll

Genişlik: 360, uyarlanabilir yükseklik

≤470

SD (Dikey)

lsd-v

lsd265-v

lsd-v-ll

lsd265-v-ll

Genişlik: 432, uyarlanabilir yükseklik

≤680

HD (Dikey)

lhd-v

lhd265-v

lhd-v-ll

lhd265-v-ll

Genişlik: 648, uyarlanabilir yükseklik

≤1500

UHD (Dikey)

lud-v

lud265-v

lud-v-ll

lud265-v-ll

Genişlik: 1080, uyarlanabilir yükseklik

≤2500

SD (Dikey)

lsd540-v

lsd265-540-v

lsd540-v-ll

lsd265-540-v-ll

Genişlik: 540, uyarlanabilir yükseklik

≤680

Orijinal kalite - Yalnızca ses kod dönüştürme

oriopus

Orijinal kalite - Yalnızca ses kod dönüştürme

oriaac

  • Narrowband HD şablonları


Şablon


Kalite Kimliği (H.264)


Kalite Kimliği (H.265)


Gecikme Kimliği (H.264)


Gecikme Kimliği (H.265)


Çözünürlük


Bit Hızı


LD (Yatay)


ld


ld265


ld-ll


ld265-ll


Uyarlanabilir genişlik, yükseklik: 360


≤450


SD (Yatay)


sd


sd265


sd-ll


sd265-ll


Uyarlanabilir genişlik, yükseklik: 432


≤480


HD (Yatay)


hd


hd265


hd-ll


hd265-ll


Uyarlanabilir genişlik, yükseklik: 648


≤1200


UHD (Yatay)


ud


ud265


ud-ll


ud265-ll


Uyarlanabilir genişlik, yükseklik: 1080


≤1300


SD (Yatay)


sd540


sd265-540


sd540-ll


sd265-540-ll


Uyarlanabilir genişlik, yükseklik: 540


≤480


LD (Dikey)


ld-v


ld265-v


ld-v-ll


ld265-v-ll


Genişlik: 360, uyarlanabilir yükseklik


≤450


SD (Dikey)


sd-v


sd265-v


sd-v-ll


sd265-v-ll


Genişlik: 432, uyarlanabilir yükseklik


≤480


HD (Dikey)


hd-v


hd265-v


hd-v-ll


hd265-v-ll


Genişlik: 648, uyarlanabilir yükseklik


≤1200


UHD (Dikey)


ud-v


ud265-v


ud-v-ll


ud265-v-ll


Genişlik: 1080, uyarlanabilir yükseklik


≤1300


SD (Dikey)


sd540-v


sd265-540-v


sd540-v-ll


sd265-540-v-ll


Genişlik: 540, uyarlanabilir yükseklik


≤480

Önemli
  • Template ID mutlaka faturanızdaki kod dönüştürme teknik özellikleriyle eşleşmez. Faturanızdaki gerçek kod dönüştürme teknik özelliği, kodu dönüştürülmüş videonun çözünürlüğüne bağlıdır. Örneğin, LD (ld) kod dönüştürme yapılandırırsanız ve kodu dönüştürülmüş video kısa kenarı ≤ 480 ve uzun kenarı ≤ 640 ise, LD teknik özelliğine göre faturalandırılırsınız. LD (ld) kod dönüştürme yapılandırırsanız ancak kodu dönüştürülmüş videonun çözünürlüğü 700 × 360 ise, SD teknik özelliğine göre faturalandırılırsınız. Daha fazla bilgi için bkz. Canlı akış kod dönüştürme ücretleri.

  • Sistem, videonun yatay mı yoksa dikey mi olduğuna bağlı olarak kodu dönüştürülmüş videonun çözünürlüğünü uyarlar. Daha fazla bilgi için bkz. Uyarlanabilir çözünürlük.

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.

Önemli

Şu anda yalnızca Default Transcoding ve Custom Transcoding uyarlanabilir çözünürlüğü destekler.

Yapılandırma

Önemli

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.

Konsolda Varsayılan kod dönüştürmeyi yapılandırma

  1. ApsaraVideo Live konsolunda oturum açın.

  2. Sol gezinme bölmesinde Feature Management > Transcoding seçeneğine tıklayın.

  3. Yapılandırmak istediğiniz etki alanı adını seçin, Default Transcoding sekmesine tıklayın ve ardından bir kod dönüştürme şablonu yapılandırmak için Add seçeneğine tıklayın.

    image

    Aşağıdaki tabloda kod dönüştürme şablonunun parametreleri açıklanmaktadır.

    Parametre

    Açıklama

    Application Name

    Sistem öncelikle alım URL'siyle aynı AppName'e sahip bir kod dönüştürme şablonuyla eşleşmeyi dener. Eşleşme bulunamazsa sistem AppName'in yıldız işareti (*) olarak ayarlandığı bir şablon kullanır.

    Trigger Transcoding

    • Etkin: Kod dönüştürme yalnızca kodu dönüştürülmüş akış ilk kez çekildiğinde başlar.

    • Devre dışı: Akış çekilmiyor olsa bile kod dönüştürme akış alındığında başlar.

    Template Type

    • İki şablon türü sunar: Standard Transcoding ve Narrowband HD™ Transcoding. Bu türler kalite, performans ve fiyat açısından farklılık gösterir. Standard Transcoding bir Orijinal kalite - Yalnızca ses kod dönüştürme seçeneği içerir.

    • Birden fazla kod dönüştürme şablonu seçebilirsiniz.

    • Bir kod dönüştürme şablonu kullanırken Template ID, kod dönüştürme URL'sini oluşturmak için kullanılan bir parametredir. URL'nin nasıl oluşturulacağına ilişkin talimatlar için bkz. Canlı akış URL'leri oluşturma. Şablon kimlikleri hakkında daha fazla bilgi için bkz. Sistem tarafından önceden ayarlanmış şablonlar. Kod dönüştürme modları kalite öncelikli ve gecikme öncelikli olmak üzere ikiye ayrılır. Gecikme öncelikli modda kodu dönüştürülmüş akışın gecikmesi daha düşüktür.

    • Aynı etki alanı adı için AppName ve Template ID kombinasyonu bir bileşik birincil anahtar görevi görür.

    Encryption

    Bu özelliği etkinleştirdikten sonra Alibaba Cloud Proprietary Cryptography veya DRM Encryption yapılandırabilirsiniz.

    • Alibaba Cloud Proprietary Cryptography

      Not

      HLS şifreli akışı oynatmak için orijinal şifreli akış adresine sabit bir gerekli alan eklemeniz gerekir: aliyunols = on.

      Oynatma örneği:https://yourdomain/live/StreamName_ID.m3u8?auth_key=xxxxx&aliyunols=on.

      • Alibaba Cloud video şifreleme yalnızca HLS ve FLV çıkış formatlarını destekler.

      • KMS CMK ID: Key Management Service (KMS) anahtarının bölgesi, etki alanı adının canlı merkeziyle aynı olmalıdır. Anahtarınız yoksa bir tane oluşturmak için KMS konsoluna gidin. Daha fazla bilgi için bkz. KMS örneği satın alma ve etkinleştirme.

      • CMK Rotation Period: 60 ile 3600 arasında bir tamsayı.

      • Alibaba Cloud video şifreleme kullanımı hakkında daha fazla bilgi için bkz. Alibaba Cloud video şifreleme.

    • DRM Encryption

      Not

      DRM Encryption yalnızca Şanghay ve Singapur canlı merkezlerinde desteklenir.

      • Bu özelliği etkinleştirmeden önce bir DRM anahtarı yapılandırmanız gerekir. Daha fazla bilgi için bkz. DRM şifrelemesini yapılandırma.

      • DRM Encryption, HLS üzerinden Widevine ve FairPlay için desteklenir. FairPlay için Apple'dan aldığınız sertifikayı DRM Sertifika Yönetimi'ne yüklemeniz gerekir. Daha fazla bilgi için bkz. FairPlay sertifikası isteme.

  4. OK seçeneğine tıklayın.

API kullanarak Varsayılan kod dönüştürmeyi yapılandırma

// This file is auto-generated, don't edit it. Thanks.
package demo;

import com.aliyun.auth.credentials.Credential;
import com.aliyun.auth.credentials.provider.StaticCredentialProvider;
import com.aliyun.core.http.HttpClient;
import com.aliyun.core.http.HttpMethod;
import com.aliyun.core.http.ProxyOptions;
import com.aliyun.httpcomponent.httpclient.ApacheAsyncHttpClientBuilder;
import com.aliyun.sdk.service.live20161101.models.*;
import com.aliyun.sdk.service.live20161101.*;
import com.google.gson.Gson;
import darabonba.core.RequestConfiguration;
import darabonba.core.client.ClientOverrideConfiguration;
import darabonba.core.utils.CommonUtil;
import darabonba.core.TeaPair;

//import javax.net.ssl.KeyManager;
//import javax.net.ssl.X509TrustManager;
import java.net.InetSocketAddress;
import java.time.Duration;
import java.util.*;
import java.util.concurrent.CompletableFuture;
import java.io.*;

public class AddLiveStreamTranscode {
    public static void main(String[] args) throws Exception {

        // HttpClient Configuration
        /*HttpClient httpClient = new ApacheAsyncHttpClientBuilder()
                .connectionTimeout(Duration.ofSeconds(10)) // Set the connection timeout time, the default is 10 seconds
                .responseTimeout(Duration.ofSeconds(10)) // Set the response timeout time, the default is 20 seconds
                .maxConnections(128) // Set the connection pool size
                .maxIdleTimeOut(Duration.ofSeconds(50)) // Set the connection pool timeout, the default is 30 seconds
                // Configure the proxy
                .proxy(new ProxyOptions(ProxyOptions.Type.HTTP, new InetSocketAddress("<YOUR-PROXY-HOSTNAME>", 9001))
                        .setCredentials("<YOUR-PROXY-USERNAME>", "<YOUR-PROXY-PASSWORD>"))
                // If it is an https connection, you need to configure the certificate, or ignore the certificate(.ignoreSSL(true))
                .x509TrustManagers(new X509TrustManager[]{})
                .keyManagers(new KeyManager[]{})
                .ignoreSSL(false)
                .build();*/

        // Configure Credentials authentication information, including ak, secret, token
        StaticCredentialProvider provider = StaticCredentialProvider.create(Credential.builder()
                // Please ensure that the environment variables ALIBABA_CLOUD_ACCESS_KEY_ID and ALIBABA_CLOUD_ACCESS_KEY_SECRET are set.
                .accessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
                .accessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"))
                //.securityToken(System.getenv("ALIBABA_CLOUD_SECURITY_TOKEN")) // use STS token
                .build());

        // Configure the Client
        AsyncClient client = AsyncClient.builder()
                .region("<Your RegionId>") // Region ID
                //.httpClient(httpClient) // Use the configured HttpClient, otherwise use the default HttpClient (Apache HttpClient)
                .credentialsProvider(provider)
                //.serviceConfiguration(Configuration.create()) // Service-level configuration
                // Client-level configuration rewrite, can set Endpoint, Http request parameters, etc.
                .overrideConfiguration(
                        ClientOverrideConfiguration.create()
                                  // For more information about endpoints, see https://api.alibabacloud.com/product/live.
                                .setEndpointOverride("live.aliyuncs.com")
                        //.setConnectTimeout(Duration.ofSeconds(30))
                )
                .build();

        // Parameter settings for API request
        AddLiveStreamTranscodeRequest addLiveStreamTranscodeRequest = AddLiveStreamTranscodeRequest.builder()
                .regionId("<Your RegionId>")
                .domain("<Your Domain>")
                .app("<Your App Name>")
                .template("<Your Template>")
                .encryptParameters("<Your EncryptParameters>")
                // Request-level configuration rewrite, can set Http request parameters, etc.
                // .requestConfiguration(RequestConfiguration.create().setHttpHeaders(new HttpHeaders()))
                .build();

        // Asynchronously get the return value of the API request
        CompletableFuture<AddLiveStreamTranscodeResponse> response = client.addLiveStreamTranscode(addLiveStreamTranscodeRequest);
        // Synchronously get the return value of the API request
        AddLiveStreamTranscodeResponse resp = response.get();
        System.out.println(new Gson().toJson(resp));
        // Asynchronous processing of return values
        /*response.thenAccept(resp -> {
            System.out.println(new Gson().toJson(resp));
        }).exceptionally(throwable -> { // Handling exceptions
            System.out.println(throwable.getMessage());
            return null;
        });*/

        // Finally, close the client
        client.close();
    }

}
Not
  • Yukarıdaki örnek, AppName <AppName> olan bir canlı akış için kod dönüştürmenin nasıl yapılandırılacağını göstermektedir. Kod dönüştürme parametreleri sistem tarafından önceden ayarlanmış <ld> şablonunu kullanır. Sistem tarafından önceden ayarlanmış şablonlar hakkında daha fazla bilgi için bu konudaki Sistem tarafından önceden ayarlanmış şablonlar bölümüne bakın.

  • setLazy("<true>") ifadesi, kod dönüştürmenin yalnızca akış çekme sırasında tetiklendiğini belirtir. Kod dönüştürmeyi akış alma sırasında tetiklemek için setLazy("false") değerini belirtebilirsiniz.

  • API hakkında daha fazla bilgi için bkz. AddLiveStreamTranscode.

ApsaraVideo Live konsolunda oturum açıp Stream Management seçeneğini seçebilir, ilgili alım kaydını bulabilir ve eylemler sütunundaki Ingest/Streaming URLs seçeneğine tıklayarak kodu dönüştürülmüş akış URL'sini görüntüleyebilirsiniz.

Not
  • Akış URL'leri orijinal akış URL'sini ve kodu dönüştürülmüş akış URL'lerini içerir.

  • Orijinal akış URL'sinden StreamName değerini alıp _<Template ID> ekleyerek özel bir kodu dönüştürülmüş akış URL'si oluşturabilirsiniz. Daha fazla bilgi için bkz. Canlı akış URL'leri oluşturma.

Ö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.

Konsolda Özel kod dönüştürmeyi yapılandırma

  1. ApsaraVideo Live konsolunda oturum açın.

  2. Sol gezinme bölmesinde Feature Management > Transcoding seçeneğine tıklayın.

  3. Yapılandırmak istediğiniz etki alanı adını seçin, Custom Transcoding sekmesine tıklayın ve ardından bir kod dönüştürme şablonu yapılandırmak için Add seçeneğine tıklayın.image.png

    Aşağıdaki tabloda kod dönüştürme şablonunun parametreleri açıklanmaktadır.

    Parametre

    Açıklama

    Application Name

    Sistem öncelikle alım URL'siyle aynı AppName'e sahip bir kod dönüştürme şablonuyla eşleşmeyi dener. Eşleşme bulunamazsa sistem AppName'in yıldız işareti (*) olarak ayarlandığı bir şablon kullanır.

    Template ID

    • Bir kod dönüştürme şablonu kullanırken Template ID, kod dönüştürme URL'sini oluşturmak için kullanılan bir parametredir. URL'nin nasıl oluşturulacağına ilişkin talimatlar için bkz. Canlı akış URL'leri oluşturma.

    • Şablon kimliğini sistem tarafından önceden ayarlanmış bir şablon kimliğiyle aynı olacak şekilde ayarlamayın. Sistem tarafından önceden ayarlanmış şablon kimlikleri hakkında daha fazla bilgi için bkz. Sistem tarafından önceden ayarlanmış şablonlar.

    • Aynı etki alanı adı için AppName ve Template ID kombinasyonu bir bileşik birincil anahtar görevi görür.

    Template Type

    • Seçenekler şunlardır: Standard Transcoding, Narrowband HD™ Transcoding ve Audio-only Transcoding. Standart ve Narrowband HD™ şablonlarının kalitesi, performansı ve fiyatı farklıdır.

    • Audio-only Transcoding, videoyu kaldırır ve yalnızca ses akışını çıkarır.

    Encoding Format

    H.264 ve H.265 desteklenir.

    Recommend Parameter Settings

    LD, SD, HD ve UHD olmak üzere dört önerilen parametre kümesi mevcuttur. Bir ön ayar seçtiğinizde karşılık gelen kare hızı, bit hızı ve çözünürlük otomatik olarak varsayılan sistem değerleriyle doldurulur. Ardından bu değerleri ihtiyacınıza göre ayarlayabilirsiniz.

    Resolution

    Videonun piksel cinsinden çıkış çözünürlüğü. Sabit bir çözünürlük seçebilir veya çözünürlüğün kaynağı takip etmesini sağlayabilirsiniz.

    Kaynağı takip et: Kaynak akışın genişliği ve yüksekliği uyarlanabilir boyutlardan küçükse çıkış çözünürlüğü kaynakla eşleşir. Genişlik ve yükseklik daha büyükse çıkış çözünürlüğü uyarlanabilir boyutları kullanır. Aşağıdaki uyarlanabilir yöntemlerden birini seçebilirsiniz:

    • Uyarlanabilir kısa kenar

    • Uyarlanabilir uzun kenar

    • Uyarlanabilir yatay/dikey

    Sabit çözünürlük: Çıkış belirtilen bir çözünürlüğe sahiptir. Farklı çözünürlük katmanlarının farklı fiyatları vardır. Çözünürlük katmanları aşağıdaki gibidir:

    • LD: (640 × 480) ve altı.

    • SD: (1280 × 720) ve altı.

    • HD: (1920 × 1080) ve altı.

    • 2K: (2560 × 1440) ve altı.

    • 4K: (3840 × 2160) ve altı.

    Not

    • Kod dönüştürme, çözünürlük katmanına (LD, SD, HD, 2K veya 4K) göre faturalandırılır. Çözünürlük katmanı, standart şablonların şablon kimliklerinden (lld, lsd, lhd ve lud dahil) ve Narrowband HD™ şablonlarından (ld, sd, hd ve ud dahil) bağımsızdır. Şablon kimlikleri yalnızca API çağrılarında tanımlayıcı olarak kullanılır ve faturalandırma katmanlarıyla karıştırılmamalıdır.

    • Konsol 1080p'den yüksek çözünürlükler için özel ayarları desteklemez. Senaryonuz 2K veya 4K çözünürlük gerektiriyorsa bunu talep etmek için bir destek talebi oluşturabilirsiniz.

      Destek talebi oluşturma hakkında bilgi için bkz. Bize Ulaşın.

    Çözünürlük katmanı belirleme kuralı: Çıkış spesifikasyonu, çıkış videosu çözünürlüğünün uzun ve kısa kenarlarının o katman için tanımlanan aralık içinde olup olmadığına göre belirlenir.

    Örneğin, SD (1280 × 720) katmanı için:

    • Çıkış videosu çözünürlüğünün uzun kenarı 1280'den küçük veya eşitse ve kısa kenarı 720'den küçük veya eşitse video bu çıkış spesifikasyonuna aittir.

    • Çıkış videosunun uzun kenarı 1280'den büyük veya kısa kenarı 720'den büyükse çıkış videosu daha yüksek bir çıkış spesifikasyonuna aittir.

    Video Frame Rate

    Kaynağı takip et: Kaynak kare hızı izin verilen aralıktaysa çıkış kare hızı kaynakla eşleşir. Üst sınırı aşarsa üst sınır kullanılır. Alt sınırın altındaysa alt sınır kullanılır.

    Sabit kare hızı: Çıkış, FPS cinsinden belirtilen bir video kare hızına sahiptir. Değer giriş kare hızından küçük veya ona eşit olmalıdır.

    Video Bitrate

    Kaynağı takip et: Kaynak bit hızı izin verilen aralıktaysa çıkış bit hızı kaynakla eşleşir. Üst sınırı aşarsa üst sınır kullanılır. Alt sınırın altındaysa alt sınır kullanılır. Orana göre çıkış da desteklenir.

    Sabit bit hızı: kbps cinsinden belirtilen bit hızını kullanın. Her çözünürlük katmanı için belirtilen bit hızları aşağıdaki gibidir:

    • LD: 100 ila 800.

    • SD: 200 ila 1500.

    • HD: 500 ila 4000.

    • 2K: 2000 ila 8000.

    • 4K: 4000 ila 30000.

    Video GOP (frames)

    İki I-karesi arasındaki aralık olan Resim Grubu'nu (GOP) belirtir. Değer kaynak akışın GOP'undan küçük veya ona eşit olmalı ve düşük gecikmeyi sağlamak için 3 saniyeyi aşmamalıdır.

    Audio Bitrate (yalnızca ses kod dönüştürme)

    Bu parametre, Template Type değerini Audio Only olarak ayarladığınızda görüntülenir. Birim kbps'dir. Değer 8 ila 1.000 arasındadır.

    Profile (yalnızca ses kod dönüştürme)

    Template Type değerini Audio Only olarak ayarladığınızda bu parametre görüntülenir.

    • LC-AAC: Düşük Karmaşıklık-Gelişmiş Ses Kodlaması. Yüksek kod dönüştürme verimliliği sunar.

    • HE-AAC: Yüksek Verimli Gelişmiş Ses Kodlaması. Özellikle 128 kbps'nin altındaki düşük ses bit hızlarında LC-AAC'den daha iyi ses kalitesi sunar.

    Sampling Rate (yalnızca ses kod dönüştürme)

    Bu parametre ses örnekleme hızını belirtir ve Template Type değerini Audio Only olarak ayarladığınızda görüntülenir. Geçerli değerler: 22050, 32000, 44100, 48000 ve 96000.

    Sound Channels (yalnızca ses kod dönüştürme)

    Bu parametre ses parçası sayısını belirtir ve Template Type değerini Audio Only olarak ayarladığınızda görüntülenir. Geçerli değerler: 1 veya 2.

    Transcoding Mode (Gelişmiş Yapılandırma)

    Kalite öncelikli ve gecikme öncelikli modları destekler. Gecikme öncelikli modda kodu dönüştürülmüş akışın gecikmesi daha düşüktür.

    Trigger Transcoding (Gelişmiş Yapılandırma)

    • Etkin: Kod dönüştürme yalnızca akış ilk kez çekildiğinde başlar.

    • Devre dışı: Akış çekilmiyor olsa bile kod dönüştürme akış alındığında başlar.

    Video Encryption (Gelişmiş Yapılandırma)

    Bu özelliği etkinleştirdikten sonra Alibaba Cloud Proprietary Cryptography veya DRM Encryption yapılandırabilirsiniz.

    • Alibaba Cloud Proprietary Cryptography

      Not

      HLS şifreli akışı oynatmak için orijinal şifreli akış adresine sabit bir gerekli alan eklemeniz gerekir: aliyunols = on.

      Oynatma örneği:https://yourdomain/live/StreamName_ID.m3u8?auth_key=xxxxx&aliyunols=on.

      • Alibaba Cloud video şifreleme yalnızca HLS ve FLV çıkış formatlarını destekler.

      • KMS CMK ID: KMS anahtarının bölgesi, etki alanı adının canlı merkeziyle aynı olmalıdır. Anahtarınız yoksa bir tane oluşturmak için KMS konsoluna gidin. Daha fazla bilgi için bkz. KMS örneği satın alma ve etkinleştirme.

      • Anahtar döndürme dönemi: 60 ile 3600 arasında bir tamsayı.

      • Alibaba Cloud video şifreleme kullanımı hakkında daha fazla bilgi için bkz. Alibaba Cloud video şifreleme.

    • DRM Encryption

      Not

      DRM Encryption yalnızca Şanghay ve Singapur canlı merkezlerinde desteklenir.

      • Bu özelliği etkinleştirmeden önce bir DRM anahtarı yapılandırmanız gerekir. Daha fazla bilgi için bkz. DRM şifrelemesini yapılandırma.

      • DRM Encryption, HLS üzerinden Widevine ve FairPlay için desteklenir. FairPlay için Apple'dan aldığınız sertifikayı DRM Sertifika Yönetimi'ne yüklemeniz gerekir. Daha fazla bilgi için bkz. FairPlay sertifikası isteme.

    All SEI Passed-through (Gelişmiş Yapılandırma)

    Etkinleştirilirse tüm SEI mesaj türleri geçirilir. Devre dışı bırakılırsa SEI mesajları geçirilmez.

    Source-based Keyframe (Gelişmiş Yapılandırma)

    Etkinleştirilirse kodu dönüştürülmüş çıkış akışının anahtar kareleri kaynak akışın anahtar kareleriyle hizalanır.

    Source-based PTS (Gelişmiş Yapılandırma)

    Etkinleştirilirse kodu dönüştürülmüş çıkış akışının Sunum Zaman Damgası (PTS), kaynak akışın PTS'si ile hizalanır.

  4. OK seçeneğine tıklayın.

API kullanarak Özel kod dönüştürmeyi yapılandırma

Belirli bir etki alanı adı ve AppName için Custom Transcoding yapılandırma bilgilerini eklemek amacıyla AddCustomLiveStreamTranscode API'sini çağırın.

Custom Transcoding parametre ayarları karmaşık olduğundan Custom Transcoding yapılandırmak için konsolu API ile birlikte kullanmanızı öneririz.

Öncelikle konsolda bir Custom Transcoding yapılandırması ekleyin.

Not

Konsol, çözünürlük etkisinin önizlemesini sağlar ve LD, SD, HD ve UHD için şablon parametrelerini hızlıca doldurmanıza olanak tanır.

Parametreleri ayarladıktan sonra kod dönüştürme yapılandırma bilgilerini sorgulamak için DescribeLiveStreamTranscodeInfo API'sini çağırın.

Ç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.

Konsolda Çoklu bit hızı kod dönüştürmeyi yapılandırma

  1. ApsaraVideo Live konsolunda oturum açın.

  2. Sol gezinme bölmesinde Feature Management > Transcoding seçeneğine tıklayın.

  3. Yapılandırmak istediğiniz etki alanı adını seçin, Multi-bitrate Transcoding sekmesine tıklayın ve ardından bir Multi-bitrate Transcoding şablon grubu eklemek için Add seçeneğine tıklayın.

    1. Basic Information seçeneğine tıklayarak Multi-bitrate Transcoding şablon grubunun temel bilgilerini düzenleyin.

      多码率转码模板组-基本信息

      Aşağıdaki tabloda parametreler açıklanmaktadır:


      Parametre


      Açıklama


      Application Name


      Kod dönüştürme şablonu yalnızca bu AppName alım URL'sindeki AppName ile eşleşirse uygulanır. Aynı etki alanı adı için AppName ve Şablon Grubu Kimliği kombinasyonu bir bileşik birincil anahtar görevi görür.


      Template Group ID


      Kod dönüştürme şablon grubunun kimliği. Bu kimlik, Multi-bitrate Transcoding URL'sini oluşturmak için kullanılan bir parametredir. En fazla 10 karakter içerebilir; rakamlar, büyük/küçük harfler ve tire (-) karakterlerinden oluşabilir.


      Container Format


      Şu anda yalnızca HLS desteklenmektedir.


      Trigger Transcoding


      Şu anda kod dönüştürme yalnızca akış alma tarafından tetiklenebilir. Bu işlem kod dönüştürme ücretlerine tabidir. Akış çekme ile kod dönüştürme tetikleme desteklenmemektedir.


      Timestamp Alignment


      Etkinleştirilirse bu ayar, tek tek şablonlardaki GOP ayarını geçersiz kılar ve kaynak videonun GOP'unu kullanır.

    2. Bir şablon eklemek için + Add seçeneğine tıklayın.image

      Parametrelerini düzenlemek için eklenen şablona tıklayın. Gerekli parametreler şablon türüne göre değişebilir. Aşağıdaki tabloda parametreler açıklanmaktadır:

      Parametre

      Açıklama

      Template ID

      Kod dönüştürme şablonu grubu içindeki tek bir şablonun kimliği. Aynı şablon grubu içindeki şablon kimlikleri benzersiz olmalıdır.

      Template Type

      Geçerli değerler: Standard Transcoding, Narrowband HD™ Transcoding ve Audio-only Transcoding.

      Audio-only Transcoding, videoyu kaldırır ve yalnızca ses akışını çıkarır.

      Resolution

      Videonun piksel cinsinden çıkış çözünürlüğü. Farklı çözünürlük katmanlarının farklı fiyatları vardır. Çözünürlük katmanları aşağıdaki gibidir:

      • LD: (640 × 480) ve altı.

      • SD: (1280 × 720) ve altı.

      • HD: (1920 × 1080) ve altı.

      • 2K: (2560 × 1440) ve altı.

      • 4K: (3840 × 2160) ve altı.

      Not

      Kod dönüştürme, çözünürlük katmanına (LD, SD, HD, 2K veya 4K) göre faturalandırılır. Bu faturalandırma katmanları, yalnızca tanımlayıcı olarak kullanılan standart şablonların şablon kimliklerinden (lld, lsd, lhd ve lud gibi) ve Narrowband HD™ şablon kimliklerinden (ld, sd, hd ve ud gibi) farklıdır. İkisini karıştırmayın.

      Çözünürlük katmanı belirleme kuralı: Çıkış spesifikasyonu, çıkış videosu çözünürlüğünün uzun ve kısa kenarlarının o katman için tanımlanan aralık içinde olup olmadığına göre belirlenir.

      Örnek olarak SD (1280 × 720) çıkış spesifikasyonunu ele alalım:

      • Çıkış videosu çözünürlüğünün uzun kenarı 1280'den küçük veya eşitse ve kısa kenarı 720'den küçük veya eşitse video bu çıkış spesifikasyonuna aittir.

      • Çıkış videosunun uzun kenarı 1280'den büyük veya kısa kenarı 720'den büyükse çıkış videosu daha yüksek bir çıkış spesifikasyonuna aittir.

      Video Bitrate

      Belirtilen Çözünürlük için kullanılan bit hızı (kbps). Her çözünürlük katmanı için belirtilen bit hızları aşağıdaki gibidir:

      • LD: 100 ila 800.

      • SD: 200 ila 1500.

      • HD: 500 ila 4000.

      • 2K: 2000 ila 8000.

      • 4K: 4000 ila 30000.

      Video Frame Rate

      FPS cinsinden çıkış video kare hızı. Değer giriş kare hızından küçük veya ona eşit olmalıdır.

      Video GOP (frames)

      İki I-karesi arasındaki aralık olan Resim Grubu'nu (GOP) belirtir. Değer kaynak akışın GOP'undan küçük veya ona eşit olmalı ve düşük gecikmeyi sağlamak için 3 saniyeyi aşmamalıdır.

      Encoding Format

      Şu anda yalnızca AAC kodlama formatı desteklenmektedir.

      Profile (yalnızca ses kod dönüştürme)

      • LC-AAC: Düşük Karmaşıklık Gelişmiş Ses Kodlaması. Yüksek kod dönüştürme verimliliği sunar.

      • HE-AAC: Yüksek Verimli Gelişmiş Ses Kodlaması. Özellikle 128 kbps'nin altındaki düşük ses bit hızlarında LC-AAC'den daha iyi ses kalitesi sunar.

      Bitrate (yalnızca ses kod dönüştürme)

      Ses bit hızı. Değer 8 ila 1.000 arasındadır.

      Sound Channels (yalnızca ses kod dönüştürme)

      Ses parçası sayısı. Geçerli değerler: 1 veya 2.

      Maximum Bandwidth

      100 Kbps ile 100 Mbps arasında, en fazla iki ondalık basamaklı bir tamsayı veya ondalık sayı. Bu değeri video bit hızının 1,2 ila 1,5 katı olarak ayarlamanızı öneririz.

  4. OK seçeneğine tıklayın.

Önemli
  • Ş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=on parametresini eklemeniz gerekir. aliyunols=on parametresi 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.

image

Not

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
Not

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.

Not
  • 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.

Önemli
  • 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.