Kamis, 26 Maret 2009

FFmpeg Tutorial

Selayang Pandang

FFmpeg merupakan salah satu perangkat lunak/program yang dapat mengkonversi berbagai macam format video dan audio. Pada awalnya FFmpeg dibangun dan dikembangkan untuk sistem operasi GNU/Linux. Tapi sekarang ia juga tersedia di dalam banyak sistem operasi, termasuk OS X, Windows, dan Amiga.

Kelebihan yang dimiliki program ini ialah kecepatan, ketelitian, dan keakuratan pada saat melakukan mengkonversi. Di samping itu, pengguna juga bisa mengkustomisasi output hasil konversi. Sehingga format dari hasil konversi tadi benar-benar sesuai yang diinginkan.

Pengoperasian FFmpeg dilakukan melalui
command prompt, yakni dengan mengetik perintah 'ffmpeg' dan parameter-parameter di belakangnya. Bantuan mengenai bagaimana cara mengoperasikan FFmpeg dapat diketahui dengan cara mengetik perintah sebagai berikut:

ffmpeg -h



Dasar Pengoperasian

FFmpeg dapat dioperasikan dengan cara yang sangat sederhana. Contoh di bawah ini adalah cara bagaimana mengkonversi video dengan format mp4 menjadi format avi.

ffmpeg -i input.mp4 -f avi output.avi

Opsi '-i' adalah parameter untuk input. File 'input.mp4' dijadikan sebagai file yang akan dikonversi. Opsi '-f' adalah perintah untuk format output. Artinya video input dengan format mp4 dikonversi ke format avi. Yang terakhir adalah nama file yang diberikan oleh pengguna (user), yaitu 'output.avi'. User memiliki kebebasan untuk menentukan nama file sebagai output. Yang terpenting adalah ekstensi file '.avi' harus diikutsertakan jika anda adalah pengguna Windows. Tetapi jika anda adalah pengguna Linux, tidak mengikut sertakan ekstensi '.mpg' pun tidak jadi soal.

FFmpeg juga mampu membuat output file benar-benar memiliki kualitas yang sama dengan input file. Dengan menambahkan perintah '-sameq' maka output file akan benar-benar mirip dengan input filenya. Tetapi dengan format yang berbeda.


ffmpeg -i input.mp4 -f avi -sameq output.avi


Adakalanya kita ingin file output sesuai dengan apa yang kita inginkan. Misalnya kita menginginkan video atau audio bitrate tertentu. Ini bisa dilakukan dengan menambah opsi '-b' untuk video bitrate dan opsi '-ab' untuk audio bitrate, seperti contoh berikut ini:

ffmpeg -i input.mp4 -f mpeg2video -b 1800k ab 128k output.mpg

Opsi '-b 1800k' memerintahkan supaya
video output yang dighasilkan memiliki kualitas video bitrate sebesar 1800 Kb. '-ab 128k' hampir sama seperti sebelumnya, hanya saja perintah ini diperuntukan untuk kualitas suara. Jadi perintah ini dimaksudkan supaya audio outputnya memiliki bitrate sebesar 128 Kb.

FFmpeg juga bisa digunakan untuk menghasilkan output untuk keperluan pembuatan VCD, SVCD, maupun DVD. Untuk keperluan-keperluan tadi, FFmpeg menyediakan perintah yang sederhana. Secara otomatis format outputnya disesuaikan dengan kebutuhan untuk membuat format-format tadi. Contoh pembuatan format untuk dimuat dalam kepingan VCD, SVCD, dan DVD:

ffmpeg -i input.mp4 -f vcd output.mpg
ffmpeg -i input.mp4 -f svcd output.mpg
ffmpeg -i input.mp4 -f dvd output.mpg


Pengkonversian sebuah format video menjadi format VCD, SVCD, dan DVD bisa juga dilakukan secara manual, yaitu dengan cara memasukan pengaturan parameter yang lebih lengkap. Parameter-parameter tersebut adalah video dan audio bitrate; frame per detik (fps); resolusi layar.



Format VCD

