Panduan Lengkap Untuk RTMP: Apa Itu dan Kapan Menggunakannya?
Protokol pesan waktu nyata (RTMP) adalah format streaming yang banyak digunakan. Format ini sudah ada selama bertahun-tahun dan telah berkembang menjadi alat yang penting bagi penyiar, operator jaringan, dan banyak industri lainnya. Namun, beberapa kesalahpahaman tentang RTMP telah membuatnya kurang populer daripada yang seharusnya.
Tetapi apa sebenarnya RTMP itu? Bagaimana cara kerjanya? Dan haruskah Anda menggunakannya untuk siaran langsung berikutnya?
Ketahui tentang hal ini dan lebih banyak lagi di bawah ini.
Apa itu RTMP?
RTMP adalah protokol jaringan atau sistem yang digunakan untuk mengalirkan konten media melalui internet berdasarkan teknologi Transmission Control Protocol (TCP).
TCP adalah salah satu komponen yang membentuk rangkaian protokol internet. Komponen penting lainnya adalah protokol internet, yang juga disebut sebagai IP.
RTMP adalah protokol jaringan atau sistem yang digunakan untuk melakukan streaming konten media melalui internet.
Bersama-sama, TCP dan IP bertindak sebagai jembatan komunikasi antara lapisan aplikasi dan jaringan. Bayangkan seperti ini; lapisan aplikasi mencakup apa yang biasanya Anda gunakan untuk berinteraksi, seperti peramban Mozilla Firefox atau aplikasi pengguna lainnya.
Agar peramban Firefox Anda dapat memuat halaman web, peramban ini harus mengirimkan permintaan ke server situs web. Setelah menerima permintaan, server akan mengirimkan sumber daya yang diminta (misalnya, aliran video, video yang telah direkam sebelumnya di YouTube, atau kode html untuk halaman web).
Untuk menjaga komunikasi yang efektif (yaitu, menghindari korespondensi yang terputus atau tertunda), pesan harus dipecah menjadi bagian-bagian yang lebih kecil yang dikenal sebagai paket. Hal ini dilakukan di sisi pengirim, dan setelah pesan diterima, pesan tersebut disusun kembali untuk pengguna.
TCP adalah komponen yang menangani pemecahan pesan menjadi paket-paket atau bagian yang lebih kecil yang dapat ditransmisikan secara efektif dan efisien.
Lapisan IP bertindak sebagai agen penerusan yang menentukan rute terbaik untuk mengirimkan paket melalui internet.
Protokol RTMP digunakan oleh banyak pemutar media populer, termasuk Adobe Flash Player, VLC Media Player, QuickTime Player, dan Windows Media Player. RTMP juga didukung oleh beberapa browser web, termasuk Google Chrome dan Mozilla Firefox.
Perhatian utama bagi sebagian besar pengguna dengan solusi streaming adalah bagaimana solusi ini menghantarkan konten. Jika kualitas resolusi streaming rendah, itu akan menjadi masalah bagi sebagian besar konsumen. Demikian pula, solusi streaming dengan latensi dan buffer yang tinggi atau memuat terlalu lama sebelum memutar konten tidak akan bekerja dengan baik.
Di sinilah RTMP bersinar. Sejak pengembangannya, RTMP telah menjamin latensi rendah, buffering minimal, dan salah satu kualitas resolusi streaming terbaik asalkan koneksi jaringan kuat dan cukup cepat.
Kelebihan lain dari RTMP adalah kemampuannya untuk mendukung streaming massal secara bersamaan dan tanpa masalah besar.
Namun, meskipun sudah ada selama bertahun-tahun, RTMP baru-baru ini mendapat sorotan tajam karena sistem ini tidak aman bagi para penggunanya.
Berikut ini adalah bagaimana kerentanan keamanan muncul:
Pertama, protokol RTMP tidak memiliki enkripsi apa pun di dalamnya. Oleh karena itu, setiap komunikasi atau transfer paket ketika RTMP digunakan terbuka untuk didengarkan oleh kelompok yang tidak sah atau serangan jenis man-in-the-middle.
Faktor lain yang berkontribusi pada kerentanan keamanan RTMP adalah bahwa kode sumbernya merupakan hak milik untuk waktu yang lama. Perangkat lunak berpemilik (yaitu perangkat lunak yang hak kepemilikan dan kontrolnya terbatas pada entitas yang mengembangkan atau membelinya) biasanya menerima tambalan keamanan yang muncul secara teratur, tetapi itu saja tidak cukup.
Kerentanan baru sering muncul, dan komunitas yang dibangun di sekitar perangkat lunak sumber terbuka menjamin tambalan keamanan yang relatif lebih sering dan lebih baik. Inilah yang dilewatkan oleh RTMP untuk meningkatkan postur keamanannya.
Variasi RTMP
Variasi RTMP meliputi yang berikut ini:
- Real-Time Messaging Protocol Server (RTMPS ) - hampir sama dengan RTMP, hanya saja memiliki enkripsi, yaitu secure sockets layer (SSL) dan Transport Layer Security (TLS) yang diaktifkan, serta mendukung semua pemutar dengan Flash player yang diaktifkan. Ini digunakan dalam skenario di mana sangat penting untuk mencegah gangguan atau akses data yang tidak sah saat transit.
- Encrypted Real-Time Messaging Protocol (RTMPE) - merupakan protokol streaming yang sangat serbaguna yang menggunakan Transport Control Protocol (TCP) dan User Datagram Protocol (UDP) untuk mengirimkan data. RTMPE juga mengenkripsi semua transmisi data menggunakan enkripsi milik Adobe untuk menghindari akses dan gangguan yang tidak sah.
- Real-Time Messaging Protocol Tunnel (RTMPT) - RTMPT menggunakan mekanisme tunneling untuk mem-bypass firewall yang biasanya memblokir semua lalu lintas RTMP. Dalam praktiknya, RTMPT mengharuskan klien mengirim permintaan HTTP yang dimodifikasi ke server, yang merespons dengan transmisi HTTP yang hampir serupa. Klien dan server menggunakan ID sesi; setelah koneksi dibuat, transmisi data dapat dimulai di antara keduanya.
- Real-Time Media Flow Protocol (RTMFP ) - RTMFP adalah versi lanjutan dari RTMP yang menggunakan format pengkodean UDP yang berbeda untuk mencapai streaming media berkinerja tinggi.
Sejarah Streaming RTMP
Real-Time Messaging Protocol (RTMP) pada awalnya merupakan protokol eksklusif yang dikembangkan oleh Macromedia untuk melakukan streaming audio, video, dan data melalui internet antara pemutar Flash dan server.
RTMP sekarang digunakan oleh berbagai layanan online populer seperti Facebook, Twitch, dan Twitter untuk streaming video langsung.
Rilis publik pertama RTMP adalah pada tahun 2002. Pada tahun 2009, Adobe merilis versi spesifikasi terbuka RTMP yang dikenal sebagai OpenRTMP. Perbedaan utama antara RTMP dan OpenRTMP adalah bahwa dengan OpenRTMP, server media apa pun dapat digunakan, bukan hanya Flash Media Server (FMS).
Ada juga fleksibilitas yang lebih besar dengan spesifikasi RTMP terbuka mengenai bagaimana pengembang dapat mengamankan atau mengonfigurasi fungsionalitas peer-to-peer. Hal ini dimaksudkan untuk mendorong inovasi dan kolaborasi melalui kompetisi dan akses terbuka di antara para pengembang untuk mengembangkan solusi RTMP yang ideal.
Prinsip Utama
RTMP menggunakan teknik yang disebut "streaming" untuk mengirimkan konten. Artinya, data ditransfer dalam potongan-potongan kecil yang disebut "chunk." Potongan-potongan tersebut dipasang kembali di ujung yang lain, sehingga pengguna dapat menonton atau mendengarkan konten tanpa harus menunggu untuk mengunduhnya secara lengkap.
Ada dua bagian dalam cara kerja RTMP: Pengiriman jarak jauh pertama dan terakhir.
Pengiriman jarak dekat umumnya melibatkan transmisi media dari encoder ke server menggunakan RTMP. Pengiriman jarak jauh mengacu pada transmisi media dari server ke perangkat pengguna. Flash player atau alat yang memiliki kemampuan yang sama digunakan pada bagian kedua ini. Ada laporan bahwa Adobe menghentikan semua dukungan untuk Flash; akibatnya, ini berarti berakhirnya pengiriman last-mile.
Sebagai tanggapan, industri ini telah menggunakan Hypertext Transfer Protocol (HTTP), solusi streaming yang lebih efisien.
Variasi RTMP seperti RTMPT saat ini menggunakan HTTP untuk mengenkapsulasi dan mentransmisikan media.
Cara Kerja RTMP Ingest
Ini mungkin merupakan salah satu anugerah penyelamat RTMP yang membuatnya bertahan selama ini. Ketika dunia beralih dari menonton media di komputer dan menuju ke tampilan seluler, RTMP menghadapi tantangan.
Pertama, RTMP mengandalkan pemutar Adobe Flash untuk memberikan pengalaman streaming yang mulus, tetapi ada sedikit masalah. Perangkat seluler tidak mendukung Adobe Flash player; pada dasarnya, RTMP menjadi tidak berguna bagi pengguna yang menginginkan layanan streaming yang sama pada perangkat seluler mereka.
Sebagai jawabannya, Apple mengembangkan protokol HLS untuk mendukung fungsionalitas streaming pada perangkat seluler.
Sangat masuk akal untuk mengharapkan bahwa RTMP akan menjadi usang. Untungnya, RTMP tetap hidup dengan konsumsi RTMP, menciptakan ceruk pasarnya sebagai protokol yang ideal untuk mengangkut media dari encoder ke server.
RTMP ingest memprioritaskan enkoder berbiaya rendah untuk berfungsi dan umumnya menawarkan streaming latensi rendah kepada pengguna.
Ini melibatkan tiga komponen utama:
1. Jabat Tangan
Ketika klien ingin terhubung ke server RTMP, pertama-tama klien harus membuat jabat tangan. Proses ini dimulai dengan klien mengirimkan permintaan "connect" ke server, yang mencakup informasi tentang klien dan jenis koneksi yang ingin dibuat.
Server kemudian merespons dengan pesan "tersambung", yang mencakup informasi tentang server dan jenis koneksi yang telah dibuat.
Terakhir, klien dan server bertukar pesan untuk mengonfirmasi bahwa keduanya masih terhubung dan menegosiasikan parameter apa pun yang diperlukan untuk koneksi.
2. Koneksi
Tujuan utama dari koneksi ingest RTMP adalah untuk menyediakan sarana streaming konten media dari sumber ke tujuan.
Sumber media dapat berupa siaran langsung dari kamera, video yang sudah direkam sebelumnya, audio, atau media lainnya. Tujuannya biasanya adalah server media streaming, yang mendistribusikan konten kepada pemirsa.
Ada tiga komponen pada koneksi konsumsi RTMP:
- Encoder mengubah sinyal video dan audio menjadi format digital yang dapat ditransmisikan melalui internet.
- Transportasi: Ini adalah media di mana sinyal yang dikodekan dikirim dari encoder ke server; biasanya, hal ini dilakukan melalui UDP atau TCP.
- Server menerima sinyal yang dikodekan dan membuatnya tersedia untuk pemirsa (biasanya dengan mengemasnya ke dalam format seperti Flash).
3. Streaming
Ketika pengguna melakukan streaming konten ke server media, server harus terlebih dahulu mengkodekan umpan video dan audio yang masuk sebelum mengirimkannya ke semua klien yang terhubung.
Proses penyandian dan pemformatan ulang video dan audio ke format file standar disebut transcoding. Proses ini melibatkan pengubahan sinyal input ke dalam bentuk yang dapat diputar di berbagai perangkat.
Lebih lanjut mengenai streaming, ada dua jenis streaming: langsung dan sesuai permintaan. Streaming langsung mengacu pada penyiaran dalam waktu nyata, sedangkan streaming sesuai permintaan adalah ketika pengguna dapat menonton konten dengan nyaman.
Streaming langsung memerlukan koneksi konstan antara klien dan server, sedangkan streaming sesuai permintaan tidak.
RTMP menggunakan TCP untuk mempertahankan koneksi yang terus-menerus antara klien dan server, memungkinkan streaming latensi rendah. Namun, RTMP tidak cocok untuk streaming sesuai permintaan.
Alternatif RTMP Untuk Menelan
SRT dan WebRTC adalah pesaing utama yang dapat menyamai atau melampaui kemampuan RTMP. Berikut adalah pratinjau singkat dari kedua alternatif tersebut:
Transportasi yang Aman dan Andal (SRT)
SRT mengisi celah yang tidak dapat dikelola oleh RTMP, seperti mempertahankan streaming latensi rendah bahkan ketika pengguna terhubung ke jaringan yang relatif tidak dapat diandalkan. Hal ini menjadikannya sebagai pilihan yang sangat baik untuk streaming langsung dan sesuai permintaan.
Karena ini adalah sumber terbuka, batas kemampuannya tidak terbatas, dan tidak perlu khawatir tentang dukungan pengembangan yang ditarik.
Komunikasi Waktu Nyata Web (WebRTC)
WebRTC menang dengan penerbitan berbasis peramban. WebRTC HTTP Ingest Protocol (WHIP) juga sedang dalam proses pengerjaan, dan artinya bagi pengguna adalah mereka akan dapat melakukan streaming hanya dengan peramban web, tanpa perlu repot-repot menggunakan enkoder seperti pada RTMP.
Alternatif RTMP Untuk Jalan Keluar
Yang teratas dalam daftar alternatif jalan keluar RTMP adalah HTTP Live Streaming (HLS), MPEG-DASH, dan WebRTC.
Berikut ini pratinjau singkat dari beberapa alternatif:
HLS dan MPEG-DASH
Keduanya hampir sama, hanya saja HLS bersifat eksklusif sedangkan MPEG-DASH bersifat open-source.
Hal terbaik dari kedua kamera ini adalah keduanya didesain untuk menghasilkan latensi rendah, kualitas media yang optimal, dan bahkan dapat digunakan pada koneksi jaringan yang tidak dapat diandalkan.
WebRTC juga merupakan alternatif yang patut dicatat untuk solusi jalan keluar RTMP.
Apakah RTMP dan Flash Sekarat?
Jawaban singkatnya adalah: mungkin tidak. Jawaban panjangnya sedikit lebih rumit.
Meningkatnya popularitas HTML5 dan berkembangnya alternatif Flash yang mumpuni mungkin membuatnya tampak seperti RTMP dan Flash sedang sekarat. Tetapi sebenarnya tidak demikian.
Flash telah mengalami penurunan untuk sementara waktu, kehilangan pangsa pasar yang signifikan ke HTML5 dalam beberapa tahun terakhir, dan posisinya yang dulunya dominan di dunia video sekarang secara konsisten berada di bawah ancaman.
Namun demikian, ia masih memiliki kehadiran yang signifikan di web dan digunakan oleh banyak situs populer, termasuk YouTube dan Facebook.
Adapun RTMP, masih banyak digunakan untuk streaming konten audio dan video. Namun demikian, masa depannya kurang pasti dibandingkan Flash.
Adobe telah mengumumkan bahwa mereka akan berhenti mendukung RTMP pada tahun 2020, yang dapat menandai berakhirnya protokol ini. Namun demikian, ada banyak alternatif berdasarkan RTMP, sehingga kemungkinan akan terus digunakan dalam beberapa bentuk untuk tahun-tahun mendatang.
Jadi, Haruskah Anda Melakukan Streaming Menggunakan RTMP?
Tergantung. Lihatlah beberapa pro dan kontra penggunaan RTMP.
Kelebihan
- Sangat stabil. Dibandingkan dengan alternatif lain di pasaran, sangat kecil kemungkinannya untuk mengalami gangguan atau waktu henti saat menggunakan layanan yang mendukung RTMP.
- Latensi rendah dan buffering minimal. RTMP unik dalam hal ini, yang berarti pengguna dapat menonton video dalam resolusi yang lebih baik, dan waktu yang dibutuhkan untuk memuat media jauh lebih singkat.
- Kompatibilitas. Sifat RTMPS yang kuat dan andal mendorong lebih banyak produsen untuk merancang produk mereka agar dapat diintegrasikan dengan RTMP dengan mudah
Kekurangan
- RTMP membutuhkan koneksi yang terus-menerus antara klien dan server, yang dapat menjadi masalah jika ada gangguan jaringan
- Sebagai perangkat lunak berpemilik, hanya ada sedikit fleksibilitas bagi pengguna yang mahir.
PERTANYAAN YANG SERING DIAJUKAN
Bagaimana Cara Menggunakan Wave.video untuk Streaming melalui RTMP?
Jika Anda ingin melakukan streaming video melalui RTMP, Wave.video adalah pilihan yang bagus. Berikut cara menggunakannya:
- Buat akun dengan Wave.video dan masuk jika Anda belum melakukannya.
- Pilih video yang ingin Anda streaming.
- Navigasikan ke halaman "Destinasi" di Wave.video dan klik "Custom RTMP"
- Selanjutnya, Anda harus menemukan URL server dan kunci streaming untuk konten yang ingin Anda streaming. Untuk melakukannya, buka situs web yang berisi streaming yang ingin Anda lihat.
- Anda bisa menggunakan aplikasi atau ekstensi pihak ketiga untuk mengekstrak URL dan kunci jika Anda tidak tahu cara melakukannya.
- Salin URL server dan kunci streaming.
- Rekatkan URL server dan kunci streaming ke dalam Wave.video.
- Buat atau jadwalkan streaming Anda.
- Buka studio langsung dan mulai streaming.
Hanya itu yang bisa dilakukan, cepat dan mudah!
Encoder Mana yang Mendukung RTMP?
Ada banyak perangkat keras dan perangkat lunak encoder yang mendukung RTMP. Beberapa di antaranya termasuk:
- Adobe Media Encoder
- OBS Studio
- Server Elemen
- TriCaster
- Wirecast
- vMix
- TeraDek
- Mesin Streaming Wowza
- Video Niagara
RTMP vs RTSP - Mana yang Lebih Baik?
RTMP dan RTSP adalah protokol untuk streaming audio, video, dan data melalui internet. Keduanya mirip dalam banyak hal, tetapi beberapa perbedaan utama membuat keduanya ideal untuk situasi atau preferensi yang berbeda.
Berikut ini adalah ikhtisar singkat mengenai perbedaan utama di antara keduanya:
- RTMP lebih baik untuk streaming langsung, sedangkan RTSP lebih baik untuk streaming sesuai permintaan.
- RTMP memiliki latensi yang lebih rendah, sedangkan RTSP dapat memberikan video berkualitas lebih tinggi.
- RTMP memerlukan Flash Media Server, sedangkan RTSP dapat bekerja dengan server media apa pun.
Jadi, protokol mana yang lebih baik? Semuanya tergantung pada kebutuhan spesifik Anda.
RTMP adalah pilihan yang baik jika Anda membutuhkan latensi rendah dan tidak keberatan menggunakan Flash. RTSP mungkin ideal jika Anda membutuhkan video berkualitas tinggi atau ingin menggunakan server media non-Flash.
Apa yang dimaksud dengan Action Message Format (AMF)?
AMF adalah format biner untuk mengkodekan dan mentransmisikan data melalui internet, dan sering digunakan bersama dengan RTMP.
AMF memungkinkan transmisi data yang tidak kompatibel dengan RTMP, seperti objek ActionScript. AMF juga memungkinkan pertukaran data yang efisien antara aplikasi Flash dan server.
Apa Itu URL RTMP dan Bagaimana Cara Mendapatkannya dari Facebook atau YouTube?
URL RTMP adalah pengenal unik yang digunakan untuk melakukan streaming konten video langsung ke berbagai platform.
Biasanya berisi alamat IP, nama domain, dan nomor port.
Anda harus membuat acara streaming langsung di salah satu platform untuk mendapatkannya dari YouTube atau Facebook. Setelah Anda selesai melakukannya, Anda akan dapat menemukan URL RTMP di pengaturan acara.
Pikiran Akhir
RTMP tidak diragukan lagi telah membuat jejaknya di dunia. Apakah sedang dalam perjalanan keluar? Sebagai solusi jalan keluar, mungkin, tidak sama sekali!
Bahkan ketika alternatif lain yang sama atau lebih mampu muncul, RTMP akan tetap relevan dalam transmisi dan streaming media.