warning: Creating default object from empty value in /home/www/virtual/kiterminal.com/htdocs/blog/modules/taxonomy/taxonomy.pages.inc on line 33.

FFmpeg

การหาช่วงเวลาของไฟล์วีดีโอด้วย Ruby และ FFmpeg

วันนี้มีงานที่ต้องหา duration ของไฟล์วีดีโอซึ่งมีจำนวนมากเกินไปที่จะใช้คนทำ ดังนั้นจึงเลือกใช้ FFmpeg ในการทำงาน ซึ่ง code มีดังนี้

command = "ffmpeg -i filename.m4v 2>&1 | grep 'Duration' | cut -d ' ' -f 4 | sed s/,//"
output = `#{command}`
if output =~ /([\d][\d]):([\d][\d]):([\d][\d]).([\d]+)/
  duration = (($1.to_i * 60 + $2.to_i) * 60 + $3.to_i) * 10 + $4.to_i
end

ติดตั้ง FFmpeg บน Mac OS X Leopard

ก่อนอื่นต้องติดตั้ง LAME (Lame Aint an MP3 Encoder) โดยไปโหลดมาก่อน จากนั้นทำตามด้านล่างนี้

$ tar -xzvf lame-398.tar.gz
$ cd lame-398
$ ./configure
$ make
$ sudo make install

ต่อไปก็ถึงการติดตั้ง FFmpeg