Untuk NTSC:
ffmpeg -i input.mp4 -vcodec mpeg1video -b 1150k -r 29.97 -acodec mp3 -ab 224k -ar 44100 -s 352x240 output.mpg

Untuk PAL/SECAM:


ffmpeg -i input.mp4 -vcodec mpeg1video -b 1150k -r 25.00 -acodec mp3 -ab 224k -ar 44100 -s 352x288 output.mpg




Format SVCD

Untuk NTSC:
ffmpeg -i input.mp4 -vcodec mpeg2video -b 2600k -r 29.97 -acodec mp3 -ab 384k -ar 44100 -s 480x480 output.mpg

Untuk PAL/SECAM:


ffmpeg -i input.mp4 -vcodec mpeg2video -b 2600k -r 25.00 -acodec mp3 -ab 384k -ar 44100 -s 480x576 output.mpg




Format DVD

Untuk NTSC:
ffmpeg -i input.mp4 -vcodec mpeg2video -b 6000k -r 29.97 -acodec ac3 -ab 224k -ar 44100 -s 720x480 output.mpg

Untuk PAL/SECAM:

ffmpeg -i input.mp4 -vcodec mpeg2video -b 6000k -r 25.00 -acodec ac3 -ab 224k -ar 44100 -s 720x576 output.mpg


Angka-angka di atas tentunya relatif. Jika kita sering membeli kepingan film DVD, video ataupun audio bitrate yang dimiliki tiap-tiap keping bisa berbeda-beda.




Memilah Audio dan Video

Fitur lain yang dimiliki oleh FFmpeg adalam kemampuan memilah audio dan video. Kita bisa saja hanya mengambil audio channel dari sebuah video file. Kemudian audio channel tadi dijadikan file tersendiri, misalnya mp3.

ffmpeg -i input.flv -vn -acodec pcm_s16le -ab 224k -ar 44100 output.wav


Atau kita hanya ingin mengambil video channel-nya saja.

ffmpeg -i input.flv -an -vcodec mpeg1video -b 1800k -r 25.00 output.mpg

Perintah '-vn' artinya adalah menyingkirkan video channel. Dengan demikian kita hanya mengambil audionya saja. Sebaliknya perintah '-an' berguna untuk menyingkirkan audio channel.



Memetakan Channel

Video yang bersumber dari DVD seringkali memiliki lebih dari 2 channel. Karena DVD sering memuat multi bahasa. Sehingga kita bisa merubah film ke dalam bahasa yang berbeda-beda pada saat film sedang diputar. Untuk mengkonversi 1 channel atau lebih dari sebuah video file, gunakanlah parameter '-map'.

ffmpeg -i video.vob -map 0:0 -map 0:3 -vcodec mpeg4 -b 1800k -r 25.00 -acodec mp3 -ab 224k -ar 48000 video.avi

Perintah diatas dimaksudkan untuk mengkonversi channel 0 ke dalam format mp4 dan channel 3 dikonversi ke dalam format mp3. Dimana channel 0 dari file 'video.vob' berisi video dan channel 3 berisi audio. Kemudian kedua channel tadi digabungkan ke dalam file 'video.avi'.

FFmpeg juga bisa digunakan mengkonversi video dan audio yang berasal dari sumber file yang berbeda menjadi satu file output.

ffmpeg -i video.mpg -i audio.mp2 -map 0:0 -map 1:0 -vcodec mpeg4 -b 1800k -r 25.00 -acodec mp3 -ab 224k -ar 44100 video.mp4

Tentu saja saya tidak dapat menuliskan seluruh fitur yang dimiliki FFmpeg di sini. Karena fitur-fitur yang dimiliki oleh FFmpeg teramat sangat banyak. Tulisan ini hanyalah sebagian kecil dari keseluruhan fiturnya. Tetapi dengan tulisan ini saya berharap para pembaca dapat berimprovisasi sendiri dalam penggunaannya.

Software ini bisa di-download di alamat: http://www.videohelp.com/tools/ffmpeg

11 komentar:

Iwan mengatakan...

Wah menarik banget nih.. Konversi lewat console atau command prompt. Saya akan nyobain ah...

Anonim mengatakan...

