Dokumen ini menjelaskan cara menggunakan RTMPS untuk melakukan streaming data live di YouTube dari encoder. RTMPS adalah streaming video RTMP (RealTime Messaging Protocol) biasa yang di-tunnel melalui koneksi SSL. Dokumen ini ditujukan bagi vendor encoder yang ingin menambahkan dukungan untuk RTMPS ke encoder yang sudah mendukung RTMP.
RTMPS adalah pilihan yang baik untuk sebagian besar konten pengguna biasa, terutama jika memerlukan latensi rendah. Lihat Perbandingan Protokol Transfer untuk mengetahui ringkasan berbagai protokol transfer yang didukung YouTube Live Streaming.
Persyaratan
Mengirim RTMPS ke YouTube Live memiliki beberapa prasyarat:
- Setiap bagian URL koneksi (
<protocol>://<server>/<path>
) harus benar:- Protokol harus berupa
rtmps
. - Server harus berupa endpoint penyerapan RTMPS YouTube yang valid.
- Jalur harus berupa nama aplikasi RTMP YouTube Live yang valid.
- Protokol harus berupa
- Koneksi harus dibuat ke port 443 di server penyerapan.
- Streaming multimedia harus dikirim dengan RTMPS; yaitu, menggunakan RTMP melalui koneksi SSL.
Mendapatkan URL koneksi
Jika encoder Anda sudah menggunakan YouTube Live API, proses untuk mendapatkan URL proses transfer RTMPS mirip dengan proses untuk RTMP. Kirim permintaan
penyisipan LiveStreams (POST) untuk membuat aliran penyerapan baru. Dalam respons, kolom
cdn.ingestionInfo.rtmpsIngestionAddress
menentukan URL RTMPS. Jika Anda mendukung penyerapan ganda, alamat cadangan adalah cdn.ingestionInfo.rtmpsBackupIngestionAddress
.
Membuat koneksi
Gunakan library soket pilihan Anda untuk membuat koneksi SSL/TLS ke port 443 di server yang ditentukan URL penyerapan. Karena TLS hanya berfungsi dengan lapisan transport, nama host server tidak benar-benar diperlukan untuk memulai koneksi; namun, nama host diperlukan untuk autentikasi dengan server kami. Jadi, pastikan Anda menambahkan ekstensi SNI (Server Name Indication) ke handshake SSL Anda, dan menetapkan nama server ke nama host server yang Anda hubungkan.
Setelah koneksi SSL dibuat, gunakan sebagai koneksi untuk library klien RTMP Anda. Koneksi SSL yang diinisialisasi memiliki API yang sama dengan koneksi TCP standar, sehingga library RTMP dapat bekerja dengan keduanya secara identik.
Pemecahan masalah
Error SSL
Jika Anda mencoba membuat koneksi SSL tetapi mendapatkan sertifikat yang tidak valid, maka Anda mungkin terhubung ke server YouTube yang mengharapkan RTMP. Pastikan nama server yang Anda gunakan memiliki "rtmps" di dalamnya — perhatikan "s".
Jika URL sudah benar, tetapi error SSL masih muncul, Anda mungkin terhubung ke port yang salah. Pastikan Anda terhubung ke port 443.
Jika URL dan port sudah benar, library SSL Anda mungkin tidak menangani sertifikat dengan benar. Cari pesan diagnostik tingkat rendah tentang kegagalan SSL, dan periksa kembali bahwa Anda menggunakan SNI dalam handshake.
Waktu sambungan habis
Jika Anda dapat terhubung ke server, tetapi library RTMP Anda mengalami waktu tunggu tanpa mendapatkan respons yang wajar, Anda mungkin telah menyiapkan koneksi RTMP cleartext ke server YouTube yang mengharapkan RTMPS. Pastikan Anda membuat koneksi SSL, bukan koneksi TCP biasa.