1. FFmpeg Performance on a Core I7 920 @ 3.6 Ghz

    Wed 22 April 2009

    The system i'm running is a Core i7 920 @ 3.6 Ghz.

    I am transcoding a DVD (Grave Of The Fire Flies) to iPod format (640x480 x264).

    Thread support is enabled, to FFmpeg uses about 250% CPU. That's 2.5 of the 4 cores available. If possible, I would have liked to see it use all four to the max.

    Any way. I use these settings:

    FFmpeg version SVN-r18628

    ffmpeg -i $1 -pass 1 -acodec libfaac -ab 128k -ac 2 -vcodec libx264 -vpre normal -vpre ipod640 -s 640x480 -b 512k -bt 512k -threads 0 -f mp4 $2

    With these settings, I get an encoding speed of fps=193.

    I don't know how that stacks up against other systems. It seems fast to me though. In effect, the system is playing the DVD at 7.6 times the speed of the movie (25 fps?). So encoding is 88 minutes / 7.6 = 11.45 minutes for encoding a DVD to iPod x264.

    Tagged as : Uncategorized
  2. How to Escape File Names in Bash Shell Scripts

    Sun 29 March 2009

    After fighting with Bash for quite some time, I found out that the following code provides a nice basis for escaping special characters. Ofcource it is not complete, but the most important characters are filtered.

    If anybody has a better solution, please let me know. It works and it is readable but not pretty.

    FILE_ESCAPED=`echo "$FILE" | \

    sed s/\ /\\\\\\\ /g | \

    sed s/\'/\\\\\\\'/g | \

    sed s/\&/\\\\\\\&/g | \

    sed s/\;/\\\\\\\;/g | \

    sed s/(/\\\\\(/g | \

    sed s/)/\\\\\)/g `

    Tagged as : Uncategorized
  3. Distributed Parallel Processing Shell Script (PPSS) Released

    Thu 12 March 2009

    I'd like to announce the release of the distributed version of the Parallel Processing Shell Script (PPSS). PPSS is a bash script that allows you to run commands in parallel. It is written to make use of current multi-core CPUs.

    The new distributed version of PPSS allows you to run PPSS on multiple hosts, that simultaneously work on a single group of files or other items. A central server is used for file locking. This way, nodes know which files are 'locked' by other nodes and/or have already been processed.

    PPSS is written to be very easy to use. You can be up and running on a single host within 5 minutes. Distributed usage requires the (one-time) setup of some SSH accounts on your nodes and server, but that's about it. Please take a look at distributed PPSS for yourself at:

    http://code.google.com/p/ppss

    I used distributed PPSS to encode 400 GB of WAV files to MP3 using 4 computer systems. A total of 14 cores where available to PPSS to encode those files using Lame. However, PPSS is not limited to encoding WAV files. To the contrary, it is written to execute whatever command you want to execute. Gzip a bunch of files in parallel? No problem. It is totally up to your imagination.

    Tagged as : Uncategorized

Page 18 / 23