Analisis Performansi H.264 dan H.265 pada Video Streaming dari Segi
Quality Of Service
Vico Andrea Budi Harto1, Rakhmadhany Primananda2, Aswin Suharsono3
Abstrak
Penduduk dunia sudah berkembang dengan internet menjadi salah satu penemuan manusia yang paling
bermanfaat. Berbicara internet di Indonesia maka penyataan Telkom untuk membatasi pemakaian
tersebut pada 1 Febuari 2016 menjadi salah satu kontraversi. Telkom membandingkan pemakaian wajar
senilai 300 GB dengan 1200 streaming film berkualitas HD. Tentunya streaming video memiliki alur
dan proses yang menarik untuk diikuti, tapi muncul pertanyaan tentang codec terbaru seperti
H.265/HEVC yang dapat menekan 50% bandwidth daripada pendahulunya H.264/AVC. Pada penelitian
ini, dilakukan pengujian terhadap streaming menggunakan metode kompresi H.264/AVC dan
H.265/HEVC. Pengujian dilakukan untuk mengetahui efek dari penggunaan metode kompresi menurut
perubahan bitrate, framerate, dan bandwidth yang digunakan. Dari hasil pengukuran menurut parameter
tersebut didapatkan nilai durasi streaming live H.264 dan H.265 adalah 22.870 sec dan 34.039 sec, ketika
store adalah 10.927 sec dan 11.789 sec. Nilai throughput streaming live H.264 dan H.265 adalah 0.28
MBit/sec dan 0.18 MBit/sec, ketika store adalah 0.81 MBit/sec dan 0.79 MBit/sec. Nilai delay streaming
live H.264 dan H.265 adalah 18.04 ms dan 24.67 ms, ketika store adalah 8.47 ms dan 8.60 ms. Dapat
disimpulkan performa streaming H.264 lebih baik dari H.265 dikarenakan memiliki nilai durasi
streaming yang lebih rendah, throughput yang lebih tinggi, dan delay yang lebih kecil.
Kata Kunci: streaming live, streaming store, quality of service, H.264, H.265
Abstract
Human knowledge has grown. Internet become one of the most useful human's invention. Speaking
internet in Indonesia, Telkom declarated FUP on Feb 1 2016. Telkom comparing 320 GB bandwidth
with 1,200 movie streaming HD-quality. Of course, streaming video is an interesting thing, but the
question arises about the latest codecs such as H.265 that can compresed 50% bandwidth better than
H.264. This research make experiment between H.264/AVC and H.265/HEVC compression method.
Purpose of this research is to get quantity value from each bitrate, framerate, and bandwidth are used.
This research uses streaming duration, throughput, and delay as parameter. The result from measure
streaming quality with parameter, streaming duration value at streaming live codec H.264 and H.265
are 22.870 sec, 34.039 sec, streaming store are 10.927 sec, 11.789 sec. Throughput value streaming
live codec H.264 dan H.265 are 0.28 Mbit/sec, 0.18 Mbit/sec, streaming store are 0.81 Mbit/sec, 0.79
Mbit/sec. Delay value streaming live codec H.264 and H.265 are 18.04 ms, 24.67 ms, streaming store
are 8.47 ms, 8.60 ms. The conclution is streaming H.264 performa is better than H.265, because lower
streaming duration, lower delay, and better throughput.
Keywords: streaming live, streaming store, quality of service
Video streaming merupakan proses client menerima layanan. Server dan client dapat
menkonsumsi video tanpa mengunduhnya berkomunikasi menggunakan aplikasi jaringan
terlebih dahulu. Website yang menyediakan jasa yang disebut server program pada server dan
streaming seperti Youtube bahkan media sosial client program pada client (Sutanta, 2005).
seperti Facebook pun memiliki fitur video
streaming. Untuk mengolah video yang
kemudian akan distreamingkan, maka
dibutuhkan codec. Codec berfungsi sebagai alat
untuk merekam, mengompres, dan
mendistribusikan suatu video. Pada satu sisi
video yang ingin didistribusikan memiliki
ukuran file yang terlalu besar dan memiliki
format video yang tidak sesuai untuk
dikonsumsi, dan di situ peran codec seperti
H.264 dan H.265 untuk mengompres video
dengan algoritma yang dimilikinya Gambar 1 Arsitektur Client-Server
(Wulaningsih, 2011). (Sumber: Sutanta, 2005)
H.264/AVC merupakan codec yang
diluncurkan pada tahun 2003, perusahaan besar Prinsip kerja jaringan dengan arsitektur ini
seperti Facebook dan Youtube menggunakan sangat sederhana, di mana Server akan
codec H.264 dalam mengolah videonya untuk menunggu permintaan dari Client, memproses
distreaming pengunjung situsnya (Wikipedia, dan memberikan hasilnya kepada Client,
2017) (WISTIA, 2017). Sedangkan H.265 sedangkan Client akan mengirimkan permintaan
merupakan codec yang diciptakan pada tahun ke Server, menunggu proses dan melihat
2013 dengan menawarkan penekanan bitrate visualisasi hasil prosesnya. Sistem Client-Server
video dua kali lebih kecil dalam pengolahanya. ini menggunakan protokol tama TCP/IP
Dari penelitian Thomas H. Doria di Cisco pada (Transmission Control Protokol Internet
2013 dari paper “Great Codec Debut” yang Protokol), dan sistem operasi yang digunakan
isinya adalah mendemonstarsi kalau adalah Windows NT.
kompleksitas coding HEVC dapat menekan 50% 2.2 Live Streaming
bandwidth dan mampu mengolah video dengan
resolusi ultra dan mengharapkan penelitianya Live streaming merupakan proses streaming
dapat berguna pada kegiatan coding dalam yang berjalan ketika konten yang
keadaan real-time video conversation, agar distreamingkan masih berlangsung (real-time),
dapat mengatasi keterbatasan konsumsi contohnya seperti pertandingan sepak bola atau
bandwidth (Doria, 2013). menonton acara dari saluran televisi melalui
Streaming membutuhkan bandwidth yang internet.
besar, sedangkan codec H.265/HEVC Streaming live menggunakan protokol yang
menawarkan kualitas sama dengan penekanan unreliable seperti UDP sehingga konten
50% bandwidth daripada H.264/AVC. Untuk terdistribusi secara real-time, namun konten
menganalisa performansi streaming antara yang disugukan tidak dikonsumsi user secara
kedua codec H.265/HEVC dan H.264/AVC, penuh karena unreliable dari UDP tersebut.
maka dibutuhkan tolak ukur berupa data yang Streaming live membutuhkan media
dapat dianalisa secara kuantitas. Data untuk menumpangkan konten yang distreamingkan
tolak ukur tersebut didapat dari parameter secara live. Dalam penyebaran datanya konten
Quality of Service, antara lain nilai delay, jitter, video yang live akan diencode kemudian
packet loss, dan throughput dari kegiatan didecode kembali oleh end-user. Encode video
streaming tersebut. biasanya menggunakan H.264/AVC untuk
konten visual dan AAC untuk konten audio
2. DASAR TEORI (Sinky, 2013).
Live Model client server memisahkan secara Streaming store merupakan proses
jelas antara server dan client. Pihak server streaming yang berjalan ketika konten yang
memberikan layanan jaringan sedangkan pihak ingin distreaming benar-benar sudah berada
pada server secara sempurna. Pada streaming bps, dengan huruf “b” kecil, karena huruf “B”
store user dapat melakukan forward, pause, dan besar dimiliki oleh satuan ukuran besar pada
playback. suatu data, sehingga untuk penulisan satuan-
Streaming store menggunakan protokol satuan bitrate menjadi bps, Kbps, Mbps, dlsb
yang realiable end-to-end seperti TCP, yang (IEC, 2007).
artinya konten yang disugukan akan dikonsumsi
2.6.1 Constant Bit Rate
secara penuh oleh end-user. Buffering
merupakan mekanisme dalam streaming untuk Constant bitrate merupakan metode
menahan bagian konten agar dapat terstreaming encoding/mengolah video dengan bit output
secara maksimal (Yildirim, 2009) (Shen, 2009) yang relatif konstan atau tetap.
Berbeda dengan live streaming, streaming store
membutuhkan webcast untuk menyimpan
konten yang akan distreamingkan (Shiao, 2012).
2.4 RTMP Streaming
Real time messaging protokol (RTMP)
merupakan protokol proprietary yang
dikembangkan oleh adobe system untuk
keperluan streaming video dan audio melalui
flash player. RTMP dirancang dengan perfroma
tinggi untuk mentansmisikan data video dan
audio. Protokol ini mempunyai banyak versi Gambar 2 CBR vs VBR
(Sumber: streaminglearningcenter.com)
seperti RTMPS, RTMPE, dan RTMPT. RTMPS
merupakan RTMP melalui TSL /SSL koneksi, CBR memiliki hasil yang konsisten, yang
RTMPE RTMP yang dienkripsi dengan artinya video dengan CBR memiliki trafik
mekanisme keamanan, sementara RTMPT pemakaian bandwidth yang tidak berubah-ubah.
merupakan RTMP yang dibungkus dalam HTTP CBR diterapkan pada website youtube dan
permintaan untuk melintasi firewall. RTMP facebook, karena penggunaan bandwidth yang
merupakan protokol berbasis TCP (Guniganti, konstan membuat kualitas pengalaman
2012). berstreaming menjadi lebih baik (Singh, et al.,
2.5 HTTP Streaming 2012).
Dari percobaan yang dilakukan oleh Cliff
HTTP streaming berbasis TCP adalah pada 1 Feb 2016, didapatkan data usage dari
protokol pada aplikasi website. HTTP Dynamic streaming youtube sebagai berikut.
Streaming memberikan layanan untuk konten
media on-demand yang dapat menyediakan
streaming dengan kualitas tinggi menggunakan
H.264. HTTP streaming mampu
mengintegrasikan flash platform pada konten
video dengan sangat efesien (Singh, et al., 2012).
2.6 Bitrate
Bitrate dalam bahasa Indonesia berarti
satuan dasar. Bitrate merupakan satuan bits yang
terproses pada suatu unit dalam suatu waktu
(Gupta, 2006). Seperti satuan panjang, satuan Gambar 3 Youtube Data Usage Per Menit
waktu, satuan kecepatan, bitrate juga memiliki (Sumber: http://www.clifftam.com/much-data-
satuan dan yang paling sering digunakan adalah youtube-video-use/)
bit/s (bit per detik). Sama seperti dari meter ke
kilometer, atau gram ke kilogram, atau m/detik Dari data terlihat konsumsi video resolusi
ke km/jam, bitrate juga memiliki tangga satuan 144p dalam satu menit memakan bandwidth
kilobit/s merupakan 103 dari bit/s, megabit/s sebesar 1.90 MB, yang berarti video tersebut
merupakan 106 dari bit/s, gigabit/s merupakan memiliki bitrate 32 Kbps.
109 dari bit/s, terabit/s merupakan 1012 dari bit/s. Dasar dalam pengembangan video codec
Penulisan kependekan dari bit per second adalah CBR adalah kesederhanaan dalam disain sistem.
video converter praktis dan cepat yang dapat mengambil informasi frame sebelumnya untuk
mengolah video live (FFmpeg, 2012). diproses. Jumlah B tidak terlalu banyak dan
selalu diapit dalam kedua P menunjukkan sifat B
2.9 Quality Of Service
sebagai frame yang bisa menggunakan frame
Qos tolak ukur suatu jaringan dikatakan baik sebelumnya untuk diproses dan refrensi untuk
dari sisi trafik data yang berputar pada system frame selanjutnya. P memiliki ukuran 50% dari
tersebut. Qos memiliki beberapa parameter yang ukuran I, sedangkan ukuran B adalah 20% dari I
adalah durasi streaming, throughput, delay, dan (Joshunwin, 2014).
jitter.
2.11 CPU Usage
1. Throughput merupakan bandwidth aktual
dalam satuan Mega bit per detik (Helton, 2013). CPU usage adalah pemnggunaan kapasitas
𝐽𝑢𝑚𝑙𝑎ℎ 𝑃𝑎𝑘𝑒𝑡 (𝑏𝑦𝑡𝑒𝑠) CPU oleh device dalam suatu waktu (CPU
𝑇ℎ𝑟𝑜𝑢𝑔ℎ𝑝𝑢𝑡 =
𝑇𝑜𝑡𝑎𝑙 𝑊𝑎𝑘𝑡𝑢 (𝑑𝑒𝑡𝑖𝑘) Time). CPU time menghitung jumlah clock ticks
𝑀𝐵𝑖𝑡/𝐷𝑒𝑡𝑖𝑘 = 𝑇ℎ𝑟𝑜𝑢𝑔ℎ𝑝𝑢𝑡 𝑥 8/106 atau seconds. Ketika CPU Usage di atas 70%,
2. Delay merupakan jeda waktu paket pertama pengguna akan merasakan lag (seperti tersendat-
dan paket berikutnya pada suatu jaringan sendat). Semakin tinggi penggunaan CPU maka
(Helton, 2013). semakin tinggi power yang digunakan. CPU
𝐷𝑒𝑙𝑎𝑦 = 𝑊𝑎𝑘𝑡𝑢 𝑘𝑒𝑑𝑎𝑡𝑎𝑛𝑔𝑎𝑛 𝑝𝑎𝑘𝑒𝑡 perlu diupgrade dari waktu ke waktu karena
− 𝐾𝑒𝑑𝑎𝑡𝑎𝑛𝑔𝑎𝑛 𝑠𝑒𝑏𝑒𝑙𝑢𝑚𝑛𝑦𝑎 perkembangan teknologi membuat software
𝑇𝑜𝑡𝑎𝑙 𝐷𝑒𝑙𝑎𝑦 (𝑑𝑒𝑡𝑖𝑘) membutuhkan resource yang semakin besar
𝑅𝑎𝑡𝑎 − 𝑅𝑎𝑡𝑎 𝐷𝑒𝑙𝑎𝑦 =
𝐵𝑎𝑛𝑦𝑎𝑘 𝑃𝑎𝑘𝑒𝑡 untuk user exprience, bila tidak maka pengguna
harus melakukan pengurangan untuk
Dengan adanya Qos maka suatu jaringan dapat menghindari lag, seperti mengurangi resolusi
dikatakan baik berdasarkan data berupa angka atau animations pada game.
kuantitas (Dawood, et al., 2014).
2.12 Memory Usage
2.10 Struktur Group Of Pictures
Memory Usage adalah penggunaan RAM
Group of Pictures merupakan cara untuk pada suatu device. Heavy memory usage berarti
melihat karakteristik suatu video. I (Intra coded device kehabisan free RAM. CPU membuthkan
frame) artinya frame yang diencode tanpa ada RAM untuk menjalankan perintah secara
pertimbangan frame video sebelumnya atau singkat, ketika device menggunakan RAM
sesudahnya, lalu P (Predictive coded frame) melebihi kapasitas maka proses yang akan
artinya frame yang diencde dengan dieksekusi menjadi lambat (Ivan, 2016).
pertimbangan frame sebelumnya, dan B
(Bipredictive coded frame) artinya frame yang
diencode dengan pertimbangan frame
sebelumnya dan frame ini juga akan dijadikan
rujukan untuk pertimbangan frame setelahnya
(Huszak & Imre, 2010).
3. PERANCANGAN DAN
IMPLEMENTASI
3.1 Gambaran Umum Sistem
Sumber konten sudah berada pada server,
yang kemudian diencode oleh server dan
distreaming oleh client.
3.4 Implementasi pada Server nilai yang lebih tinggi daripada H.265 (kanan).
apache2 Delay (2 Mbps, 1 Mbps, 512 Kbps)
apache2 digunakan sebagai basis untuk
streaming store. Tidak ada konfigurasi khusus
setelah melakukan instalisasi karena saat
streaming client menggunakan FFplay dari
fungsi FFmpeg melalui perintah pada terminal.
rtmp-nginx
rtmp-nginx sebagai basis streaming live.
rtmp-nginx memiliki konfigurasi dan aturan
yang harus diperhatikan. Sama seperti streaming Gambar 12 Delay Streaming Live
pada streaming store, client pada streaming live
juga menggunakan FFplay melalui perintah Pada gambar terlihat H.264 (kiri) memiliki
terminal. Namun sebelumnya untuk pemasangan nilai yang lebih rendah daripada H.265 (kanan).
rtmp-nginx itu sendiri diperlukan beberapa Retransmission (2 Mbps, 1 Mbps, 512 Kbps)
penyesuaian untuk bisa digunakan.
Instalasi Encoder dan Codec Video
sudo apt-get install ffmpeg
sudo apt-get install libx264-dev
sudo apt-get install libx265-dev
5. KESIMPULAN
Dari pengujian dapat disimpulkan bahwa:
1. Ketika menggunakan tool FFmpeg untuk
memberi bitrate yang sama pada encode
video dengan codec yang berbeda yakni
H.264 dan H.265, user dapat melakukan
Gambar 17 Retransmisison Streaming Store
dengan cara memasukkan perintah –b:v
Pada gambar terlihat H.264 (kiri) memiliki “nominal” di teriminal sebelum
nilai yang lebih tinggi daripada H.265 (kanan). mengeksekusi proses encoding.
2. Codec H.265 dapat diterapkan ketika
4.3 Struktur GOP (H.264, H.265, RAW) melakukan streaming store menggunakan
Pada gambar 18 terlihat encoding dengan http streaming, namun ketika ingin
menggunakan codec H.265 memiliki melakukan streaming live dengan rtmp,
mekanisme yang lebih baik terlihat dari nilai B rtmp tidak support data dengan format
yang lebih tinggi dari nilai B milik H.264. .mpegts melainkan .flv sedangkan H.265
tidak mendukung format .flv namun
mendukung format .mpegts sehingga untuk