Transcoding performance on 2 Intel Xeon 5030

Help
2011-09-26
2013-05-30
  • Hi all,

    I'm using MT for a while now, but I have some serious performance issues regarding MKV transcoding for a PS3 and I am wondering if it's the CPU or the software.

    My configuration is this:
    MB: ASUS DSBF-D12/SAS
    CPU: 2 x Intel Xeon 5030 (dualcore 2,66 GHz with HT)
    RAM: 8 Gb DDR667 (4 x 2 Gb FB-DIMM's)
    HDD: 2 x Samsung HD501LJ in RAID0 via a 3ware 9650SE-12ML
    OS: Ubuntu 11.04

    I've compiled ffmpeg myself and am able to use the multicore support therein. However, when transcoding a 1080p MKV movie, the ffmpeg process hardly uses 200% CPU while the system can handle 800% because of the HT capability on the Xeons. It also won't parse any faster than 18 frames per second, which is too low to be able to transcode well for realtime viewing.

    When using libx264 with ffmpeg, it's using 600% CPU, but gets even lower parse framerates than mentioned above.

    Now I am seriously wondering if the software is working well or that I am running into the limits of my server?

    Can somebody help me finding this out?

    My ffmpeg info is:
    ffmpeg version git-e1f517a, Copyright (C) 2000-2011 the Libav developers
      built on Sep 25 2011 20:24:48 with gcc 4.5.2
      configuration: -enable-gpl -enable-postproc -enable-swscale -enable-pthreads -enable-x11grab -enable-libdc1394 -enable-libfaac -enable-libgsm -enable-libmp3lame -enable-libtheora -enable-libvorbis -enable-libx264 -enable-libxvid -enable-nonfree
      libavutil    51.  6. 0 / 51.  6. 0
      libavcodec   53.  5. 0 / 53.  5. 0
      libavformat  53.  1. 3 / 53.  1. 3
      libavdevice  53.  0. 0 / 53.  0. 0
      libavfilter   2.  4. 0 /  2.  4. 0
      libswscale    1.  1. 0 /  1.  1. 0
      libpostproc  52.  0. 0 / 52.  0. 0

     
  • Here is the output of a manual ffmpeg transcode from the commandline, is it optimal?

    root@ubuntu:~/ffmpeg# ffmpeg -y -i /home/jeffrey/m-chop1080.mkv -b 8192k -bt 1024k -threads 8 -f rawvideo /dev/null
    ffmpeg version git-e1f517a, Copyright (c) 2000-2011 the Libav developers
      built on Sep 25 2011 20:24:48 with gcc 4.5.2
      configuration: --enable-gpl --enable-postproc --enable-swscale --enable-pthreads --enable-x11grab --enable-libdc1394 --enable-libfaac --enable-libgsm --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-nonfree
      libavutil    51.  6. 0 / 51.  6. 0
      libavcodec   53.  5. 0 / 53.  5. 0
      libavformat  53.  1. 3 / 53.  1. 3
      libavdevice  53.  0. 0 / 53.  0. 0
      libavfilter   2.  4. 0 /  2.  4. 0
      libswscale    1.  1. 0 /  1.  1. 0
      libpostproc  52.  0. 0 / 52.  0. 0
    [matroska,webm @ 0x1399300] Estimating duration from bitrate, this may be inaccurate
    Input #0, matroska,webm, from '/home/jeffrey/m-chop1080.mkv':
      Duration: 02:55:50.59, start: 0.000000, bitrate: 640 kb/s
        Stream #0.0: Video: h264 (High), yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
        Stream #0.1(eng): Audio: ac3, 48000 Hz, 5.1, s16, 640 kb/s (default)
        Metadata:
          title           : AC3
        Stream #0.2(dut): Subtitle: [0][0][0][0] / 0x0000 (default)
        Metadata:
          title           : Nederlands
        Stream #0.3(eng): Subtitle: [0][0][0][0] / 0x0000
        Metadata:
          title           : eng
    [buffer @ 0x1417680] w:1920 h:1080 pixfmt:yuv420p
    Output #0, rawvideo, to '/dev/null':
      Metadata:
        encoder         : Lavf53.1.3
        Stream #0.0: Video: rawvideo, yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], q=2-31, 8192 kb/s, 90k tbn, 23.98 tbc (default)
    Stream mapping:
      Stream #0.0 -> #0.0
    Press ctrl-c to stop encoding
    frame=  220 fps= 15 q=0.0 size=       0kB time=9.18 bitrate=   0.0kbits/s