Dokumen tersebut membahas analisis proses video streaming menggunakan protokol RTP. Protokol RTP bekerja dengan elemen lain untuk mengubah video menjadi data digital yang dapat dikirim sebagai paket dan divalidasi untuk memastikan paket tersebut sampai ke pengguna. Proses video streaming melibatkan pengambilan gambar, konversi menjadi data, pengiriman paket melalui RTP, dan validasi paket untuk memastikan pengiriman ke pengguna
1. Analisa Proses Video Streaming menggunakan RTP
(Real-time Transport Protocol)
Primanda Lusita
Fakultas MIPA
Program Studi Ilmu Komputer, Universitas Brawijaya
primandalusita1@gmail.com
Abstrak - Dengan perkembangan teknologi informasi
dan telekomunikasi, penyebaran konten multimedia
secara real time menjadi sangat umum. Teknologi
yang paling sering digunakan adalah streaming, ada
beberapa protokol yang dapat digunakan untuk
streaming diantanya adalah RTP (Real-time
Transport Protocol). Dalam hal ini RTP bekerja
dengan elemen-elemen lain yang melakukan proses-
proses tertentu agar suatu video dapat diubah
menjadi data digital dan dapat dikirim berupa paket
yang divalidasi untuk menjamin paket tersebut
sampai kepada pengguna dan dapat diakses oleh
pengguna.
Kata kunci - Streaming, video streaming, RTP
1. PENDAHULUAN
Dalam beberapa tahun terakhir ini telah
menjadi populer untuk menggunakan jaringan data, dan
IP (internet protokol) jaringan data khususnya untuk
transportasi multimedia-termasuk tidak hanya file data
'klasik' tapi juga real-time video dan sinyal suara.
Untuk pengiriman end-to-end dari data dengan
karakteristik real-time aplikasi realtime protokol
transport (RTP) telah dikembangkan, khususnya
aplikasi real-time yang mungkin berjalan pada jaringan
IP. Yang pertama adalah aplikasi video streaming di
mana PC-pengguna melihat video atau news clip yang
didownload dari server video. Hal ini dapat menjadi
nyata 'hidup' aplikasi (seperti kamera Web webcam-
Worldwide) atau mungkin melibatkan melihat sebuah
film yang sebelumnya disimpan di server. Ide dasar
dari video streaming adalah membagi paket video
menjadi beberapa bagian, mentransmisikan paket data
tersebut, kemudian penerima (receiver) dapat
mendecode dan memainkan potongan paket video
tersebut tanpa harus menunggu keseluruhan file selesai
terkirim ke mesin penerima. Dalam pengiriman data
tersebut diperlukan suatu protokol yang dapat
menciptakan layanan interaktif yang mengatur koneksi
antara media server dan client yaitu RTP (Real-time
Transport Protocol) yang berfungsi untuk
mentransportasikan video secara real time pada
jaringan IP. Dengan RTP pengguna dapat mengakses
proses streaming yang sedang berlangsung. Protokol
biasanya digunakan untuk mengangkut data melalui
User Datagram Protocol (UDP), bersama dengan UDP
menyediakan fungsi transport protokol.
2. TINJAUAN PUSTAKA
2.1 RTP (Real-time Transport Protocol)
Sebuah paket dengan format UDP dan
seperangkat konvensi yang menyediakan fungsi
jaringan transportasi end-to-end, cocok untuk aplikasi
transmisi data real-time seperti audio, video atau data
simulasi, melalui layanan jaringan multicast atau
unicast.
Real Time Protocol (RTP) merupakan standar
utama untuk keperluan transport audio/video dalam
jaringan IP, feature dari RTP diantaranya adalah timing
recovery, loss detection and correction, payload and
source identification, reception quality feedback, media
synchronization and membership management. Pada
awalnya RTP didesain untuk digunakan pada
konferensi multicast menggunakan model lightweights
session. Sejak saat itu RTP terbukti berhasil untuk
diimplementasikan untuk aplikasiaplikasi multimedia
realtime, seperti video conference H.323, webcasting,
dan video broadcast.
Selain itu RTP telah digunakan dari skala
penggunaan point to point hingga multicast dengan
ribuan user, dari penggunaan low bandwith pada
aplikasi telepon seluler hingga delivery sinyal HDTV
tidak terkompresi pada kecepatan gigabit per detik.
Gambar di bawah ini menunjukkan peran RTP pada
teknologi streaming.
Gambar 1. Peran RTP pada Teknologi Steaming
2.2 Header
Header RTP memiliki ukuran minimum 12
byte. Setelah header, extension header opsional
mungkin ada. Hal ini diikuti oleh RTP payload, format
yang ditentukan oleh kelas tertentu aplikasi.
2. Field dalam header adalah sebagai berikut :
1. V (Version) Memiliki ukuran 1 bit, berfungsi
mengindikasikan versi protokol. Versi saat ini adalah 2.
2. P (Padding) Memiliki ukuran 1 bit, digunakan untuk
mengindikasikan apakah ada byte padding tambahan
pada akhir paket RTP. Padding A dapat digunakan
untuk mengisi sebuah blok ukuran tertentu, misalnya
sebagai diperlukan oleh sebuah algoritma enkripsi.
3. X (Extension) Memiliki ukuran 1 bit, berfungsi
mengindikasikan adanya header extension antara
header standar dan data payload. Ini adalah aplikasi
atau profil tertentu.
4. CC (Contributing Source Count) Memiliki ukuran 4
bit, mengandung jumlah pengenal CSRC yang
mengikuti header tetap.
5. M (Marker) Memiliki ukuran 1 bit, digunakan pada
tingkat aplikasi dan didefinisikan oleh profil. Jika diset,
ini berarti bahwa data yang saat ini memiliki beberapa
relevansi khusus untuk aplikasi.
6. PT (Payload Type) Memiliki ukuran 7 bit, berfungsi
mengindikasikan format payload dan menentukan
interpretasinya oleh aplikasi. Hal ini ditentukan oleh
profil RTP. Sebagai contoh, untuk konferensi audio
dan video dengan kontrol yang minimal.
7. Sequence Number Memiliki ukuran 16 bit, nomor
urutan bertambah satu untuk setiap paket data yang
dikirim dan RTP yang akan digunakan oleh penerima
untuk mendeteksi kehilangan paket dan untuk
mengembalikan urutan paket. RTP tidak mengambil
tindakan apapun terhadap kehilangan paket, melainkan
diserahkan kepada aplikasi untuk mengambil tindakan
yang diinginkan. Sebagai contoh, aplikasi video
mungkin memainkan frame terakhir yang diketahui di
tempat dari frame yang hilang. RTP tidak memberikan
jaminan pengiriman, namun keberadaan nomor urut
memungkinkan untuk mendeteksi paket yang hilang.
8. Timestamp Memiliki ukuran 32 bit, digunakan untuk
memungkinkan penerima untuk memutar ulang sampel
yang diterima pada interval yang tepat. Ketika
beberapa media stream muncul, cap waktu yang
independen dalam setiap aliran, tidak dapat diandalkan
untuk sinkronisasi media.
9. SSRC (Synchronization Source) Memiliki ukuran 32
bit, mengidentifikasi tanda pengenal yang unik dari
sumber stream. Sumber sinkronisasi dalam sesi RTP
yang sama akan menjadi unik.
10. CSRC (Contributing Source) Memiliki ukuran 4
bit, menghitung sumber kontribusi untuk stream yang
telah dihasilkan dari berbagai sumber.
11. Extension Header Ukuran opsional, 32-bit pertama
berisi profil pengidentifikasi (16 bit) dan sebuah
penspesifikasi panjang (16 bit) yang menunjukkan
panjang perpanjangan (EHL =extension header length)
dalam satuan 32-bit , tidak termasuk 32 bit dari header
ekstensi.
Gambar 2. RTP Header
2.3 Validasi Paket RTP
Hal ini penting untuk memvalidasi apakah
paket yang diterima benar-benar paket RTP. Aturan
pengepakan, memungkinkan paket RTP menjadi sangat
ketat untuk divalidasi. Keberhasilan validasi aliran
RTP memberikan jaminan tinggi bahwa aliran RTP
yang sesuai juga berlaku, meskipun tidak meniadakan
kebutuhan untuk validasi dari paket RTP.
Dalam menampilkan pseudocode untuk proses
validasi, terdapat beberapa hal penting yang harus
diperhatikan antara lain :
1. Semua paket harus merupakan urutan paket RTP.
2. Nomor versi pada semua field pada semua paket
harus sama dengan 2.
3. Jika padding diperlukan, akan ditambahkan hanya
pada paket terakhir. Bit padding harus bernilai nol
untuk semua paket lainnya dalam urutan paket RTP.
3. METODOLOGI
Dalam pembuatan paper ini metodologi yang
digunakan adalah studi literatur, yaitu mengkaji jurnal
jurnal yang berhubungan dengan topik video
streaming. Penulis melakukan analisa terhadap proses
video streaming menggunakan protokol RTP, dimana
protokol ini bekerja dengan elemen lain. Kemudian
menganalisa apakah paket data yang diterima telah
valid sehingga dapat diterima dan diakses oleh
pengguna.
4. ANALISA PROSES VIDEO STREAMING
Sistem streaming tersusun dari kombinasi
server, player, transmisi dan metode encoding yang
digunakan. Berikut ini bagian hubungan setiap
komponen penyususun sistem streaming.
3. Gambar 3. Path Streamig
Server mempunyai peran sebagai penyedia layanan
dalam perekaman video suatu event menggunakan
webcam yang telah dihubungkan dengan komputer
server, video tersebut akan dikirim secara real time.
Hasil video objek akan ditransmisikan langsung
menggunakan RTP menuju web server agar dapat
diakses oleh client yang terhubung pada jaringan.
Gambar 4. Alur Proses Streaming
Gambar diatas menunjukkan 2 tahap dalam
alur proses streaming yaitu preprocessing dan
processing. Tahapan preprocessing adalah proses
capture objek dari video device yaitu webcam yang
merekam event yang akan menjadi media streaming
yang nantinya akan ditransmisikan secara langsung
kepada pengguna.
Kemudian setelah webcam berhasil
melakukan capture suatu objek maka proses
selanjutnya yaitu masuk ke tahap preprocessing. Pada
tahap ini terdapat beberapa proses antara lain :
1. Proses konversi, proses setelah proses capture dari
video device dimana objek telah dikonversikan
menjadi data digital yang siap dilakukan proses
encoding agar data dapat ditransmisikan kepada
pengguna layanan.
2. Proses streaming, proses mentransmisikan video
yang telah dilakukan proses encoding pada jaringan
sehingga pengguna dapat mengakses video tersebut
melalui URL video streaming yang telah disediakan
oleh penyedia layanan.
3. Proses validasi paket, proses untuk menjamin bahwa
paket video sampai kepada pengguna. Akan tetapi
dalam penelitian ini menggunakan protokol UDP yang
sifatnya tidak menjamin paket sampai kepada
pengguna atau tidak. Oleh karena itu, dilakukan upaya
terbaik dengan memanfaatkan protokol TCP/IP dalam
melakukan proses ini dalam membantu terjaminnya
paket sampai kepada pengguna.
Apabila proses preprocessing dan processing
dilakukan dengan benar maka komputer server sebagai
penyedia layanan telah berhasil menyediakan sesi
video streaming dan pengguna dapat mengakses video
tersebut. Hal terpenting yang harus dilakukan oleh
pengguna agar dapat mengakses video yang
distreamingkan oleh server pada jaringan antara lain
yaitu :
1. Harus menginstall web browser terlebih dahulu
seperti internet explorer, mozilla firefox, google
chrome, opera, dan safari.
2. Konfigurasi jaringan agar terhubung dengan
komputer server (implementasi pada jaringan lokal).
3. Konektifitas internet agar dapat melakukan live
streaming dari suatu event yang telah direkam oleh
penyedia layanan.
Jika komputer client telah terhubung pada
jaringan, hal selanjutnya yang harus dilakukan yaitu
memasukkan URL streaming pada web browser untuk
menyaksikan layanan streaming secara langsung dari
suatu event. Sedangkan dalam implementasi pada
jaringan internet komputer server harus mempunyai IP
Public yang akan menjadi Media Resource Locator
media streaming dan diinisialisasikan menjadi URL
agar dapat diakses oleh pengguna layanan dimanapun
dalam koneksi internet.
Adapun proses dari sistem live streaming ini
mulai dari request client ke server
hingga informasi video dapat distreamingkan adalah :
Gambar 5. Ilustrasi proses streaming
5. KESIMPULAN
Video streaming sebenarnya mudah dilakukan
apabila semua proses dilakukan dengan benar. Dimulai
dari capture gambar kemudian dikonverskan menjadi
data digital yang siap untuk di-encoding agar dapat
ditransmisikan sehingga pengguna dapat mengakses
video tersebut melalui URL yang telah disediakan oleh
layanan. Kemudian dilakukan proses validasi paket
untuk menjamin bahwa paket sampai pada pengguna.
Dalam transmisi data ini diperlukan suatu protokol
yang dapat menciptakan layanan interaktif yang
4. mengatur koneksi antara media server dan client yaitu
RTP (Real-time Transport Protocol). Fungsinya untuk
mentransportasikan video secara real time pada
jaringan IP. Dengan RTP pengguna dapat mengakses
proses streaming yang sedang berlangsung. Protokol
biasanya digunakan untuk mengangkut data melalui
User Datagram Protocol (UDP), bersama dengan UDP
menyediakan fungsi transport protokol.
6. REFERENSI
[1] Widyantara, I Made Oka., Sastra, Nyoman Putra.
2007. Video Streaming MPEG-4 pada Jaringan
Wireless IP 802.11b. Fakultas Teknik, Universitas
Udayana. Bali.
[2] Wijaksana, Alvino. 2008. Implementasi Secure
Real Time Protocol Untuk Sistem Video Streaming.
School of Electrical Engineering and Informatic.
[3]http://elib.unikom.ac.id/gdl.php?mod=browse&op=r
ead&id=jbptunikompp-gdl-kirappanji-26883. Analisis
dan Perancangan. Diakses tanggal 8 April 2012.
[4] http://www.networksorcery.com/protocol/rtp.htm.
Resume request for Comment 1889. Diakses tanggal 8
April 2012.
[5] http://digilib.ittelkom.ac.id. Teknologi Streaming.
Diakses tanggal 17 April 2012.