Menambahkan Border di Video dengan Avisynth
Terkadang kita mendapatkan video wide screen, misal dengan AR 16:9 atau 2.35:1, dan kita ingin video yang full-screen itu jadi 4:3 namun tanpa mengubah proporsi gambarnya. Untuk ini kita perlu menambahkan border di atas dan di bawah gambar video tersebut (jadi letterbox). Untuk melakukannya kita bisa menggunakan filter pada editor video yang biasa kita gunakan, seperti Virtualdub atau Avidemux. Namun kita juga bisa menggunakan script Avisynth, sehingga kita bisa langsung melihat video tersebut dengan border tanpa harus melalui proses encoding.Untuk menambahkan border ke video sangatlah mudah, kita tinggal menambahkan satu fungsi di skrip Avisynth:
AddBorders(clip, int left, int top, int right, int bottom, int “color”)
Parameter clip dari fungsi tersebut tidak perlu diisi, karena sudah default video yang kita proses. Contoh skrip .avs sederhana untuk menambahkan border pada video 720×404 sehingga menjadi 720×540 (4:3) adalah sebagai berikut:
AVISource("video.avi")
AddBorders(0, 68, 0, 68, $000000)
Dari skrip di atas, kita menggunakan nilai 68 untuk tinggi border pada top dan bottom dari video, dengan perhitungan:
(540 – 404) / 2 = 136 /2 = 68
Untuk warna kita menggunakan nilai $000000, yaitu warna hitam. Kita bisa saja tidak mengisi parameter ini kalau warna yang diinginkan adalah hitam (lihat contoh berikutnya) karena nilai ini adalah nilai default.
Dimensi video sumber (720×404 pada contoh di atas) adalah dimensi video yang ter-encode di file videonya. Terkadang kita juga menemukan video anamorphic, yang AR gambarnya berbeda pada video yang ter-encode dengan AR yang ditampilkan (DAR). Bisa jadi kita melihat video dengan DAR 16:9 padahal videonya adalah 720×480 misalnya. Untuk video semacam ini kita perlu me-resize dulu videonya sebelum menambahkan border-nya. Contoh skrip .avs untuk video 720×480 DAR 16:9 menjadi DAR 4:3 adalah sebagai berikut:
DirectShowSource("video.mkv")
Lanczos4Resize(720, 404)
AddBorders(0, 68, 0, 68)
Dari skrip tersebut kita me-resize videonya menjadi 720×404 terlebih dahulu sebelum menambahkan border. Fungsi resize yang kita pakai di sini adalah Lanczos4Resize.
Dengan menggunakan file .avs tersebut, kita bisa meng-encode video yang sudah ditambahkan border tersebut menggunakan Avidemux+avsproxy_gui, Virtualdub, VirtualDubMod, MeGUI, dll. Kita juga bisa langsung melihat video tersebut dengan Media Player Classic (MPC) dengan cara klik kanan pada file .avs dan pilih play. Untuk dapat melakukan ini, pastikan Avisynth dan MPC sudah terinstall dengan benar di sistem operasi anda. Catatan: Yang di-play adalah video lewat script-nya, file videonya sendiri tidak mengalami perubahan. Untuk melihat video dengan subtitle, samakan nama file subtitle dengan nama file .avs nya. Selamat mencoba.
nice tut, tak coba.
pake avisynth ya? hehehe a ga pandai makai nya gw, tapi thanks
adyt
10 May 2009 at 4:52
sehingga kita bisa langsung MELIHAT video tersebut dengan border tanpa harus melalui proses encoding
…MELIHAT..maksunya border hanya timbul kalau ketika menonton nya + scrip, tampa scrip file nya tetap tampa boreder ya mas?
sorry mas kalau aku banyak nanya2
adyta
12 May 2009 at 19:58
iya, maksudnya seperti itu. Jadi yang di-play adalah video lewat script-nya, file videonya sendiri nggak berubah sama sekali.
Sagippio
14 May 2009 at 15:10
lama ga di update nih site
numpang tanya apa avisynth worked untuk di playback pada perangkat dvd player
ayuken
1 August 2010 at 1:35
iya, udah ga aktif di dunia per-encodingan…
AFAIK, avisynth lebih banyak digunakan untuk video processing pada waktu melakukan encoding video, dan bukan untuk playback. Jadi sejauh yang saya tahu, tidak ada hardware player yang support avisynth.
Contoh implementasi penambahan blackbox untuk encoding: untuk menambahkan subtitle karaoke yang tidak mengganggu bagian gambar video.
Sagippio
1 August 2010 at 17:16
bisa lebih detil (req tutor nya) menjelaskan bagian ini: “Dengan menggunakan file .avs tersebut, kita bisa meng-encode video yang sudah ditambahkan border tersebut menggunakan Avidemux+avsproxy_gui”
apa kalau menggunakan trik diatas proses encoding bisa lebih cepat? kadang aq perlu melakukan penambahan blackborder pada file movie yang sudah ada.dalam bayangan q proses encoding nya jadi jauh lebih cepat karena tidak ada proses ulang penghitungan pada file utama nya karena hanya menanbahkan blackborder saja.aq dah coba pakai avidemux option filter untuk menambahakan blackborder tidak akan bisa aktip jika kita pilih video copy
ayuken
3 August 2010 at 22:32
kalau cuma di play di pc aq pakai kmplayer sudah bisa menambah kah black border di bagian atas atau bawah film nya
ayuken
1 August 2010 at 1:38
@ayuken
kalau yang dimaksud lebih cepat adalah dengan pilihan “copy” di avidemux atau pilihan “direct stream copy” di virtualdub, maka jawabannya: tidak bisa. Pada dasarnya dua mode tersebut tidak melakukan encoding.
Setiap perubahan pada video yang bersifat permanen membutuhkan proses encoding. Menambahkan black border yang bersifat permanen juga harus melalui proses encoding.
Sagippio
4 August 2010 at 14:32
hee… iya memang ga bisa, kira2 cara apa yg bro tempuh jika ingin menambah black border secara permanen dengan pertimbangan utama:
1.qualitas (diusahankan tidak berubah),
2.kecepatan
3.dan yang terakhir size file ( toleransi kira2 max 25% lebih besar dari size sumber)
ayuken
5 August 2010 at 7:41
Terdapat trade-off pada waktu encoding antara ketiganya:
1. Untuk menjaga kualitas, gunakan quantizer mode (bisa juga pake average quality utk AVC/H.264), set nilai ke <=22 utk AVC atau <4 utk Xvid/DivX.
2. Untuk kecepatan encoding, gunakan Xvid/DivX daripada AVC/H.264.
3. Untuk memperoleh ukuran file sesuai keinginan, gunakan mode N-pass, hitung bitrate dengan bitrate calculator.
Rekomendasi: gunakan AVC/H.264 mode average quality dengan Q=22. Meskipun agak lambat, kualitas gambar dan ukuran file relatif terjaga.
Sagippio
5 August 2010 at 12:59
tanya kk aq baru coba pakai vdubmod karena ingin meniru setting parameter seperti yang ku lihat di file movie pakai mediainfo ini bisa kk bantu untuk settingan nya
mediainfo:
General
Complete name : E:\movies\pocong kamar sebelah.avi
Format : AVI
Format/Info : Audio Video Interleave
File size : 500 MiB
Duration : 1h 17mn
Overall bit rate : 905 Kbps
Movie name : Pocong kamar sebelah
Director : http://www.duasatu.com | http://www.samuku.com | http://www.sharingarena.com
Subject : ini di upload untuk memperkenalkan cinema Indonesia di dunia Internasional, juga guna mengobati rasa rindu kerabat dan sahabat yang berada di LN. Jika ada pemegang copyright merasa keberatan atas promosi & publikasi ini, maka materi akan segera dihapus.
Keywords : ini di upload untuk memperkenalkan cinema Indonesia di dunia Internasional, juga guna mengobati rasa rindu kerabat dan sahabat yang berada di LN. Jika ada pemegang copyright merasa keberatan atas promosi & publikasi ini, maka materi akan segera dihapus.
Law rating : Unrated
Writing application : VirtualDubMod 1.5.4.1 (build 2178/release) VirtualDubMod build 2178/release
Original source form/Name : Movie
Video
ID : 0
Format : MPEG-4 Visual
Format profile : Advanced Simple@L5
Format settings, BVOP : Yes
Format settings, QPel : No
Format settings, GMC : No warppoints
Format settings, Matrix : Custom
Codec ID : XVID
Codec ID/Hint : XviD
Duration : 1h 17mn
Bit rate : 776 Kbps
Width : 608 pixels
Height : 352 pixels
Display aspect ratio : 16:9
Frame rate : 25.000 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.145
Stream size : 428 MiB (86%)
Writing library : XviD 1.2.1 (UTC 2008-12-04)
Audio
ID : 1
Format : MPEG Audio
Format version : Version 1
Format profile : Layer 3
Mode : Joint stereo
Mode extension : MS Stereo
Codec ID : 55
Codec ID/Hint : MP3
Duration : 1h 17mn
Bit rate mode : Variable
Bit rate : 117 Kbps
Nominal bit rate : 128 Kbps
Channel(s) : 2 channels
Sampling rate : 48.0 KHz
Stream size : 64.5 MiB (13%)
Alignment : Aligned on interleaves
Interleave, duration : 24 ms (0.60 video frame)
Interleave, preload duration : 525 ms
Writing library : LAME3.98r
Encoding settings : -m j -V 4 -q 2 -lowpass 17 –abr 128
Language : un / Indonesian
ayuken
19 August 2010 at 21:23