batch re-mux FLV ke MP4


CaptureSering nyimpen video dari Youtube ? atau download video2 tutorial dari net ? pasti ga bakal asing ama kontainer video 1 ini dari adobe. FLV tuh kontainer flash video yang umum digunakan untuk stream video di net. ku sendiri seirng dapat karena seirg nyimpan video dari youtube, baik untuk trailer, ataupun video tutorial yag berguna. untuk video yang nyediaan HD tentu ga masalah, ku baisa ambil data HD dan stream MP4, tapi kalo dah ga ada pilihan, mau ga mau FLV lah yang harus diambil.

masalahnya adalah, nih kontainer sering bermasalah kalo di play di MPC-HC. kalo mo skip2  dan area tertentu, time seek kadang ga jalan, atau bikin MPC-HC ku semi-frreeze harus nunggu beberapa saat. terutama kalo mpc-hc ku pakein mode DXVA di codec AVC, tapi set ke ffmepg normal jug ablom tentu ilang msalahnya. masalah kedua kadang muncul kalo mo di re-encode ke format/codec laen. banyak aplikasi default kadang ga mau baca kontainer FLV dan kadang salah baca informasi kek frame rate (kemaren kejadian di sebagian video waktu aku mo re-encode untuk ditaruh di PSP). jadinay harus extract stream manual, encode, lalu mux, menyusahkan :))

pada umumnya video model gini udah pake codec h264/AVC yang juga umum digunakan untuk kontainer mp4 stream. ku kepikiran untuk langsung re-mux ke mp4 aja, tapi kalo mo satu2 kan repot, terutama kalo ada ratusan file :) jadi nih ku bikin fie batch untuk membantu prosesnya. batch ini butuh flvextractcl untuk extract stream dari flv, disini ku pake versi cl (command line), kemudian butuh juga mp4box untuk proses re-mux stream ke mp4 dan setelah selesai, meghapus file yang sudah tidak diperlukan lagi.

karena proses ini hanya re-mux data ke kontainer baru tidak ada proses re-encoding yang dilakukan, proses akan berjalan cukup cepat dan tidak ada perubahan data stream video dan audio ;)

@echo off

:: demux flv
for %%z in (*.flv) do (
flvextractcl -v -a “%%z”
)

:: remux mp4
for %%z in (*.264) do (
mp4box -add “%%~nz”.264 -add “%%~nz”.aac -new “%%~nz”.mp4
)

:: hapus file sisa
for %%z in (*.264) do (
del “%%~nz”.264 “%%~nz”.aac “%%~nz”.flv
)

text diatas adalah file batch yang digunakan, tulis dalam file text baru dan rename jadi file bat, misal remux.bat. abis gitu kopi di folder yang berisi file flv dan jalanin :) *flvextractcl dan mp4box.exe (serta dependansi libgpac.dll dan MediaInfo.dll) harus berada di folder yang sama.

catatan : secara default mp4box mux track dengan asumsi fps video adalah 25, jika video memiliki frame rate yang berbeda, tambahkan syntax “–fps xxx” dengan xxx adalah framerate video.

Capture

Advertisements

4 comments on “batch re-mux FLV ke MP4

  1. or %%z in (*.flv) do (
    flvextractcl -v -a “%%z”

    bahasa apa tuh, masih newbie. kalo bisa ada pengajaran bahasa kayak begini di wordpressnya om.

    • for => jelas untuk loop
      %%z => wildcard variabel untuk nyimpan nama dari file
      do => eksekusi perintah abis itu

      jadi intinya yang diatas itu loop, ngecek kalo masih ada file flv, ambil namanya, trus extract pake flvextract, kalo dah selesai, lanjut ke file beirkutnya (kalo masih ada)

      :D

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 )

Google+ photo

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

Connecting to %s