Casually Mux

Mux Casually

Menambahkan Border di Video dengan Avisynth

with 11 comments

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.

Written by Sagippio

9 May 2009 at 15:41

Posted in Avisynth Script, Video

Tagged with , , ,

11 Responses

Subscribe to comments with RSS.

  1. nice tut, tak coba.
    pake avisynth ya? hehehe a ga pandai makai nya gw, tapi thanks

    adyt

    10 May 2009 at 4:52

  2. 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

  3. 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

  4. 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

  5. @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

  6. 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


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.