Transkode saat streaming adalah fitur transkoding real-time untuk pemutaran video online yang memulai pemutaran segera setelah unggahan selesai dan hanya mentranskode segmen yang sedang ditonton.
Ikhtisar
Berbeda dengan ApsaraVideo Media Processing, yang mengharuskan menunggu hingga transkoding video lengkap selesai setelah unggahan sebelum pemutaran dapat dimulai, transkode saat streaming memulai pemutaran segera setelah video sumber selesai diunggah. Fitur ini hanya mentranskode segmen video yang diperlukan untuk pemutaran, sehingga memberikan:
-
Transkoding selama pemutaran—tidak perlu menunggu.
-
Transkoding yang dioptimalkan dengan waktu startup dan waktu pencarian (seek time) kurang dari satu detik—pengalaman pemutaran mendekati lokal.
-
Tidak ada transkoding tanpa pemutaran. Bahkan jika file hasil transkoding dihapus, file tersebut dapat dibuat ulang sesuai permintaan—biaya transkoding dan penyimpanan berkurang secara signifikan.
-
Dukungan terhadap puluhan parameter transkoding—pengaturan yang sangat dapat dikustomisasi.
-
Kompatibilitas tinggi—dukungan lebih dari 300 format audio dan video.
Transkode saat streaming tidak mendukung pemutaran anonim.
Alur Kerja
-
Unggah file video Anda ke Object Storage Service (OSS).
-
Gunakan API GenerateVideoPlaylist untuk menghasilkan file playlist media secara cepat. Tandatangani playlist tersebut menggunakan kemampuan penandatanganan OSS untuk mendapatkan URL playlist yang ditandatangani.
-
Pemutar mengambil playlist yang ditandatangani dan memulai pemutaran. Fitur transkode saat streaming dipicu secara otomatis selama pemutaran.
Skenario Penggunaan
-
Penyimpanan cloud: Pengguna mengunggah video ke drive cloud. Klien langsung memilih resolusi yang sesuai berdasarkan kondisi jaringan untuk pemutaran. Hal ini memastikan pemutaran real-time dan kompatibilitas lintas perangkat. Karena sebagian besar video di penyimpanan cloud jarang diakses ("cold"), transkode saat streaming menghindari transkoding konten yang tidak diputar, sehingga mengurangi biaya transkoding dan penyimpanan secara signifikan.
-
Pratinjau video di aplikasi chat: Di platform pesan instan atau media sosial, begitu pengirim selesai mengunggah (dan server menerima file), penerima dapat langsung memulai pemutaran—meningkatkan komunikasi real-time. File hasil transkoding untuk pesan historis yang lama tidak dilihat dapat dibersihkan secara berkala untuk menurunkan biaya penyimpanan, dan pemutaran tetap instan saat diakses kembali.
-
Forum online dan blog: Setelah pengguna mengunggah video sumber untuk dibagikan, orang lain dapat langsung memutar versi hasil transkoding—memastikan pemutaran lancar, definisi tinggi, dan kompatibilitas format yang luas.
Fitur
Tabel berikut menjelaskan fitur tambahan.
|
Fitur |
Deskripsi |
|
Standardisasi |
|
|
Biaya rendah |
|
|
Efisiensi tinggi |
|
Format audio dan video yang didukung
Transkode saat streaming mendukung lebih dari 300 format audio dan video. Tabel berikut mencantumkan beberapa format umum yang didukung.
|
Format video input |
avi, mov, flv, mkv, webm, mpeg, wmv, rm, vob, ts, dan semua format utama lainnya |
|
Format audio input |
mp3, wav, aac, flac, wma, dan semua format utama lainnya |
|
Format kontainer output |
ts |
Prasyarat
-
Aktifkan OSS, buat bucket, dan unggah file ke dalamnya. Untuk detailnya, lihat Quick Start di Konsol.
-
Aktifkan Intelligent Media Management (IMM) dan buat proyek. Untuk detailnya, lihat Aktifkan layanan dan Buat proyek.
CatatanAnda juga dapat memanggil API CreateProject untuk membuat proyek.
Anda dapat memanggil API ListProjects untuk menampilkan semua proyek di wilayah tertentu.
-
Berikan izin yang diperlukan kepada Pengguna Resource Access Management (RAM) Anda untuk operasi IMM.
-
Sebelum menggunakan transkode saat streaming, ikat proyek IMM. Untuk petunjuk pengikatan melalui Konsol atau API, lihat Quick Start dan Bind OSS bucket.
-
Jika perlindungan hotlink diaktifkan pada bucket yang berisi video sumber atau output Anda, pastikan kebijakan perlindungan hotlink Anda mengizinkan Referer kosong.
-
Jika pemutar Anda memerlukan akses lintas domain ke OSS, aktifkan Berbagi Sumber Daya Lintas Domain (CORS) OSS untuk bucket target. Lihat Pengaturan CORS.
Penggunaan
Contoh Playlist Media
Konfigurasi transkoding
-
Informasi video sumber
-
Format: AVI
-
URI sumber: oss://your-oss-bucket-name/test.avi
-
-
Video target
-
Durasi segmen: 10 detik
-
Durasi pre-transkode: 36 detik
-
Kodek video: H.264
-
Resolusi: 1280×720
-
Laju bingkai: 25 fps
-
Bitrate video: 2 Mbps
-
Kodek audio: AAC
-
Bitrate audio: 128 Kbps
-
Awalan path output: oss://your-oss-bucket-name/output/media
-
Langkah 1: Hasilkan playlist
Langkah 2: Tandatangani playlist
Langkah 3: Putar video
Contoh Master Playlist
Konfigurasi transkoding
-
Video sumber
-
Format: AVI
-
URI sumber: oss://your-oss-bucket-name/test.avi
-
-
URI master playlist: oss://your-oss-bucket-name/output/master.m3u8
-
Video target 1
-
Durasi segmen: 10 detik
-
Durasi pre-transkode: 36 detik
-
Kodek video: H.264
-
Resolusi: 1920×1080
-
Laju bingkai: 25 fps
-
Kodek audio: AAC
-
Bitrate audio: 128 Kbps
-
Awalan path output: oss://your-oss-bucket-name/output/1080p/1080p
-
-
Video target 2
-
Durasi segmen: 10 detik
-
Durasi pre-transkode: 36 detik
-
Kodek video: H.264
-
Resolusi: 1280×720
-
Laju bingkai: 25 fps
-
Kodek audio: AAC
-
Bitrate audio: 96 Kbps
-
Awalan path output: oss://your-oss-bucket-name/output/720p/720p
-
-
Video target 3
-
Durasi segmen: 10 detik
-
Durasi pre-transkode: 36 detik
-
Kodek video: H.264
-
Resolusi: 720×540
-
Laju bingkai: 25 fps
-
Kodek audio: AAC
-
Bitrate audio: 64 Kbps
-
Awalan path output: oss://your-oss-bucket-name/output/540p/540p
-
Langkah 1: Hasilkan playlist
Langkah 2: Tandatangani playlist
Langkah 3: Putar video
FAQ
Apakah saya memerlukan pemutar khusus?
Tidak. Transkode saat streaming mendukung protokol HLS standar. Gunakan pemutar standar yang kompatibel dengan HLS (seperti Alibaba Cloud Aliplayer atau browser Safari).
Apa saja file output yang dihasilkan?
Kami menghasilkan file m3u8 dan file TS berdasarkan awalan path input yang Anda tentukan. File m3u8 dihasilkan segera.
Jika Anda menentukan durasi pre-transkode, sistem akan menghasilkan file TS terkait secara asinkron. Segmen yang tidak ditentukan akan ditranskode sesuai permintaan selama pemutaran. Jika video tidak pernah diputar, tidak ada file TS yang dihasilkan untuk segmen tersebut. Misalnya, jika pemutaran dimulai pada menit ke-15, transkoding dimulai dari titik tersebut. Struktur direktori hasilnya seperti berikut:
.
├── outobjprefix.m3u8
├── outobjprefix-c280f054328fcde47c1732a8f2915009-0.ts
├── outobjprefix-c280f054328fcde47c1732a8f2915009-1.ts
├── outobjprefix-c280f054328fcde47c1732a8f2915009-2.ts
├── outobjprefix-c280f054328fcde47c1732a8f2915009-3.ts
Apakah saya masih bisa memutar video jika saya menghapus file ts yang dihasilkan secara manual?
Ya. Selama video sumber dan playlist m3u8 tetap ada, menghapus sebagian atau seluruh file ts tidak memengaruhi pemutaran. Saat playlist m3u8 diminta kembali, file ts yang hilang akan dibuat ulang. Hal ini memungkinkan Anda membersihkan file ts untuk video yang jarang ditonton guna mengurangi biaya penyimpanan tanpa memengaruhi pemutaran di masa depan.
Apakah saya dapat menggunakan file m3u8 non-transkode-saat-streaming untuk fitur ini?
Tidak. Anda tidak dapat menggunakan file m3u8 yang dihasilkan di luar proses transkode saat streaming untuk mengaktifkan fitur ini.
Apakah saya dapat menggunakan CDN untuk mempercepat transkode saat streaming?
Ya. Untuk detailnya, lihat Gunakan CDN untuk mempercepat transkode saat streaming.