Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer Vol. 1, No. 10, Oktober 2017, hlm. 1172-1181
e-ISSN: 2548-964X http://j-ptiik.ub.ac.id
Analisis Performansi H.264 dan H.265 pada Video Streaming dari Segi Quality Of Service Vico Andrea Budi Harto1, Rakhmadhany Primananda2, Aswin Suharsono3 Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya Email:
[email protected],
[email protected] [email protected] 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
pada paket-paket intenet yang telah ditawarkan. Menurut Telkom, kebijakan FUP yang mereka sediakan melalui IndiHome masih memadai pemakaian rumah tangga. Sebagai contoh untuk layanan 10 Mbps, IndiHome yang sebelumnya unlimited, saat ini memberikan FUP 300 GB atau setara dengan menonton 1200 film pada kualitas HD (Telkom, 2016).
1. PENDAHULUAN Internet merupakan kemajuan bagi peradaban manusia. Pada 1 Febuari 2016 PT. Telkom yang merupakan provider internet terbesar di Indonesia menerapkan FUP (Fair Usage Policy, Kebijakan Penggunaan Wajar) Fakultas Ilmu Komputer Universitas Brawijaya
1172
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
Video streaming merupakan proses menkonsumsi video tanpa mengunduhnya terlebih dahulu. Website yang menyediakan jasa streaming seperti Youtube bahkan media sosial 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 (Wulaningsih, 2011). H.264/AVC merupakan codec yang diluncurkan pada tahun 2003, perusahaan besar seperti Facebook dan Youtube menggunakan codec H.264 dalam mengolah videonya untuk distreaming pengunjung situsnya (Wikipedia, 2017) (WISTIA, 2017). Sedangkan H.265 merupakan codec yang diciptakan pada tahun 2013 dengan menawarkan penekanan bitrate video dua kali lebih kecil dalam pengolahanya. Dari penelitian Thomas H. Doria di Cisco pada 2013 dari paper “Great Codec Debut” yang isinya adalah mendemonstarsi kalau kompleksitas coding HEVC dapat menekan 50% bandwidth dan mampu mengolah video dengan resolusi ultra dan mengharapkan penelitianya dapat berguna pada kegiatan coding dalam keadaan real-time video conversation, agar dapat mengatasi keterbatasan konsumsi bandwidth (Doria, 2013). Streaming membutuhkan bandwidth yang besar, sedangkan codec H.265/HEVC menawarkan kualitas sama dengan penekanan 50% bandwidth daripada H.264/AVC. Untuk menganalisa performansi streaming antara kedua codec H.265/HEVC dan H.264/AVC, maka dibutuhkan tolak ukur berupa data yang dapat dianalisa secara kuantitas. Data untuk tolak ukur tersebut didapat dari parameter Quality of Service, antara lain nilai delay, jitter, packet loss, dan throughput dari kegiatan streaming tersebut.
1173
client menerima layanan. Server dan client dapat berkomunikasi menggunakan aplikasi jaringan yang disebut server program pada server dan client program pada client (Sutanta, 2005).
Gambar 1 Arsitektur Client-Server (Sumber: Sutanta, 2005)
Prinsip kerja jaringan dengan arsitektur ini sangat sederhana, di mana Server akan menunggu permintaan dari Client, memproses dan memberikan hasilnya kepada Client, sedangkan Client akan mengirimkan permintaan ke Server, menunggu proses dan melihat visualisasi hasil prosesnya. Sistem Client-Server ini menggunakan protokol tama TCP/IP (Transmission Control Protokol Internet Protokol), dan sistem operasi yang digunakan adalah Windows NT. 2.2 Live Streaming
2. DASAR TEORI
Live streaming merupakan proses streaming yang berjalan ketika konten yang distreamingkan masih berlangsung (real-time), contohnya seperti pertandingan sepak bola atau menonton acara dari saluran televisi melalui internet. Streaming live menggunakan protokol yang unreliable seperti UDP sehingga konten terdistribusi secara real-time, namun konten yang disugukan tidak dikonsumsi user secara penuh karena unreliable dari UDP tersebut. Streaming live membutuhkan media menumpangkan konten yang distreamingkan secara live. Dalam penyebaran datanya konten video yang live akan diencode kemudian didecode kembali oleh end-user. Encode video biasanya menggunakan H.264/AVC untuk konten visual dan AAC untuk konten audio (Sinky, 2013).
2.1 Video Streaming
2.3 Streaming Store
Live Model client server memisahkan secara jelas antara server dan client. Pihak server memberikan layanan jaringan sedangkan pihak
Streaming store merupakan proses streaming yang berjalan ketika konten yang ingin distreaming benar-benar sudah berada
Fakultas Ilmu Komputer, Universitas Brawijaya
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
pada server secara sempurna. Pada streaming store user dapat melakukan forward, pause, dan playback. Streaming store menggunakan protokol yang realiable end-to-end seperti TCP, yang artinya konten yang disugukan akan dikonsumsi secara penuh oleh end-user. Buffering merupakan mekanisme dalam streaming untuk menahan bagian konten agar dapat terstreaming secara maksimal (Yildirim, 2009) (Shen, 2009) Berbeda dengan live streaming, streaming store membutuhkan webcast untuk menyimpan konten yang akan distreamingkan (Shiao, 2012).
1174
bps, dengan huruf “b” kecil, karena huruf “B” besar dimiliki oleh satuan ukuran besar pada suatu data, sehingga untuk penulisan satuansatuan bitrate menjadi bps, Kbps, Mbps, dlsb (IEC, 2007). 2.6.1 Constant Bit Rate Constant bitrate merupakan metode encoding/mengolah video dengan bit output yang relatif konstan atau tetap.
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 seperti RTMPS, RTMPE, dan RTMPT. RTMPS merupakan RTMP melalui TSL /SSL koneksi, RTMPE RTMP yang dienkripsi dengan mekanisme keamanan, sementara RTMPT merupakan RTMP yang dibungkus dalam HTTP permintaan untuk melintasi firewall. RTMP merupakan protokol berbasis TCP (Guniganti, 2012). 2.5 HTTP Streaming HTTP streaming berbasis TCP adalah protokol pada aplikasi website. HTTP Dynamic 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).
Gambar 2 CBR vs VBR (Sumber: streaminglearningcenter.com)
CBR memiliki hasil yang konsisten, yang artinya video dengan CBR memiliki trafik pemakaian bandwidth yang tidak berubah-ubah. CBR diterapkan pada website youtube dan facebook, karena penggunaan bandwidth yang konstan membuat kualitas pengalaman berstreaming menjadi lebih baik (Singh, et al., 2012). Dari percobaan yang dilakukan oleh Cliff pada 1 Feb 2016, didapatkan data usage dari streaming youtube sebagai berikut.
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 waktu, satuan kecepatan, bitrate juga memiliki satuan dan yang paling sering digunakan adalah bit/s (bit per detik). Sama seperti dari meter ke kilometer, atau gram ke kilogram, atau m/detik ke km/jam, bitrate juga memiliki tangga satuan kilobit/s merupakan 103 dari bit/s, megabit/s merupakan 106 dari bit/s, gigabit/s merupakan 109 dari bit/s, terabit/s merupakan 1012 dari bit/s. Penulisan kependekan dari bit per second adalah Fakultas Ilmu Komputer, Universitas Brawijaya
Gambar 3 Youtube Data Usage Per Menit (Sumber: http://www.clifftam.com/much-datayoutube-video-use/)
Dari data terlihat konsumsi video resolusi 144p dalam satu menit memakan bandwidth sebesar 1.90 MB, yang berarti video tersebut memiliki bitrate 32 Kbps. Dasar dalam pengembangan video codec CBR adalah kesederhanaan dalam disain sistem.
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
CBR menunjukkan kompleksitas yang rendah karena tidak menggunakan statistical multiplexing. Dan juga, CBR menunjukkan latency/periode yang rendah untuk setiap frame video, sekitar 100 ms. Disain CBR mengijinkan sinkronisasi ulang frame video saat terjadi errors pada waktu pengiriman paket. CBR baik digunakan untuk streaming server yang tidak ingin terganggu oleh Progressive Download (http). Pada streaming server diperlukan kontrol bandwidth yang cukup kuat untuk digunakan pada waktu tertentu dan CBR mampu melakukan hal itu. Dengan CBR, encoder memutuskan apakah paket data harus didrop atau tidak untuk menjaga bit rate agar tetap konstan (Reflina, 2008). 2.7 Video Coding Video coding berarti mengkompres, memapatkan, atau mengecilkan ukuran data video (Lubis, 2015). Sistem video coding antara lain:
Gambar 4 Sistem Video Coding (Sumber: Wien, 2015)
• Video Acquisition—Sumber video bersekuensial dengan output dalam bentuk digital. Proses acquisition hanya berlangsung sementara dan tidak terikat dengan proses lain. • Pre-Processing—Kegiatan yang dilakukan pada video mentah yang belum dikompres. Seperti melakukan trimming, color format conversion, color correction, atau de-noising. • Encoding—Mentransformasi video yang diinput menjadi coded bitstream. Tujuan encoding adalah untuk menggenerate compact representation dari iputan video yang lebih sesuai untuk metode transmisi pada aplikasi. • Transmission—Membungkus bitstream kedalam format yang tepat dan ditransmisikan ke channel. Transmission juga meliputi mengirim dan mengantarkan video ke sisi penerima. • Decoding—Transformasi bitstream yang diterima menjadi sebuah video.
Fakultas Ilmu Komputer, Universitas Brawijaya
1175
• Post-Processing—Kegiatan yang terjadi pada data video untuk enhancement atau untuk adaptation dalam display. • Display—Presentasi dari video untuk dikonsumsi. Video perlu ditransfer color format yang tepat untuk display. Tahapan proses terjadi setelah menjalankan beberapa aplikasi. Pada kenyataannya, video mentah yang belum dikompresi mengalami proses re-encoding (Wien, 2015). 2.7.1 H.264/AVC H.264/AVC merupakan codec video yang memiliki keunggulan dibanding codec video lain dengan kamampuan untuk encoding video dengan menekan bitrate pada video agar video bisa dihasilkan lebih minim daripada video aslinya. H.264 ini merupakan codec dengan teknik kompresi dengan memprediksi interframe (Marpe, et al., 2006). Jadi dalam video yang memiliki ribuan frame di dalamnya, terdapat beberapa frame yang tidak jauh berbeda dari frame sebelumnya, terkecuali memiliki scane dengan latar yang berbeda. Teknik kompresi H.264 mempertimbangkan tiap frame yang berlanjut tersebut untuk diencode. Video standar pada saat ini menggunakan H.264 yang bisa mengatur seperti apa setingan video yang ingin diterapkan dari ketajaman, kecerahan, dan lain sebagainya (Wiegand, et al., 2003). 2.7.2 H.265/HEVC H.265/HEVC merupakan codec video yang dikembangkan setelah H.264. Tujuan dari H.265 adalah mengefisiensikan bitrate video dengan mengompres bitrate dua kali lebih baik agar menghasilkan ukuran video yang lebih minim dengan kualitas yang sama dengan aslinya (Sullivan, et al., 2012). H.265 ini memiliki keunggulan dari H.264 dari berbagai aspek. Dari segi subjektif dan objektif visualisasi H.265 memiliki kualitas yang lebih baik dibanding H.264. Dibanding H.264/AVC, HEVC menyimpan lebih dari 57% bit rate dari segi perceptual quality (Ohm, et al., 2012). 2.8 FFmpeg FFmpeg merupakan sebuah tool open source yang digunakan untuk encoder dan decoder. FFmpeg merupakan multimedia yang mampu memproses dengan sangat baik (Zhang, et al., 2011). FFmpeg menyediakan fungsi multimedia sesuai kebutuhan seperti mengecilan resolusi, framerate, pemotongan, dan lain sebagainya (Caron, et al., 2007). FFmpeg merupakan tool
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
video converter praktis dan cepat yang dapat mengolah video live (FFmpeg, 2012). 2.9 Quality Of Service Qos tolak ukur suatu jaringan dikatakan baik dari sisi trafik data yang berputar pada system tersebut. Qos memiliki beberapa parameter yang adalah durasi streaming, throughput, delay, dan jitter. 1. Throughput merupakan bandwidth aktual dalam satuan Mega bit per detik (Helton, 2013). 𝐽𝑢𝑚𝑙𝑎ℎ 𝑃𝑎𝑘𝑒𝑡 (𝑏𝑦𝑡𝑒𝑠) 𝑇ℎ𝑟𝑜𝑢𝑔ℎ𝑝𝑢𝑡 = 𝑇𝑜𝑡𝑎𝑙 𝑊𝑎𝑘𝑡𝑢 (𝑑𝑒𝑡𝑖𝑘) 𝑀𝐵𝑖𝑡/𝐷𝑒𝑡𝑖𝑘 = 𝑇ℎ𝑟𝑜𝑢𝑔ℎ𝑝𝑢𝑡 𝑥 8/106
2. Delay merupakan jeda waktu paket pertama dan paket berikutnya pada suatu jaringan (Helton, 2013). 𝐷𝑒𝑙𝑎𝑦 = 𝑊𝑎𝑘𝑡𝑢 𝑘𝑒𝑑𝑎𝑡𝑎𝑛𝑔𝑎𝑛 𝑝𝑎𝑘𝑒𝑡 − 𝐾𝑒𝑑𝑎𝑡𝑎𝑛𝑔𝑎𝑛 𝑠𝑒𝑏𝑒𝑙𝑢𝑚𝑛𝑦𝑎 𝑇𝑜𝑡𝑎𝑙 𝐷𝑒𝑙𝑎𝑦 (𝑑𝑒𝑡𝑖𝑘) 𝑅𝑎𝑡𝑎 − 𝑅𝑎𝑡𝑎 𝐷𝑒𝑙𝑎𝑦 = 𝐵𝑎𝑛𝑦𝑎𝑘 𝑃𝑎𝑘𝑒𝑡
Dengan adanya Qos maka suatu jaringan dapat dikatakan baik berdasarkan data berupa angka kuantitas (Dawood, et al., 2014). 2.10 Struktur Group Of Pictures Group of Pictures merupakan cara untuk melihat karakteristik suatu video. I (Intra coded frame) artinya frame yang diencode tanpa ada pertimbangan frame video sebelumnya atau sesudahnya, lalu P (Predictive coded frame) artinya frame yang diencde dengan 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).
1176
mengambil informasi frame sebelumnya untuk diproses. Jumlah B tidak terlalu banyak dan selalu diapit dalam kedua P menunjukkan sifat B sebagai frame yang bisa menggunakan frame sebelumnya untuk diproses dan refrensi untuk frame selanjutnya. P memiliki ukuran 50% dari ukuran I, sedangkan ukuran B adalah 20% dari I (Joshunwin, 2014). 2.11 CPU Usage CPU usage adalah pemnggunaan kapasitas CPU oleh device dalam suatu waktu (CPU Time). CPU time menghitung jumlah clock ticks atau seconds. Ketika CPU Usage di atas 70%, pengguna akan merasakan lag (seperti tersendatsendat). Semakin tinggi penggunaan CPU maka 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 menghindari lag, seperti mengurangi resolusi atau animations pada game. 2.12 Memory Usage Memory Usage adalah penggunaan RAM pada suatu device. Heavy memory usage berarti device kehabisan free RAM. CPU membuthkan RAM untuk menjalankan perintah secara singkat, ketika device menggunakan RAM melebihi kapasitas maka proses yang akan dieksekusi menjadi lambat (Ivan, 2016).
Gambar 5 Struktur Group Of Pictures (Sumber: http://www.joshunwin.com/explainedinter-frame-intra-frame-and-gop-structure/)
Struktur GOP suatu video pada Gambar 5 terdiri dari frame IPPBP-IPBPP-IPPBP-IPBPPIPBPB. Jumlah I pada video tersebut biasanya berdasarkan perubahan scene pada suatu film/video yang begitu drastis, contohnya ketika perubahan scene dari percakapan biasa-biasa yang mendadak menjadi film aksi penuh efek dan warna. Jumlah P yang banyak menunjukkan kalau codec berfungsi secara baik untuk Fakultas Ilmu Komputer, Universitas Brawijaya
Gambar 6 Task Manager
Pada windows memory usage bisa dilihat pada task manager. Perubahan kurva memory
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
1177
usage bisa dilihat ketika device digunakan untuk melakukan proses yang banyak dalam waktu cepat, seperti proses menginstal software atau bermain game, atau memproses beberapa tab pada browser secara sekaligus. 3. PERANCANGAN DAN IMPLEMENTASI 3.1 Gambaran Umum Sistem Sumber konten sudah berada pada server, yang kemudian diencode oleh server dan distreaming oleh client. Gambar 8 Data Flow pada Streaming Live
Terlihat pada gambar, proses ini terbagi menjadi tiga bagian di mana ketiga bagian ini yakni server, access point, dan client memiliki peran sendiri-sendiri dalam kegiatan streaming live 3.3 Perancangan Streaming Store
Gambar 7 Alur Streaming Video
Untuk melakukan streaming live, server hanya perlu memproses konten video menjadi url yang diproses sampai habis, sedangkan untuk melakukan streaming store, server harus menyimpan video hasil olahan terlebih dahulu. 3.2 Perancangan Streaming Live Penerapan video streaming yang disiarkan tanpa harus mengolah video secara keseluruhan sebelum bisa distreaming oleh client. Server mengolah suatu video ke dalam beberapa spesifikasi, yakni: 1. Perbedaan Bitrate (1000 Kbps dan 400 Kbps) 2. Perbedaan Codec (H264 dan H265) Kemudian client yang melakukan streaming video tersebut dalam bandwidth yang bervariasi: 2 Mbps, 1 Mbps, dan 512 Kbps.
Penerapan video streaming dapat disiarkan setelah video diolah secara keseluruhan dalam beberapa spesifikasi kemudian disimpan dalam storage server, spesifikasi video tersebut sebagai berikut: 1. Perbedaan Bitrate (1000 Kbps dan 400 Kbps) 2. Perbedaan Codec (H264 dan H265) Kemudian client yang melakukan streaming video tersebut dalam bandwidth yang bervariasi: 2 Mbps, 1 Mbps, dan 512 Kbps.
Gambar 9 Data Flow pada Streaming Store
Terlihat pada gambar, proses ini terbagi menjadi tiga bagian di mana ketiga bagian ini yakni server, access point, dan client memiliki peran sendiri-sendiri dalam kegiatan streaming store.
Fakultas Ilmu Komputer, Universitas Brawijaya
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
1178
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 pada streaming store, client pada streaming live juga menggunakan FFplay melalui perintah terminal. Namun sebelumnya untuk pemasangan rtmp-nginx itu sendiri diperlukan beberapa penyesuaian untuk bisa digunakan. Instalasi Encoder dan Codec Video
Gambar 12 Delay Streaming Live
Pada gambar terlihat H.264 (kiri) memiliki nilai yang lebih rendah daripada H.265 (kanan). Retransmission (2 Mbps, 1 Mbps, 512 Kbps)
sudo apt-get install ffmpeg sudo apt-get install libx264-dev sudo apt-get install libx265-dev
4. PENGUJIAN DAN HASIL 4.1 Streaming Live H.264 vs. H.265 (30fps-400K, 30fps-1000K, 30fps-1500K) Gambar 13 Retransmission Streaming Live
Durasi Streaming (2 Mbps, 1 Mbps, 512 Kbps)
Pada gambar terlihat H.264 (kiri) memiliki nilai yang lebih tinggi daripada H.265 (kanan). 4.2 Streaming Store H.264 vs. H.265 (30fps-400K, 30fps-1000K, 30fps-1500K) Durasi Streaming (2 Mbps, 1 Mbps, 512 Kbps)
Gambar 10 Durasi Streaming Live
Pada gambar terlihat H.264 (kiri) memiliki nilai yang lebih rendah daripada H.265 (kanan). Throughput (2 Mbps, 1 Mbps, 512 Kbps) Gambar 14 Durasi Streaming Store
Pada gambar terlihat H.264 (kiri) memiliki nilai yang lebih rendah daripada H.265 (kanan), meski nilainya hampir mendekati.
Gambar 11 Throughput Streaming Live
Pada gambar terlihat H.264 (kiri) memiliki Fakultas Ilmu Komputer, Universitas Brawijaya
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
1179
Throughput (2 Mbps, 1 Mbps, 512 Kbps)
Gambar 15 Throughput Streaming Store
Pada gambar terlihat H.264 (kiri) memiliki nilai yang lebih tinggi daripada H.265 (kanan) ketika streaming dilakukan pada bandwidth 2 Mbps.
Gambar 18 Struktur GOP H.264, H.265, dan RAW
4.4 CPU Usage dan Memory Usage
Delay (2 Mbps, 1 Mbps, 512 Kbps)
Gambar 19 CPU Usage dan Memory Usage Streaming Live
Gambar 16 Delay Streaming Store
Pada gambar terlihat H.264 (kiri) memiliki nilai yang lebih rendah daripada H.265 (kanan ketika streaming dilakukan pada bandwidth 512 Kbps. Retransmission (2 Mbps, 1 Mbps, 512 Kbps)
Gambar 20 CPU Usage dan Memory Usage Streaming Store
Pada gambar terlihat tren H.264 jauh lebih cepat turunnya daripada H.265 itu membuktikan encoding dengan H.265 cukup membebani server. 5. KESIMPULAN
Gambar 17 Retransmisison Streaming Store
Pada gambar terlihat H.264 (kiri) memiliki nilai yang lebih tinggi daripada H.265 (kanan). 4.3 Struktur GOP (H.264, H.265, RAW) Pada gambar 18 terlihat encoding dengan menggunakan codec H.265 memiliki mekanisme yang lebih baik terlihat dari nilai B yang lebih tinggi dari nilai B milik H.264.
Fakultas Ilmu Komputer, Universitas Brawijaya
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 dengan cara memasukkan perintah –b:v “nominal” di teriminal sebelum mengeksekusi proses encoding. 2. Codec H.265 dapat diterapkan ketika melakukan streaming store menggunakan http streaming, namun ketika ingin melakukan streaming live dengan rtmp, rtmp tidak support data dengan format .mpegts melainkan .flv sedangkan H.265 tidak mendukung format .flv namun mendukung format .mpegts sehingga untuk
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
3. a.
b.
c.
d.
melakukan streaming live menggunakan codec H.265 dibutuhkan cara proses konversi dari output .mpegts dengan protokol udp dan direstransmisi dengan output .flv dengan protokol rtmp. Dari segi parameter quality of service dapat ditarik kesimpulan bahwa: Nilai durasi streaming yang distreaming dengan bandiwidth 2 Mbps, 1 Mbps, dan 512 Kbps ketika live streaming H.26430fps-400kbps adalah 22.870 sec, 23.612 sec, dan 24.127 sec, sedangkan ketika live streaming H.265-30fps-400kbps adalah 34.039 sec, 33.443 sec, dan 33.815 sec, lalu ketika streaming store H.264-30fps400kbps adalah 10.927 sec, 15.052 sec, 17.790 sec, sedangkan ketika streaming store H.265-30fps-400kbps adalah 11.789 sec, 15.562 sec, 18.255 sec. Maka bisa dikatakan durasi streaming menggunakan H.264 lebih kecil daripada saat menggunakan H.265. Nilai throughput yang distreaming dengan bandiwidth 2 Mbps, 1 Mbps, dan 512 Kbps ketika live streaming H.264-30fps-400kbps adalah 0.28 MBit/sec, 0.28 MBit/sec, dan 0.32 MBit/sec, sedangkan ketika live streaming H.265-30fps-400kbps adalah 0.18 MBit/sec, 0.19 MBit/sec, dan 0.24 MBit/sec, lalu ketika streaming store H.264-30fps-400kbps adalah 0.81 MBit/sec, 0.68 MBit/sec, dan 0.64 MBit/sec, sedangkan ketika streaming store H.265-30fps-400kbps adalah 0.79 MBit/sec, 0.68 MBit/sec, dan 0.63 MBit/sec. Maka bisa dikatakan throughput H.264 lebih besar daripada throughput H.265. Nilai delay yang distreaming dengan bandiwidth 2 Mbps, 1 Mbps, dan 512 Kbps ketika live streaming H.264-30fps-400kbps adalah 18.04 ms, 18.28 ms, dan 19.38 ms, sedangkan ketika live streaming H.26530fps-400kbps adalah 24.67 ms, 24.12 ms, dan 26.11 ms, lalu ketika streaming store H.264-30fps-400kbps adalah 8.47 ms, 10.61 ms, dan 11.79 ms, sedangkan ketika streaming store H.265-30fps-400kbps 8.60 ms, 10.67 ms, dan 12.02 ms. Maka bisa dikatakan delay H.264 lebih kecil daripada delay H.265. Nilai retransmission yang distreaming dengan bandiwidth 2 Mbps, 1 Mbps, dan 512 Kbps ketika live streaming H.26430fps-400kbps adalah 2.82%, 4.64%, dan
Fakultas Ilmu Komputer, Universitas Brawijaya
1180
18.11%, sedangkan ketika live streaming H.265-30fps-400kbps adalah 0.09%, 0.81%, dan 17.98%, lalu ketika streaming store H.264-30fps-400kbps adalah 19.41%, 27.43%, dan 29.03%, sedangkan ketika streaming store H.265-30fps-400kbps adalah 20.29%, 26.94%, dan 28.79%. Maka bisa dikatakan retransmission H.264 lebih besar daripada retransmission H.265. Pada streaming live, H.265 memiliki retransmission yang jauh lebih kecil daripada H.264 sedangkan pada streaming store durasi streaming kedua metode encoding ini relatif mirip dengan H.264 yang jauh lebih kecil. Sehingga dapat disimpulkan H.264 lebih baik dari H.265 dari segi quality of service, karena memiliki nilai durasi streaming yang lebih rendah, throughput yang lebih tinggi, dan delay yang lebih kecil. Dari sisi encoding, H.265 memiliki kompresi B (Bipredictive coded frame) sebanyak 375 sedangkan pada H.264 sebanyak 359. Dari sisi CPU dan Memory Usage terlihat penggunaan resource H.265 sedangkan H.264, yang artinya H.265 lebih menggunakan banyak CPU dan RAM. Saran dari penulis untuk penelitian selanjutnya adalah pengujian codec H.264, H.265, dan atau yang terbaru menggunakan metode VBR (Variant Bitrate). Proses encoding dengan H.265 begitu membebani server sehingga dibutuhkan server yang lebih baik daripada server pada pengujian saat ini. Protokol yang digunakan pada penelitian menjadi berubah ketika H.265 tidak bisa melakukan streaming live menggunakan protokol udp, itu membuat penguji harus mengubah dari video dengan protokol udp ke video dengan protokol rtmp, sedangkan ketika H.265 tidak support format .flv untuk protokol H.265, maka dibutuhkan metode untuk melakukan pengujian yang lebih sederhana tanpa media pengubahan protokol terlebih dahulu. DAFTAR PUSTAKA Caron, F., Coulombe, S., & Wu, T. (2007). A Transcoding Server for the Home Domain. IEEE. Doria, T. H., 2013. The Great Codec Debate The Myths, Realities, and Considerations You Need to Know Before Making Your Next Video Conferencing Purchase. s.l.:Cisco SMO.
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
Guniganti, R. G. (2012). A Comparision of RTMP and HTTP Protocols with rescpect to Packet loss and Delay Variation based on Qoe. Master Thesis Electrical Engineering. Huszak, A., & Imre, S. (2010). Analysing GOP Structure and Packet Loss Effects on Error Propagation in MPEG–4 Video Streams. International Syaposium on Communication, Control, and Signal Processing (ISCCSP). Lubis, N. S. (2015). Analisis Perbandingan Kompresi File Video Dengan Motion Picture Expert Group-4 Dan Flash Video Dengan Menggunakan Algoritma Huffman. Sumatra Utara: Universitas Sumatra Utara. Marpe, D., Wiegand, T., & Sullivan, G. J. (2006). The H.264/MPEG4 advanced video coding standard and its applications. IEEE Communications Magazine. Merritt, L. (2013). X264: A HIGH PERFORMANCE H.264/AVC ENCODER. Seattle: University of Washington. Ohm, J.-R., Sullivan, G., Schwarz, H., Tan, T., & Wiegand, T. (2012). Comparison of the coding efficiency of video coding standards-including High Efficiency Video Coding (HEVC). IEEE Trans. Circuits Syst. Video Technol. Singh, K. D., Hadjadj-Aoul, Y., & Rubino, G. (2012). Quality of experience estimation for adaptive HTTP/TCP video streaming using h.264/AVC. IEEE. Sullivan, G. J., Ohm, J., Han, W., & Wiegand, T. (2012). Overview of the High Efficiency Video Coding (HEVC) Standard. IEEE Trans. Circuits Syst. Video Technol. Telkom. (2016, 01 31). Penjelasan Indihome Terkait Kebijakan FUP. Wiegand, T., Sullivan, G. J., Bjøntegaard, G., & Luthra, A. (2003). Overview of the H.264 / AVC Video Coding Standard. IEEE Transactions on Circuits And Systems for Video Technology. Wien, M. (2015). High Efficiency Video Fakultas Ilmu Komputer, Universitas Brawijaya
1181 Coding, Coding Tool, and Specification. Springer.
https://en.wikipedia.org/wiki/YouTube WikiRTMP. (2017). 2017. Retrieved 1 27, 2017, from https://en.wikipedia.org/wiki/RealTime_Messaging_Protocol#HTTP_tun neling_.28RTMPT.29 Wulaningsih, T. (2011). Analisa Kinerja Teknik Kompresi Video Pada Internet Protocol Televisi (IPTV). ITS. Zhang, B., Zeng, S., Xu, R., Guo, D., Yan, J., & Wang, W. (2011). Design and implementation of a scalable system architecture for embedded multimedia terminal. IEEE.