ISSN 2089 – 628X
PROSESOR Vol. IV Edisi 07 / Juni 2013
RANCANGAN APLIKASI MULTIMEDIA CONVERTER MENGGUNAKAN FFMPEG (FAST FORWARD MOVING PICTURE EXPERTS GROUP) Ilka Zufria dan Makmur Hasibuan Staff Pengajar AMIK INTeL Com GLOBAL INDO
ABSTRAK Penulisan penelitian ini bertujuan untuk merancang suatu perangkat lunak yang melakukan konversi terhadap file multimedia jenis audio dan video dengan menggunakan FFMPEG ( Fast Forward Moving Picture Experts Group ). Perangkat Lunak Multimedia Converter ini dirancang menggunakan bahasa pemograman Visual Basic 6.0 yang dapat digunakan untuk melakukan konversi file multimedia tipe audio dan video yang tergolong lebih cepat dari multimedia converter sejenis, serta dapat mengekstrak audio dari sebuah file multimedia video. Namun, perangkat lunak ini hanya dapat mengekstrak audio dari file video dengan output berupa format WAV saja dan belum dilengkapi dengan fasilitas untuk memanipulasi ukuran file multimedia tujuan. Besar ukuran file hasil konversi secara otomatis digenerate oleh sistem berdasarkan codec yang dipilih user. Kata kunci : FFMPEG, Multimedia Converter, Audio, Video.
I.
LATAR BELAKANG
II.
Penggunaan komputer sebagai alat multimedia semakin pesat perkembangan. Hal ini dapat dilihat dari banyaknya perangkat lunak pemutar file audio dan video baik yang gratis maupun komersial. Perangkat lunak pemutar file yang ada dewasa ini memiliki berbagai kelebihan dan kekurangan,khususnya dalam format file audio dan video yang dapat diputar. Hal ini sering menimbulkan kesulitan bagi user yang menggunakan perangkat lunak tersebut. Sering terjadi file multimedia yang ingin user putar tidak dapat diputar dengan baik oleh perangkat lunak pemutar file multimedia. Masalah ini diakibatkan oleh banyaknya versi dari format codec multimedia sehingga walaupun file multimedia tersebut berekstensi sama, namun belum tentu jenis codecnya sama. Sebagai contoh adalah file multimedia berekstensi AVI. File multimedia ini memiliki versi-versi codec seperti H264, MP4 dan Matroska. Untuk mangatasi masalah ini, perlu adanya sebuah konverter yang dapat menkonversikan codec sebuah file multimedia sehinga dapat diputar pada perangakat lunak pemutar file multimedia yang digunakan user. Salah satu perangkat yang dapat melakukan konversi terhadap file multimedia ini adalah FFMPEG (Fast Forward Moving Picture Experts Group). FFMPEG adalah sebuah library yang dirancang oleh Fabrice Bellard, yang dapat merekam, mengkonversi dan men-streaming file-file multimedia jenis audio dan video.
TINJAUAN PUSTAKA
2.1. Multimedia Dalam dunia teknologi komputer, file/data yang mencakup suara dan gambar di dalamnya dapat disebut sebagai data multimedia. Untuk data multimedia yang memerlukan sinkronisasi antar media dalamnya seringkali disebut multimedia stream. 2.1.1. Pengertian Multimedia Istilah "Multimedia" dikenalkan oleh Bob Goldstein (yang kemudian menjadi 'Bobb Goldsteinn') untuk mempromosikan pembukaan pertunjukkan "LightWorks at L'Oursin" nya pada Juli 1966 di Southampton, Long Island. Pada tanggal 10 Agustus 1966, Richard Albarino Varietas meminjam terminologi, laporan: “Brainchild of songscribecomic Bob (‘Washington Square’) Goldstein, the ‘Lightworks’ is the latest multi-media music-cumvisuals to debut as discothèque fare.” (gagasan komik songscribe Bob ('Washington Square') Goldstein, 'Lightworks' adalah multimedia musik dan visual terbaru untuk debut sebagai ongkos diskotek) "Dua tahun kemudian, pada tahun 1968, istilah "multimedia" itu kembali disesuaikan untuk menggambarkan karya seorang konsultan politik, David Sawyer, suami dari Iris Sawyer—salah satu produsen Goldstein di L'Oursin. Dalam empat puluh tahun berselang, kata tersebut telah diambil untuk arti yang berbeda. Pada akhir 1970-an istilah ini digunakan untuk menjelaskan presentasi yang terdiri dari slide multi-proyektor yang menunjukkan waktunya untuk track audio.
AMIK INTeL Com GLOBAL INDO -
31
ISSN 2089 – 628X
PROSESOR Vol. IV Edisi 07 / Juni 2013
Namun, pada tahun 1990-an 'multimedia' mengambil makna seperti saat ini. Pada tahun 1993 dalam edisi pertama “McGrawHill’s Multimedia: Making It Work”, Tay Vaughan menyatakan "Multimedia adalah kombinasi teks, seni grafis, suara, animasi, dan video yang dikirimkan oleh komputer. Ketika Anda membiarkan pengguna – penonton dari proyek – untuk mengontrol apa dan kapan elemen ini disampaikan, itu adalah multimedia interaktif. Bila Anda memberikan struktur elemen terkait di mana pengguna dapat menavigasi, multimedia interaktif berubah menjadi hypermedia. 2.1.2. Sistem Multimedia Multimedia memiliki diantaranya adalah :
berbagai
macam
sistem,
1. Kombinasi Media Disebut sistem multimedia jika kedua jenis media (continous/discrete) dipakai, contoh media diskrit : teks dan Gambar, dan media kontinue adalah audio dan video.
1. Audio digital Audio Digital adalah harmonisasi bunyi yang dibuat melalui perekaman konvensional maupun suara sintetis yang disimpan dalam media berbasis teknologi komputer. Format digital dapat menyimpan data dalam jumlah besar, jangka panjang dan berjaringan luas. Penyimpanan bentuk audio (suara) dalam format digital memiliki beberapa keuntungan dibandingkan penyimpanan dalam bentuk konvensional seperti kaset atau CD. Adapun keuntungan tersebut adalah : a. Format yang beragam dapat disesuaikan dengan teknologi yang digunakan b. Kualitas copy yang serupa dengan master memudahkan penggandaan dari pihak perusahaan rekaman tanpa menurunkan mutu. c. Proses penjualan dengan pendekatan single atau satu lagu terbukti jauh lebih efektif dan efisien ketimbang medium konvensional seperti kaset atau CD. Namun, penyimpanan dalam bentuk digital ini juga memiliki beberapa kelemahan, antara lain :
2. Independence Aspek utama dari jenis media yang berbeda adalah keterkaitan antara media tersebut. Disebut sistem multimedia jika tingkat ketergantungan/keterkaitan antara media tersebut rendah. 3. Computer-Supported Integration Sistem harus dapat melakukan pemrosesan yang dikontrol oleh komputer. Sistem dapat diprogram oleh sistem programer/user. Sistem multimedia dapat dibagi menjadi : 1. Sistem Multimedia Standar Alone Sistem ini berarti merupakan sistem komputer multimedia yang memiliki minimal storage (Harddisk, CD-ROM/DVD/CD-RW/DVD-RW), alat input (keyboard, mouse, scanner, microphone), dan alat output (speaker, monitor, LCD Proyektor), VGA dan Soundcard. 2. Sistem Multimedia Berbasis Jaringan Sistem ini harus terhubung melalui jaringan yang mempunyai bandwith yang besar. Perbedaanya adalah sharing sistem dan pengaksesan terhadap sumber daya yang sama. Contohnya : video conference dan video broadcast. Permasalahan : bila bandwith kecil, maka akan terjadi kemacetan jaringan, delay dan masalah infrasturktur yang belum siap. 2.1.3. Jenis-Jenis Multimedia Secara umum, jenis multimedia dapat digolongkan menjadi tiga bagian sebagai berikut :
a. Kemudahan perekamaan dan penggandaan rekaman memacu terjadinya pembajakan yang tentu saja akan merugikan b. Penyebaran audio digital di internet tidak bisa sepenuhnya dikontrol oleh label sehingga mempengaruhi pemasukan untuk label. 2. Video digital Video digital adalah berkas komputer yang digunakan untuk menyimpan kumpulan berkas digital seperti video, audio, metadata, informasi, pembagian chapter, dan judul sekaligus, yang dapat dimainkan atau digunakan melalui perangkat lunak tertentu pada komputer. 3. Citra digital Citra digital dapat didefenisikan sebagai fungi dua variabel, f(x,y), dimana x dan y adalah koordinat spasial dan nilai f(x,y) adalah intensitasi citra pada koordinat tersebut, hal tersebut diilustrasikan pada Gambar dibawah ini. Teknologi dasar untuk menciptakan dan menampilkan warna pada citra digital berdasarkan pada penelitian bahwa sebuah warna merupakan kombinasi dari tiga warna dasar, yaitu merah, hijau, dan biru (Red, Green, Blue- RGB). RGB adalah suatu model warna yang terdiri dari merah, hijau, dan biru gabungkan dalam membentuk suatu susunana warna yang luas. Setiap warna dasar, misalnya merah, dapat diberi rentang-nilai. Untuk monitor komputer, nilai rentangnya paling kecil = 0 dan paling besar = 255. Pilihan skala 256 ini didasarkan pada cara mengungkap 8 digit bilangan biner yang
AMIK INTeL Com GLOBAL INDO -
32
ISSN 2089 – 628X
PROSESOR Vol. IV Edisi 07 / Juni 2013
digunakan oleh mesin komputer. Dengan cara ini, akan diperoleh warna campuran sebanyak 256 x 256 x 256 = 1677726 jenis warna. Sebuah jenis warna, dapat dibayangkan sebagai sebuah vektor di ruang 3 dimensi yang biasanya dipakai dalam matematika, koordinatnya dinyatakan dalam bentuk tiga bilangan, yaitu komponen-x, komponen-y dan komponen-z. misalnya sebuah vektor dituliskan sebagai r = (x,y,z). Untuk warna, komponen-komponen tersebut digantikan oleh komponen R(ed), G(reen), B(lue). Jadi, sebuah jenis warna dapat dituliskan sebagai berikut : warna = RGB(30, 75, 255). Putih = RGB (255,255,255), sedangkan untuk Hitam = RGB(0,0,0). Adapun representasi warna RGB dapat dilihat pada Gambar 2.1.
Kuning (225,255,0)
Hijau Cyan (0,255,0) (0,255,255)
Biru (0,0,255)
Merah (255,0,0)
Merah (255,0,0)
Magenta (255,0,255)
Gambar 2.1. Representasi Warna RGB 2.2. Format Audio Digital Seperti telah dijelaskan sebelumnya, audio digital berwujud sebuah berkas (file) komputer. Seperti file komputer pada umumnya, audio digital juga memiliki ekstension-ekstension yang berbeda, sesuai dengan format dari audio digital tersebut. Adapun format-format audio digital yang paling banyak dijumpai antara lain : 1. WAV (Ware Audio Format) WAV merupakan standar format berkas audio yang dikembangkan oleh Microsoft dan IBM. WAV merupakan varian dari format bitstream RIFF dan mirip dengan format IFF dan AIFF yang digunakan komputer Amiga dan Macintosh. Baik WAV maupun AIFF kompatibel dengan sistem operasi Windows dan Macintosh. Walaupun WAV dapat menampung audio dalam bentuk terkompresi, umumnya format WAV merupakan audio yang tidak terkompres. Ciri-ciri file WAV antara lain : a. WAV adalah format audio standar Microsoft dan IBM untuk PC.
b. WAV biasanya menggunakan coding PCM (Pulse Code Modulation). c. WAV adalah data tidak terkompres sehingga seluruh sampel audio disimpan semuanya di harddisk. d. Software yang dapat menciptakan WAV dari Analog Sound misalnya adalah Windows Sound Recorder . e. WAV jarang sekali digunakan di internet karena ukurannya yang relative besar. Maksimal ukuran file WAV adalah 2 GB. 2. MIDI (Musical Intrument Digital Interface) MIDI adalah sebuah standar hardware dan software internasional untuk saling betukar data (seperti kode musik dan MIDI event) di antara perangkat musik elektronik dan komputer dari merek yang berbeda. Keuntungan dari file dibandingkan dengan file WAV adalah ukurannya yang sangat kecil. Kerugiannya adalah tidak semua suara bisa disimpan. Mengenai ukuran file MIDI bisa sangat kecil, karena terkait dengan teknik penyimpangan dari file itu sendiri. File MIDI membagi suara dalam beberap jalur yang masing-masing jalur penyimpanan kumpulan data. Setiap jalur berhubungan dengan suatu alat musik tertentu. Satu jalur disediakan untuk drum, satu jalur untuk gitar, satu jalur lagi untuk piano, dan sebagainya. Jadi bila data pada beberapa jalur ini dimainkan bersama akan dihasilkan suara yang mirip orchestra. Pada perkembangan hasil dari konsensus tentang MIDI, dibutuhkan format file yang digunakan menstandarkan distribusi file yang digunakan untuk komputer, yang bernama SMF (Sandar Midi file) yang akhirnya format ini (MID) digunakan untuk kompresi data audio yang diterapkan pada teknologi internet. Dengan melihat kelebihan dari file SMF ini yaitu filenya yang berukuran kecil sehingga akses file SMF ini bisa di-load (diaktifkan) dengan cepat tanpa harus menunggu sampai proses loading file selesai. Teknologi MIDI ini dikenal dengan istilah Stream Audio, seperti juga file RA (Real Audio) yang banyak digunakan pada teknologi internet. 3. MP3 (MPEG-1 Audio Layer 3) MP3 adalah salah satu format berkas pengodean suara yang memiliki kompresi yang baik (meskipun bersifat lossy) sehingga ukuran berkas bisa memungkinkan menjadi lebih kecil. Berkas ini dikembangkan oleh seorang insinyur Jerman Karlheinz Brandenburg. MP3 memakai pengodean Pulse Code Modulation (PCM). MP3 mengurangi jumlah bit yang diperlukan dengan menggunakan model psychoacoustic untuk menghilangkan komponen-komponen suara yang tidak terdengar oleh manusia.
AMIK INTeL Com GLOBAL INDO -
33
ISSN 2089 – 628X
PROSESOR Vol. IV Edisi 07 / Juni 2013
MP3 memakai sebuah transformasi hybrid untuk mentransformasikan sinyal pada ranah waktu ke sinyal pada ranah frekuensi : a. Filter polyhase quadrature 32-band b. 36 atau 12 MDCT (modified discrete cosine transform), dengan ukuran dapat dipilih secara independen untuk sub-band 0…1 dan 2..31 c. Postproses aliasing reduction Standar MPEG-1 tidak menspesifikasikan secara spesifik cara melakukan encode MP3. Sebaliknya, algoritma decode serta format file didefinisikan secara spesifik. Yang ingin mengimplementasikan encoder MP3 harus membuat sendiri algorima untuk menghilangkan bagian dari informasi pada file audio asal (atau pada representasi MDCT pada ranah frekuensi). Karena itu, maka cara encode setiap encoder MP3 berlainan dan menghasilkan kualitas hasil yang berlainan juga. Hal yang herus diperhatikan adalah dari semua encoder yang ada, terdapat encoder yang bagus untuk bitrate tinggi maupun encoder yang bagus untuk bitrate rendah. 2.3. Format Video digital Sebuah video digital terdiri dari frame-frame yang mana frame-frame tersebut dikompres menjadi sebuah file komputer yang hanya dijalankan menggunakan sebuah perangkat lunak multimedia player. Berdasarkan bentuk-bentuk kompresan dari file video digital tersebut, banyak bermunculan formatformat video digital yang ditawarkan kepada pengguna dengan kelebihan dan kekurangannya masing-masing. Adapun beberapa contoh dari format video digital yang sering dijumpai antara lain: 1. AVI (audio Video Interleave) AVI merupakan format video dan animasi yang digunakan windows dan berekstensi AVI. Sebagian besar Authoring pada windows mendukung format AVI juga didukung oleh Netscape. Kekurangan penggunaan AVI pada playback adalah pemakaian Macintosh, SGI dan Sun harus mengubah file ke format lain untuk playback. Format AVI memang masih kurang canggih, berbasis track dan kemampuan dalam melakukan sinkronisasi dengan Quick Time kurang bagus, codec untuk Quick Time pada Windows lebih berkembang daripada codec untuk AVI. 2. MPEG (Motion Picture Expert Group). MPEG merupakan file terkompresi lossy yang biasanya digunakan untuk format VCD dengan audio berformat MP3. MPEG terdiri dari
beberapa bagian : a. Synchronization and multiplexing of video and audio. b. Compression codec for non-interlaced video signals. c. Compression codec for perceptual coding of audio signals. MP1 or MPEG-1 part 3 Layer 1 (MPEG-1 Audio Layer 1) MP2 or MPEG-1 part 3 Layer 2 (MPEG-1 Audio Layer 2) MP3 or MPEG-1 part 3 Layer 3 (MPEG-1 Audio Layer 3) d. Procedure for testing conformance. e. Reference for testing f. Reference sofware MPEG-1 beresolusi 352 x 240 dan hanya mensupport progressive scan video. MPEG-2 digunakan untuk broadcast, siaran untuk directsatelit dan cable tv. MPEG-2 support interlace format. MPEG-2 digunakan dalam/pada HDTV dan DVD video disc. MPEG-4 digunakan untuk steaming, CD distribution, videophone dan broadcast television. MEG-4 mendukung digital rights management. 3. RMVB (Real Media Variable Bitrate) RMVB adalah sebuah format video digital yang dibuat oleh RealNetworks. Inc, yang memiliki kecepatan bit variabel perpanjangan dari multimedia container RealMedia format. RMVB biasanya digunakan untuk konten multimedia yang tersimpan secara lokal. File menggunakan format ini memiliki ekstensi file. RMVB. Kelebihan dari format RMVB adalah RMVB meninggalkan Bit Rate dan menggunakan Variable Bit Rate untuk kompres data video. File RMVB telah menjadi format populer untuk video digital karena mereka memiliki ukuran file yang lebih kecil dan kecepatan bit yang lebih rendah denagn kualitas yang lebih baik dibandingkan dengan AVI. 4. MKV MKV adalah salah satu format video yang mungkin sering dijumpai di internet. MKV merupakan alternatif format video selain beberapa format video digital seperti AVI, MPEG, 3GP, RMVB dimana masing-masing memiliki sifat dan kualitas yang berlainan. Format MKV biasanya digunakan untuk video dengan kualitas tinggi yang tidak semua PC mampu memutarnya dengan baik. Sebuah file video digital dalam format MKV memiliki beberapa bagian, yaitu :
AMIK INTeL Com GLOBAL INDO -
34
ISSN 2089 – 628X
PROSESOR Vol. IV Edisi 07 / Juni 2013
a. Video b. Audio c. Subtitel
untuk memperkecil besar dari ukuran file dan bandwidth sebuah telepon genggam. 3GP mempunyai 2 bentuk format standarnya yaitu :
Semua bagian ini terpisah, namun menjadi satu bagian didalam format MKV. Bagian-bagian ini nantinya akan digabungkan menggunakan sebuah codec MKV sehingga video digital dalam format MKV ini dapat dibaca dan dijalankan menggunakan perangkat lunak multimedia player.
a. 3GPP Merupakan format 3GP yang digunakan untuk GSM-based Phones, dengan filename extension 3gp.
5. WMV (Windows Media Video) WMV adalah format file video terkompresi yang dikembangkan oleh Microsoft. WMV, awalnya dirancang untuk aplikasi Internet Streaming, sebagai pesaing untuk RealVideo. File video digital dengan format WMV (*.wmv) menggunakan format pembawa ASF milik Microsoft. Berkas ini dapat dijalankan oleh perangkat lunak multimedia player seperti Windows Media player, Mplayer, VLC media player atau Media Player Classic. Beberapa player pihak ketiga juga ada untuk berbagai platform seperti Linux yang menggunakan implementasi FFMPEG untuk codec WMV. 6. FLV (Flash Video) Flash video (FLV) adalah video dengan format flash movie yang digunakan di Internet. FLV biasanya menjadi format standar yang digunakan oleh Youtube, Google Vidoe, Reuters.com, Yahoo! Video, MySpace, dan lain-lain. File Video digital dengan format FLV biasanya ukurannya jauh lebih kecil daripada video digital yang menggunakan format MPEG atau AVI. Namun tentu saja kualitas dan resolusi video digital dengan format FLV lebih rendah daripada jenis video digital lainnya. Untuk memutar file dengan format FLV maka dibutuhkan sebuah codec khusus. Hal ini terjadi karena format FLV tidak bisa dimainkan dengan pemutar musik seperti Winamp, Windows Media Player, dll. Berbeda dengan format MPEG, AVI, MP3, dan lain-lain, bisa dengan mudah dimainkan dengan pemutar musik tersebut. 7. 3GP (3GPP file format) Format video 3GP merupakan format video untuk mobile phone dengan kompresi yang tinggi sehingga memiliki ukuran yang kecil namun dengan kualitas gambar yang cukup lumayan. File 3GP adalah bentuk simple atau ringkas dari format MPEG-4 Part 14 (MP4), yang dibuat
b. 3GPP2 Merupakan format 3GP yang digunakan untuk CDMA-based Phones, dengan filename extension 3g2. Format video 3gp sekarang banyak sekali digunakan, karen file video dengan format ini (3GP) memiliki ukuran yang kecil dan cocok sekali bila ingin menyimpan koleksi video pada perangkat handphone. Dan kebanyakan sekarang hampir disemua HP yang mempunyai fitur multimedia, menggunakan format video 3GP. 2.4. Multimedia Converter Converter merupakan sebuah alat (tools) untuk mengubah suatu bentuk menjadi bentuk yang lain tanpa mengubah inti dari bentuk tersebut. Multimedia Converter merupakan sebuah alat untuk mengubah format dari sebuah file multimedia menjadi format yang berbeda sesuai dengan yang diinginkan. Tujuan dari konversi ini adalah untuk mendapatkan bentuk file multimedia yang dapat dijalankan dengan baik pada perangkat pemutar multimedia yang dimiliki oleh penggunaanya. Sebagai contoh, sebuah file multimedia dengan format MKV tidak dapat dibaca denganbaik pada PC seorang pengguna. Hal ini disebabkan karena pada PC tersebut tidak terinstall sebuah codec pendukung yang dapat menjalankan file multimedia dengan format MKV tersebut. Untuk mengatasi hal tersebut, konversi file MKV menjadi AVI merupakan salah satu jalan keluar yang paing baik . karena format AVI merupakan format standard yang didukung oleh sebagian besar multimedia player, hasil konversi file MKV tersebut menjadi AVI akan dapat dibaca dijalankan dengan baik. Dalam melakukan konversi sebuah file multimedia, frame-frame dari file sumber akan diekstrak dan kemudian disimpan menjadi format yang berbeda. Proses ini ditangani oleh dua bagian inti dari sebuah multimedia converter, yaitu : 1. Encoder Encoder adalah sebuah alat yang digunakan untuk mengubah sinyal seperti data atau bitstream ke dalam bentuk yang dapat diterima untuk transmisi data atau penyimpanan data. Umumnya ini dilakukan melalui suatu algoritma
AMIK INTeL Com GLOBAL INDO -
35
ISSN 2089 – 628X
PROSESOR Vol. IV Edisi 07 / Juni 2013
tertentu, terutama jika ada bagian yang berupa digital. 2. Decoder Decoder adalah suatu alat yang berfungsi mengembalikan proses encoding sehingga informasi aslinya bisa diterima. Kebalikan dari decoder adalah encoder. Proses encoding dan decoding sebuah file multimedia biasanya dipengaruhi oleh beberapa faktor, antara lain : a. b. c. d.
Jumlah bitstream dari file sumber Proteksi file sumber multimedia Bentuk kompresi file multimedia sumber Bentuk kompresi file multimedia tujuan
b. Mengurutkan karakter yang muncul berdasarkan frekuensinya. c. Mengurutkan karakter-karakter berdasarkan alfabet untuk karakter-karakter yang memiliki frekuensi sama. d. Menyusun binary tree berdasarkan aturan Huffman. 2. RLE (Run Length Encoding) Bentuk kompresi data yang sangat sederhana. RLE bekerja dengan cara menuliskan karakterkarakter sama yang muncul berurutan dengan hanya menuliskan jumlah kemunculannya diikuti dengan karakter tersebut. RLE tidak memerlukan kamus data 3. Lempel Ziv
2.5. FFMPEG (Fast Forward Moving Picture Experts Group) FFMPEG adalah sebuah library yang dapat merekam, mengkonversikan dan streaming audio dan video digital dalam berbagai format. FFMPEG merupakan aplikasi command line yang terdiri dari kumpulan pustaka perangkat lunak bebas/ open source. Termasuk libavcodec, library untuk audio codec / video codec yang digunakan oleh beberapa proyek lain, dan libavformat, library untuk audio/video mux container dan demux container. Nama proyek yang berasal dari grup video standar MPEG, di tambahkan “FF” fast forward”. Proyek ini dimulai oleh Fabric Bellard (menggunakan nama samaran “Gerard Lantau”), dan saat ini dikelola oleh Michael Niedermayer. Banyak pengembang FFMPEG merupakan bagian dari proyek MPlayer, FFMPEG di-hosting pada server proyek MPlayer. FFMPEG dikembangkan pada Linux, tetapi dapat dikomplikasi di banyak sistem operasi, termasuk Apple Inc Mac OS X, Microsoft Windows dan AmigaOS. Sebagai besar platform komputasi dan set instruksi arsitektur microprocessor juga di dukung, seperti x86 (IA-32 dan x86-64), PPC (PowerPC), ARM, DEC Alpha, SPARC, dan arsitektur MIPS. Dalam penggunaannya, FFMPEG dapat diintegrasikan pada bahasa pemrograman seperti C++, Visual Basic atau langsung mengkesuki perintah-perintahnya (bila menggunakan system operasi Linux). Algoritma FFMPEG antara lain : 1. Huffman Code Untuk mengkompresi data secara lossless yang ditemukan oleh David A Huffman yang dipublikasikan pada tahun 1952. Algoritma huffman bekerja dengan cara sebagai berikut: a. Menghitung frekuensi kemunculan karakterkarakter pada sebuah file.
Lempel Ziv adalah suatu algoritma kompresi data yang menggunakan dictionary data dalam pengkompresiannya. Lempel Ziv bekerja secara on-the-fly, yaitu penyusunan dictionary dilakukan secara bersamaan dengan penulisan codeword. Datadikompresi sesuai dengan dictionary yang dimiliki, jika sebuah string belum terdapat dalam dictionary yang dimiliki, maka string tersebut akan diindekskan ke dalam dictionary-nya. Sehingga dictionary akan terus bertambah jika semakin banyak string yang belum dimiliki.
III. PERANCANGAN APLIKASI 3.1. Metode Penyelesaian Masalah Perancangan bertujuan untuk membangun sebuah sistem yang dapat melakukan konversi terhadap file multimedia dengan jenis AVI, FLV, MPEG, WAV dan MP3 dengan menggunakan FFMPEG. Untuk dapat melakukan konversi file multimedia ini, penulis menggunakan perintah-perintah yang terdapat dalam libarary libavcode, yang berisi perintah-perintah untuk melakukan konversi file multimedia. Adapun perintah-perintah libavcode yang dimanfaatkan dalam perancangan perangkat lunak multimedia converter ini adalah sebagai berikut : 1. Perintah Ekstraksi Bitstream Perintah ekstraksi bitstream digunakan pada proses encoding file multimedia. Perintah ini diakses dengan cara mengetikkan syntax CreateProcess (VideoBitrate, Extract). Createprocess merupakan perintah dasar pada libav.dll untuk memulai suatu proses. Videobitrate merupakan perintah untuk melakukan proses pembacaan bitrate dari sebuah file multimedia. Extract merupakan salah satu sub
AMIK INTeL Com GLOBAL INDO -
36
ISSN 2089 – 628X
PROSESOR Vol. IV Edisi 07 / Juni 2013
perintah dari videobitrate yang digunakan untuk melakukan ekstraksi terhadap bitstream file multimedia hasil pembacaan. 2. Perintah Konversi
3.2.2. Perancangan Antarmuka Program Adapun bentuk antarmuka dari perangkat lunak multimedia converter yang penulis rancang seperti terlihat pada Gambar 3.1.
Dalam perancangan perangkat lunak multimedia converter ini, ada dua perintah konversi yang digunakan, yaitu perintah konversi yang digunakan, yaitu perintah createpipe dan perintah videocodec. Perintah createpipe merupakan perintah yang berfungsi untuk menyediakan sebuah wadah konversi. Tanpa disediakannya wadah konversi, proses konversi (decoding) tidak dapat berjalan. Perintah ini diakses dengan mengetikkan syntax Createprocess (Createpipe, <jenis format yang diinginkan>). Perintah videocodec merupakan perintah untuk melakukan decoding bitstream file multimedia yang telah diekstrak kedalam wadah konversi yang telah disediakan. Perintah ini diakses dengan mengetikkan syntax creatprocess (videocodec
). 3. Perintah Mengakhiri Proses Dalam menggunakan library libav.dll, setiap proses yang diakses harus diakhiri. Hal ini untuk menghindari kerusakan file hasil konversi akibat dari proses yang masih berada pada memori sistem. Untuk mengakhiri proses-proses yang diakses, dapat dilakukan dengan mengetikkan perintah TerminateProcess (). Misalnya, untuk mengakhiri proses ekstraksi bitsream, dapat dilakukan dengan mengetikkan syntax terminateprocess (videocodec). 3.2. Perancangan Program Perangkat lunak multimedia converter ini dirancang dengan menggunakan bahasa pemrograman Microsoft Visual Basic 6.0. Adapun tahapan perancangan program yang penulis lakukan adalah perancangan fasilitas-fasilitas yang akan ditawarkan dalam perangkat lunak multimedia converter dan perancang antaramuka program. 3.2.1. Perancangan Fasilitas Program Adapun beberapa fasilitas yang dapat digunakan oleh user pada perangkat lunak multimedia converter yang penulis rancang ini antara lain : 1. Fasilitas untuk menginputkan file multimedia sumber dan file multimedia tujuan yang akan di konversi formatnya. 2. Fasilitas untuk menentukan format tujuan konversi yang terbagi menjadi dua bagian yaitu format Video dan format Audio. 3. Fasilitas untuk mengkonversikan file multimedia jenis video menjadi audio (mengekstrak audio dari file video).
Gambar 3.1. Perancangan Antarmuka Program Keterangan gambar 3.1. 1.
Label File Name : Berfungsi untuk menampilkan lokasi file multimedia sumber. 2. Command Button Browse : Berfungsi untuk menampilkan jendela pemilihan file jika diklik. 3. Drive List DrvTujuan : Berfungsi untuk memilik drive lokasi penyimpanan hasil konversi. 4. Directory list DirTujuan : Berfungsi untuk memilih directory lokasi penyimpanan hasil konversi. 5. Combo Box Format : Berfungsi untuk memilih format tujuan konversi multimedia. 6. Label VidCodec : Berfungsi untuk menampilkan codec video format tujuan konversi. 7. Label VidRate : Berfungsi untuk menampilkan bitrate video format tujuan konversi. 8. Label VidFrame : Berfungsi untuk menampilkan framerate video format tujuan konversi. 9. Check Box Vidsame : Berfungsi untuk mengaktifkan mode pengkonversian dengan format yang sama dengan sumber. 10. Check Box Vidlnterlace : Berfungsi untuk mengaktifkan mode pengkonversian dengan format yang lebih baik dari sumber.
AMIK INTeL Com GLOBAL INDO -
37
ISSN 2089 – 628X
PROSESOR Vol. IV Edisi 07 / Juni 2013
11. Check Box AudCodec : Berfungsi untuk menampilkan codec audio format tujuan konversi. 12. Check Box AudRate : Berfungsi untuk menampilkan bitrate audio format tujuan konversi. 13. Check Box AudSample : Berfungsi untuk menampilkan samplerate audio format tujaun konversi. 14. Option Button Mono : Berfungsi untuk mengaktifkan pengkonversian audio dalam format mono. 15. Option Button Batal : Berfungsi untuk mengaktifkan pengkonversian audio dalam format stereo. 16. Command Button Batal : Tombol yang muncul ketika proses konversi berlangsung. Berfungsi untuk menghentikan proses konversi multimedia yang sedang dilakukan. 17. Command Button Konvert : Berfungsi untuk memulai proses konversi file multimedia.
Gambar 3.2. Rancangan Diagram Konteks Program 2. Diagram Level 0 Program Diagram level 0 penulis gunakan untuk menjelaskan secara rinci proses yang terjadi pada sistem melakukan proses konversi file multimedia. Adapun bentuk rancangan diagram level 0 perangkat lunak multimedia converter ini seperti terlihat pada Gambar 3.3
3.3. Langkah-langkah Algoritma Program Adapun cara kerja sistem dari Perangkat Lunak Multimedia Converter ini adalah sebagai berikut :
Start Tampilkan Form Konverter Input file sumber Simpan nama file sumber dalam variabel sumber Input lokasi penyimpanan file tujuan Simpan lokasi penyimpanan dalam variabel tujuan Pilih jenis format file tujuan Coding pemilihan type convert yang akan kita dipilih AVC1 adalah Audio Video Coverter yang dideklarasikan dari file class yang sudah dibuat sebelumnya.
Gambar 3.3 Rancangan Diagram Level 0 Program 3.5. Flowchart Setelah melakukan perancangan program, langkah selanjutnya penulis membangun sebuah alur proses kerja sistem. Alur kerja ini dibangun dengan menggunakan flowchart seperti ditunjukkan pada Gambar 3.4.
3.4. Data Flow Diagram (DFD) DFD penulis gunakan untuk menjelaskan proses yang dilakukan sistem dalam melakukan konversi file multimedia. DFD yang penulis rancang terdiri dari diagram konteks dan diagram level 0. 1. Diagram Konteks Program Diagram Konteks penulis gunakan untuk menjelaskan secara garis besar proses yang terjadi pada saat sistem melakukan proses konversi file multimedia. Adapun bentuk rancangan diagram konteks perangkat lunak multimedia converter ini seperti terlihat pada Gambar 3.2.
AMIK INTeL Com GLOBAL INDO -
38
ISSN 2089 – 628X
PROSESOR Vol. IV Edisi 07 / Juni 2013
IV. IMPLEMENTASI
4.4. Hasil Pengujian Program
4.1. Tampilan Jendela Utama Jendela Utama merupakan tampilan awal dari perangkat lunak multimedia converter. Jendela utama berisi tombol, combo box dan option button yang dapat digunakan oleh user untuk berinteraksi dengan perangkat lunak. Adapun tampilan jendela utama seperti terlihat pada Gambar 4.1.
Setelah hasil tampilan diperoleh, penulis melakukan pengujian terhadap perangkat lunak multimedia converter ini untuk menemukan masalah-masalah yang mungkin terjadi. Adapun metode pengujian sistem yang penulis lakukan adalah metode statis (static technique) dimana langkah-langkah pengujiannya adalah sebagai berikut : 1. Melakukan Pengujian Eksekusi Program Dalam tahap ini, penulis melakukan pengujian eksekusi program dengan melakukan double click pada file multimedia converter.exe untuk menguji apakah program yang dirancang telah dapat dieksekusi dengan baik. Hasil yang diperoleh adalah program dapat dieksekusi dengan baik seperti terlihat pada Gambar 4.4.
Gambar 4.1. Tampilan Login 4.2. Tampilan Jendela Pilih File Sumber Jendela Pilih File Sumber merupakan tampilan yang muncul ketika user menekan tombol “…” yang berfungsi untuk memilih file multimedia sumber yang akan dikonversi. Adapun tampilan Jendela Pilih File Sumber seperti terlihat pada Gambar 4.2.
Gambar 4.4. Pengujian Eksekusi Program 2. Melakukan Pengujian Konversi File Video
Gambar 4.2. Tampilan Jendela Pilih File Sumber
Dalam tahap ini, penulis melakukan uji coba konversi file video dengan format FLV yang akan dikonversi kedalam bentuk MPEG untuk menguji apakah program telah dapat bekerja dengan baik dalam hal mengkonversi file multimedia jenis video. Hasil yang diperoleh adalah program dapat melakukan konversi file tersebut dengan baik, yang mana proses konversinya seperti terlihat pada Gambar 4.5.
4.3. Tampilan Jendela Konversi Multimedia Jendela Konversi Multimedia merupakan tampilan yang muncul ketika user menekan tombol Convert untuk memulai proses konversi file multimedia yang diinginkan. Adapun tampilan Jendela Konversi Multimedia seperti terlihat pada Gambar 4.3.
Gambar 4.5. Pengujian Eksekusi File Video 3. Melakukan Pengujian Konversi File Audio
Gambar 4.3. Tampilan Jendela Konversi Multimedia
Dalam tahap ini, penulis melakukan uji coba konversi file video dengan format MP3 yang akan dikonvesi kedalam bentuk WAV untuk
AMIK INTeL Com GLOBAL INDO -
39
ISSN 2089 – 628X
PROSESOR Vol. IV Edisi 07 / Juni 2013
menguji apakah program telah dapat bekerja dengan baik dalam hal mengkonversi file multimedia jenis audio. Hasil yang diperoleh adalah program dapat melakukan konversi file tersebut dengan baik, yang mana proses konversinya seperti terlihat pada Gambar 4.6.
Tabel 4.1 Pengujian dan Perbandingan Konversi File Audio dan Video Pengujian Konversi File Video
Format Asal
Format Tujuan
Byte Awal
Byte Hasil
Persentase
AVI
MPEG
81 kb
1048 kb
+ 92.27 %
FLV
AVI
9.673 kb
66.397 kb
+85.43 %
FLV
MPEG
9.673 kb
24.234 kb
+60.08 %
Pengujian Konversi File Audio
Gambar 4.6. Pengujian Eksekusi File Audio 4. Melakukan Pengujian Konversi Dengan Custom Format Dalam tahap ini, penulis melakukan uji coba konversi file video dengan menggunakan mode custom format. Mode ini berfungsi untuk melakukan konversi file multimedia sesuai dengan format yang ditentukan sendiri oleh user. Pada mode ini, user dapat memilih konfigurasi video dan audio dari output konversi yang diinginkan. Hasil yang diperoleh adalah program dapat melakukan konfersi file tersebut dengan baik, yang mana proses konversinya seperti terlihat pada Gambar 4.7.
Format Asal
Format Tujuan
Byte Awal
Byte Hasil
Persentase
WAV
MP3
10.977 kb
997 kb
-91.09 %
MP3
WAV
7.843 kb
32.068 kb
+75.54 %
4.5. Pembahasan Berdasarkan hasil tampilan program dan hasil pengujian terhadap perangkat lunak multimedia converter ini, penulis menemukan beberapa kelebihan dan kekurangan dari perangkat lunak multimedia converter yang dihasilkan. Adapun kelebihan dari sistem ini adalah : 1. Perangkat lunak multimedia converter ini dapat melakukan konversi file multimedia tipe audio dan video. 2. Proses konversi file multimedia tergolong cepat dibandingkan perangkat lunak multimedia converter sejenis. 3. Perangkat lunak multimedia converter ini dapat mengekstrak audio dari sebuah file multimedia video. Sedangkan kelemahan dari sistem ini adalah :
Gambar 4.7 Pengujian Konversi dengan Custom Format Berdasarkan pengujian-pengujian yang dilakukan hasil yang diperoleh cukup baik. Dengan demikian, perangkat lunak Multimedia Converter yang dirancang telah dapat bekerja sesuai dengan apa yang diharapkan sebelumnya.
1. Perangkat lunak multimedia converter ini hanya dapat mengekstrak audio dari file video dengan output berupa format WAV saja. 2. Perangkat lunak multimedia converter ini tidak dilengkapi dengan fasilitas untuk memanipulasi ukuran file multimedia tujuan. Besar ukuran file hasil konversi secara otomatis di generate oleh sistem berdasarkan codec yang dipilih user.
Sedangkan hasil pengujian perangkat lunak Multimedia Converter ini dapat dilihat pada Tabel 4.1.
AMIK INTeL Com GLOBAL INDO -
40
ISSN 2089 – 628X
PROSESOR Vol. IV Edisi 07 / Juni 2013
DAFTAR PUSTAKA Ian Chandra K, 2003, “Utiliti Audio/Video”, PT. Elex Media Kompotindo, Jakarta Jogiyanto, H.M., 2005, Analisis & Desain Sistem Informasi Pendekatan Terstruktur Teori Dan Praktek Aplikasi Bisnis, Edisi ke-2, Penerbit Andi, Yogyakarta. Jogiyanto, H.M., 2000, Pengenalan Computer, Penerbit Andi Offset, Yogyakarta. Multimedia Education , 1993, McGraw-Hill’s Multimedia: Making It Work, Bob Goldstein, New York, USA Ramadhan, Arief, 2004, Visual Basic 6.0, Penerbit Elex Media Komputindo, Jakarta. Yuswanto, 2002, “Visual Basic 6.0 Pemprograman Grafis dan Multimedia”, Prestasi Pustaka, Surabaya.
AMIK INTeL Com GLOBAL INDO -
41