Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
IVS Player SDK: Integrasi Video.js
Dokumen ini menjelaskan fungsi terpenting yang tersedia di pemutar Amazon Interactive Video Service (IVS) Video.js .
Versi terbaru integrasi Video.js pemain: 1.55.0 (Catatan R ilis)
Memulai
Dukungan Amazon IVS untuk Video.js diimplementasikan melalui Video.js teknologi
Perhatikan bahwa saat membuat instance pemutar, opsi Video.js sumber tidak src() Jika autoplay diaktifkan, streaming akan mulai diputar; jika tidak, gunakan play() untuk memulai pemutaran.
Demo
Demo langsung berikut menunjukkan cara menggunakan Video.js integrasi dengan tag skrip dari Jaringan Pengiriman Konten kami: Video.js integrasi https://codepen.io/amazon-ivs/pen/NWqewZo/bdc01e977102051eae5fb85482f88276
Pengaturan Dengan Tag Script
Untuk mengatur teknologi Amazon IVS menggunakan script tag:
-
Sertakan tag berikut (untuk versi terbaru dari integrasi pemain).
<script src="https://player.live-video.net/1.55.0/amazon-ivs-videojs-tech.min.js"></script> -
Daftarkan teknologi menggunakan
registerIVSTechfungsi:registerIVSTech(videojs);Dim
videojsana objek yang disediakan oleh Video.js. -
Saat membuat instance pemain, tambahkan
AmazonIVSsebagai teknologi pertama Anda ditechOrderopsi.
Saat membuat instance pemain, opsi Video.js sumber tidak src() fungsi di atasnya. Jika autoplay diaktifkan, streaming akan mulai diputar; jika tidak, gunakan play() untuk memulai pemutaran.
Kode Sampel
Dalam contoh ini, PLAYBACK_URL adalah aliran sumber yang ingin Anda muat. Contoh ini menggunakan versi terbaru dari Amazon IVS Player.
<!doctype html> <html lang="en"> <head> <link href="https://cdnjs.cloudflare.com/ajax/libs/video.js/7.14.3/video-js.css" rel="stylesheet"> <script src="https://cdnjs.cloudflare.com/ajax/libs/video.js/7.14.3/video.min.js"></script> <script src="https://player.live-video.net/1.55.0/amazon-ivs-videojs-tech.min.js"></script> </head> <body> <div class="video-container"> <video id="amazon-ivs-videojs" class="video-js vjs-4-3 vjs-big-play-centered" controls autoplay playsinline></video> </div> <style> body { margin: 0; } .video-container { width: 640px; height: 480px; margin: 15px; } </style> <script> (function play() { // Get playback URL from Amazon IVS API var PLAYBACK_URL = ''; // Register Amazon IVS as playback technology for Video.js registerIVSTech(videojs); // Initialize player var player = videojs('amazon-ivs-videojs', { techOrder: ["AmazonIVS"] }, () => { console.log('Player is ready to use!'); // Play stream player.src(PLAYBACK_URL); }); })(); </script> </body> </html>
Pengaturan Dengan NPM
Untuk menggunakan pemutar Amazon IVS melalui npm:
-
Instal paket npm
video.js atau pastikan bahwa proyek Anda memiliki beberapa akses lain ke per Video.js pustakaan. -
Instal paket
amazon-ivs-playernpm:npm install amazon-ivs-player -
Saat Anda siap mendaftarkan teknologi Amazon IVS, impor fung
registerIVSTechsinya:import { registerIVSTech } from 'amazon-ivs-player'; -
Daftarkan teknologi menggunakan
registerIVSTechfungsi:registerIVSTech(videojs, options);di mana:
-
videojsadalah objek yang disediakan oleh Video.js. -
optionsadalah opsi untuk lapisan teknologi Amazon IVS. Opsi yang didukung adalah:.-
wasmWorker: URL tempatamazon-ivs-wasmworker.min.jsfile dihosting. -
wasmBinary: URL tempatamazon-ivs-wasmworker.min.wasmfile dihosting.
File pekerja ada di
node_modules/folder Anda di bawahamazon-ivs-player/dist/. Anda perlu meng-host mereka, untuk menggunakan pemutar IVS. -
-
-
Saat membuat instance pemain, tambahkan
AmazonIVSsebagai teknologi pertama Anda ditechOrderopsi:const player = videojs('videojs-player', { techOrder: ["AmazonIVS"] });
TypeScript
Jika Anda menggunakan TypeScript, paket npm kami mencakup jenis berikut yang mungkin ingin Anda impor dan gunakan.
-
VideoJSEvents, yang menggambarkan struktur yang dikembalikan darigetIVSEvents(). -
VideoJSIVSTech, yang menjelaskan antarmuka ke instance pemain yang menggunakanAmazonIVSteknologi. Ini dapat ber potongan denganVideoJsPlayertipe yang diekspos oleh paket npm @ types/video .js. -
TechOptions, yang menjelaskan antarmuka yang menentukan opsi konfigurasi yang dapat Anda kirimregisterIVSTech().
Untuk informasi selengkapnya tentang jenis ini, lihat Amazon IVS Player SDK: Refer
Peristiwa
Untuk mendengarkan Video.js acara standar, gunakan fungsi
Untuk mendengarkan acara yang khusus untuk Amazon IVS, tambahkan dan hapus pendengar acara di pemutar Web Amazon IVS:
player.getIVSPlayer().addEventListener(event, callback); player.getIVSPlayer().removeEventListener(event, callback);
callbackdimana callback yang Anda tentukan, dan event merupakan salah satu dari: PlayerEventType atauPlayerState. Untuk informasi selengkapnya tentang acara, lihat Amazon IVS Player SDK: Refer
Kesalahan
Untuk Video.js kesalahan umum, dengarkan error acara generik pada pemain:
player.on("error", callback);
Untuk kesalahan khusus untuk Amazon IVS, dengarkan pemutar Amazon IVS untuk kesalahannya sendiri:
let playerEvent = player.getIVSEvents().PlayerEventType; player.getIVSPlayer().addEventListener(playerEvent.ERROR, callback);
Panggilan balik akan menerima objek dengan bidang berikut:
| Bidang | Deskripsi |
|---|---|
|
Jenis kesalahan. Sesuai dengan |
|
Kode kesalahan. |
|
Sumber kesalahan. |
|
Pesan kesalahan yang dapat dibaca manusia. |
Plugin
Kami menyediakan plugin yang membuat sakelar UI untuk kualitas yang tersedia. Untuk menggunakan plugin ini, itu harus dimuat dengan memasukkan amazon-ivs-quality-plugin.min.js file jika Anda menggunakan teknologi kami melalui script tag berikut (untuk versi terbaru IVS Player):
<script src="https://player.live-video.net/1.55.0/amazon-ivs-quality-plugin.min.js"></script>
Jika Anda menggunakan npm, impor registerIVSQualityPlugin dari amazon-ivs-player modul:
import { registerIVSQualityPlugin } from 'amazon-ivs-player';
Kemudian, setelah Anda membuat instance Video.js pemain Anda, panggilan berikut diperlukan untuk mendaftar dan mengaktifkannya:
registerIVSQualityPlugin(videojs); // where videojs is the video.js variable player.enableIVSQualityPlugin(); // where player is the instance of the videojs player
Ini akan membuat tombol menu UI yang memungkinkan Anda memilih kualitas untuk streaming.
Plugin dan TypeScript
Jika Anda menggunakan TypeScript, paket npm kami menyertakan VideoJSQualityPlugin jenis yang mungkin ingin Anda impor dan gunakan dengan plugin kami. Plugin pada dasarnya adalah mixin, jadi antarmuka tipe ini akan digunakan sebagai tipe persimpangan VideoJSIVSTech TypeScript.
Kebijakan Keamanan Konten
Amazon IVS Video.js API dikonfigurasi untuk bekerja pada halaman yang menggunakan Kebijakan Keamanan Konten (CSP). Lihat bagian “Bekerja dengan Kebijakan Keamanan Konten” diIVS Player SDK: Panduan Web.
Fungsi
Pemutaran
Amazon IVS Video.js API mendukung antarmuka yang diperlukan untuk penggunaan internal oleh Video.js kerangka kerja. Aplikasi klien tidak mungkin perlu menggunakan metode ini secara langsung, karena Video.js melakukan integrasi yang diperlukan dan menyajikan antarmuka standar. Namun, jika diperlukan, salah satu cara untuk mengakses metode pemutar internal Video.js dan Amazon IVS adalah dengan menggunakan objek Video.js pemain untuk mendapatkan penanganan objek yang diperlukan ke teknologi.
Untuk mengakses API, ambil instance Video.js pemain Anda seperti biasanya:
let player = videojs("videoTagId"); //replace videoTagId with your <video> tag’s id
Kemudian Anda dapat memanggil fungsi pada instance itu.
Berikut ini adalah subset Video.js fungsi yang diganti oleh lapisan teknologi Amazon IVS. Untuk daftar lengkap Video.js fungsi, lihat dokumentasi API video.js
| Fungsi | Deskripsi dan IVS-Specific Informasi Amazon |
|---|---|
|
Mendapat atau mengatur waktu (dalam detik dari awal). Amazon IVS: Kami tidak merekomendasikan pengaturan waktu saat ini untuk streaming langsung. |
|
Menghapus instance pemain Amazon IVS: Ini juga menghapus backend teknologi Amazon IVS. |
|
Mengembalikan durasi video, dalam hitungan detik. Amazon IVS: Untuk streaming langsung, ini kembali |
|
Mulai memuat Amazon IVS: Ini adalah no-op. |
|
Memutar streaming yang telah diatur melalui Amazon IVS: Jika streaming langsung dijeda, ini memutar streaming langsung dari frame terbaru, alih-alih melanjutkan dari tempat dijeda. |
|
Mendapat atau mengatur kecepatan pemutaran video. 1.0 berarti kecepatan normal; 0,5, setengah kecepatan normal; 2.0, dua kali kecepatan normal; dan seterusnya. Amazon IVS: Pada streaming langsung, get mengembalikan 1, dan satu set diabaikan. |
|
Meng Amazon IVS: Untuk streaming langsung, memanggil nilai pengem |
Khusus Amazon IVS
Teknologi Amazon IVS Video.js memiliki fungsi tambahan untuk mengakses perilaku khusus untuk fitur Amazon IVS:
| Fungsi | Deskripsi |
|---|---|
|
Mengembalikan instance pemutar Amazon IVS yang mendasarinya. Amazon IVS Player Web API lengkap tersedia melalui instance ini. Sebaiknya gunakan API Video.js pemutaran dasar sebanyak mungkin, dan menggunakan fungsi ini hanya untuk mengakses IVS-specific fitur Amazon. Fungsi paling umum yang mungkin perlu Anda akses pada instance pemutar Amazon IVS adalah |
|
Mengembalikan objek yang menyimpan IVS-specific enum Amazon. Ini digunakan untuk mendengarkan IVS-specific kesalahan Amazon. Untuk informasi selengkapnya, lihat Peristiwa dan Kesalahan. |
Waktu saat ini
Mendapat atau mengatur waktu (dalam detik dari awal).
Amazon IVS: Kami tidak merekomendasikan pengaturan waktu saat ini untuk streaming langsung.
Tanda tangan
currentTime currentTime(time)
Parameter
| Parameter | Jenis | Deskripsi |
|---|---|---|
|
number |
Jika |
Nilai yang Ditampilkan
| Tipe | Deskripsi |
|---|---|
number |
Waktu saat ini, dalam hitungan detik dari awal. |
buang
Menghapus instance pemain.
Amazon IVS: Ini juga menghapus backend teknologi Amazon IVS.
Tanda tangan
dispose()
Parameter
Tidak ada
Nilai yang Ditampilkan
Tidak ada
durasi
Mengembalikan durasi video, dalam hitungan detik.
Amazon IVS: Untuk streaming langsung, ini kembaliInfinity.
Tanda tangan
duration()
Parameter
Tidak ada
Nilai yang Ditampilkan
| Tipe | Deskripsi |
|---|---|
number |
Durasi streaming, dalam hitungan detik. Untuk streaming langsung, nilai ini adalah |
GetivEvents
Mengembalikan objek yang menyimpan IVS-specific enum Amazon. Ini digunakan untuk mendengarkan IVS-specific kesalahan dan peristiwa Amazon. Untuk informasi selengkapnya, lihat:
-
Amazon IVS Player SDK: Referensi Web
untuk informasi selengkapnya tentang peristiwa, jenis kesalahan, dan sumber kesalahan.
Tanda tangan
getIVSEvents()
Parameter
Tidak ada
Nilai yang Ditampilkan
| Tipe | Deskripsi |
|---|---|
|
Objek dengan |
GetivsPlayer
Mengembalikan instance pemutar Amazon IVS yang mendasarinya. Amazon IVS Player Web API lengkap tersedia melalui instance ini. Sebaiknya gunakan API Video.js pemutaran dasar sebanyak mungkin, dan menggunakan fungsi ini hanya untuk mengakses IVS-specific fitur Amazon. Fungsi paling umum yang mungkin perlu Anda akses pada instance pemutar Amazon IVS adalah setQuality() danaddEventListener()/removeEventListener().
Tanda tangan
getIVSPlayer()
Parameter
Tidak ada
Nilai yang Ditampilkan
| Tipe | Deskripsi |
|---|---|
|
Contoh yang dibuat dari pemain. |
muat
Mulai memuat src() data.
Amazon IVS: Ini adalah no-op.
Tanda tangan
load()
Parameter
Tidak ada
Nilai yang Ditampilkan
Tidak ada
pementasan
Memutar streaming yang telah diatur melalui src panggilan.
Amazon IVS: Jika streaming langsung dijeda, ini memutar streaming langsung dari frame terbaru, alih-alih melanjutkan dari tempat dijeda.
Tanda tangan
play()
Parameter
Tidak ada
Nilai yang Ditampilkan
Tidak ada
PlaybackRate
Mendapat atau mengatur kecepatan pemutaran video. 1.0 berarti kecepatan normal; 0,5, setengah kecepatan normal; 2.0, dua kali kecepatan normal; dan seterusnya.
Amazon IVS: Pada streaming langsung, get mengembalikan 1, dan satu set diabaikan.
Tanda tangan
playbackRate playbackRate(rate)
Parameter
| Parameter | Jenis | Deskripsi |
|---|---|---|
|
number |
Tingkat pemutaran. Nilai yang valid: dalam kisaran [0.25, 2.0]. |
Nilai yang Ditampilkan
| Tipe | Deskripsi |
|---|---|
number |
Tingkat pemutaran. |
dicari
Meng TimeRanges embalikan media yang dapat dicari.
Amazon IVS: Untuk streaming langsung, memanggil nilai pengem end(0) balian (TimeRange) mengembalikan Infinity.
Tanda tangan
seekable()
Parameter
Tidak ada
Nilai yang Ditampilkan
| Tipe | Deskripsi |
|---|---|
|
TimeRange dari media yang tersedia untuk dicari. |