cukup bagus tutor nya...tapi ...kalau mau ambil nada sebanyak 3 menit dari sebuah file mp3 di menit ke 2 misalnya gimana..? aku mau ambil nada ditengah tengah lagu please...ya...??

Worm Collector mengatakan...

Halo Anonim. FFmpeg jg bisa digunakan buat ngambil sepotong video atau suara. Dengan menambahkan command -ss, yang artinya dimulai dari... Dan perintah -t, yang artinya durasi. Misalnya kita mau mengambil film dari menit ke 1:30 selama 5 menit. Caranya hanya tinggal menyelipkan perintah berikut sebelum output file: -ss 00:01:30.000 -t 00:05:00.000

danang mengatakan...

mas tanya, beda ffmpeg sama mencoder apa ? trus punya command nya ffmpeg yang lengkap ga :D boleh sharing ga ? thanks . .

diniFitriyani. mengatakan...

bukanya di http://ffmpeg.org ya?
convertnya secara online donk?
klo emg buka dari sana langkah2nya apa aja?bisa mengurangi besarnya file film?
nggak ngerti nih,,,,

mohon penjelasannya mas,,thanks

Worm Collector mengatakan...

@danang:
mencoder itu adalah bagian dari paket mplayer. Paket mplayer selalu disertakan dalam linux repository. Sementara ffmpeg padalah program yang berdiri sendiri. Bukan bagian dari paket video player spt mencoder. Tapi keduanya sama2 handal kok. Saya jg menggunakan baik mencoder maupun ffmpeg. Command ffmpeg yg lengkap bagi pengguna linux bisa dilakukan dgn cara sbb:

man ffmpeg

Untuk bantuan ringkasnya bs dgn mengetik:

ffmpeg -h

Untuk mengetahui format apa saja yang bisa dikonversi oleh ffmpeg ketik:

ffmpeg -formats

Worm Collector mengatakan...

@diniFitriyani:

Ya betul sekali. Alamatnya adalah:

http://ffmpeg.org.

Untuk mendownloadnya ada di halaman ini:

http://ffmpeg.org/download.html.

Keterangan lebih lengkap bisa dilihat disini:

http://ffmpeg.org/documentation.html

Tapi ffmpeg jg menyediakan versi mudahnya. Dia sudah dilengkapi dengan user unterface (GUI). Jd pengoperasiannya hanya tinggal mengklik saja. Tp fitur command prompt-nya tetap ada dan masih bisa digunakan. Alamatnya disini:

http://winff.org/html_new/

Kalau kita mau membuat situs video, ffmpeg jg memungkinkan untuk konversi video secara online. Saat ini php5 sudah mendukung fitur ffmpeg. Dengan library yg disebut sebagai php5-ffmpeg. Source-nya bs didapatkan disini:

http://ffmpeg-php.sourceforge.net/

Tetapi kl anda pengguna linux, php5-ffmpeg sudah disertakan dalam repository.

Untuk memperkecil besarnya file, anda bisa mengkonversinya menjadi format divx, xvid, atau mp4. Format mp4 adalah format yg digunakan oleh youtube untuk high quality video-nya.

Anonim mengatakan...

minta script ffmpeg untuk konvert dari semua format ke flv donk, tapi hight kuality..
trus konvert semua dari semua format ke mp4..
makasi

Worm Collector mengatakan...

Konversi ke flv dgn video codec h.264 & audio codec aac (format youtube):

ffmpeg -i video.mov -f flv -vcodec libx264 -acodec libfaac -sameq -ab 384k video.flv


Konversi ke mp4 dgn video codec h.264 & audio codec aac (format youtube juga):

ffmpeg -i video.mov -f mp4 -vcodec libx264 -acodec libfaac -sameq -ab 384k video.flv

sandy mengatakan...

mas, kalo video udh di muted / dipisah dng audionya trus videonya mau digabung dng audio yg lain kodenya apa ya?

trims

Anonim mengatakan...

Gan help dong, saya punya video original, semacam tutorial gitu, bisa gak kalo kita kash copyright didalamnya? Biar ga dibajak orang. Please... tutornya buat ngash copyright.. afriliairfan@gmail.com kirim ya gan