Pages

Thursday 21 February 2013

Raspberry Pi Handbrake Encode Times

As a test I encoded a test video in 3 different environments to see what would happen.  Video was a test 45 minute standard definition DVD rip.

Not surprisingly the MacBook pro won hands down.  All systems were reading and writing to my NAS storage via NFS or Samba.  The Macbook Pro core i7 incidentally was connected via Wifi. Copying the video to the local SD drive would most likely have made it even quicker!  The ESXI VM was competing with another five active VM's on my test server.

The Raspberry Pi still managed a respectable 195 minutes, which for the low power, cool running device it is and given the architecture is still pretty impressive.

Handbrake would have been doing the encode purely in CPU and not using the Pi's GPU either.

Given these timing I can see no reason why the Pi cannot make a nice little network attached encoding unit which can file watch for files to covert on the network and crunch away quietly.


3 comments:

  1. This comment has been removed by the author.

    ReplyDelete
  2. Just 12 minutes on your MacBook? It typically takes about 2 hours on my iMac i5 to recode a movie. Anyway, I'd be interested in the settings you used. I'm currently compiling handbrake on my RasPi.

    ReplyDelete
  3. Used a the presets for the Apple TV3. Output was:


    [21:02:59] libhb: scan thread found 1 valid title(s)
    + title 1:
    + stream: test.avi
    + duration: 00:45:48
    + size: 576x432, pixel aspect: 1/1, display aspect: 1.33, 23.976 fps
    + autocrop: 0/0/4/0
    + chapters:
    + 1: cells 0->0, 0 blocks, duration 00:45:48
    + audio tracks:
    + 1, Unknown (AC3) (Dolby Surround) (iso639-2: und), 48000Hz, 192000bps
    + subtitle tracks:
    + Using preset: AppleTV 3
    [21:02:59] 1 job(s) to process
    [21:02:59] starting job
    [21:02:59] work: mixdown not specified, track 1 setting mixdown Dolby Surround
    [21:02:59] work: bitrate not specified, track 1 setting bitrate 160
    [21:02:59] sync: expecting 65900 video frames
    [21:02:59] job configuration:
    [21:02:59] * source
    [21:02:59] + test.avi
    [21:02:59] + title 1, chapter(s) 1 to 1
    [21:02:59] + container: avi
    [21:02:59] + data rate: 1062 kbps
    [21:02:59] * destination
    [21:02:59] + test.m4v
    [21:02:59] + container: MPEG-4 (.mp4 and .m4v)
    [21:02:59] * video track
    [21:02:59] + decoder: mpeg4
    [21:02:59] + frame rate: same as source (around 23.976 fps)
    [21:02:59] + dimensions: 576 * 432 -> 576 * 432, crop 0/0/4/0, mod 0
    [21:02:59] + encoder: MPEG-4 (FFmpeg)
    [21:02:59] + bitrate: 1000 kbps, pass: 0
    [21:02:59] * audio track 1
    [21:02:59] + decoder: Unknown (AC3) (Dolby Surround) (track 1, id 0x1)
    [21:02:59] + bitrate: 192 kbps, samplerate: 48000 Hz
    [21:02:59] + mixdown: Dolby Surround
    [21:02:59] + encoder: AAC (faac)
    [21:02:59] + bitrate: 160 kbps, samplerate: 48000 Hz
    [21:02:59] reader: first SCR 0 id 0x1 DTS 0
    [21:02:59] encavcodecInit: MPEG-4 ASP encoder
    Encoding: task 1 of 1, 99.91 % (5.93 fps, avg 5.70 fps, ETA 00h00m11s)[00:15:38] reader: done. 1 scr changes
    Encoding: task 1 of 1, 100.00 % (7.93 fps, avg 5.70 fps, ETA 00h00m00s)[00:15:49] work: average encoding speed for job is 5.697429 fps
    Encoding: task 1 of 1, 100.00 % (7.93 fps, avg 5.70 fps, ETA 00h00m00s)[00:15:50] sync: got 65900 frames, 65900 expected
    [00:15:50] mpeg4-decoder done: 65900 frames, 0 decoder errors, 0 drops
    [00:15:50] render: lost time: 0 (0 frames)
    [00:15:50] render: gained time: 0 (0 frames) (0 not accounted for)
    Muxing: this may take awhile...[00:17:09] mux: track 0, 65900 frames, 342066005 bytes, 995.62 kbps, fifo 4096
    [00:17:09] mux: track 1, 128839 frames, 54967507 bytes, 159.99 kbps, fifo 8192
    [00:17:09] libhb: work result = 0

    Encode done!

    HandBrake has exited.

    real 194m11.622s
    user 190m48.360s
    sys 1m51.030s

    ReplyDelete