Linux vs Windows con x264 64bits
Esta es una mini-prueba de fuerza bruta sobre el uso de CPU a la hora de comprimir vídeo.
ORDENADOR UTILIZADO EN AMBOS CASOS
- CPU: 2.33 QUAD 8200 sin OC
- RAM: 6GB DDR – 1066
- T.Gráfica: ATI HD2600 XT
- Monitor: ASUS / 1920 x 1080 de resolución
- Disco Duro: 500Gb seagate para Windows 7 y 250Gb para Ubuntu, ambos con SATA.
- Source de Vídeo: Utilización de los primeros 10.001 frames de Elephants Dreams de la RAW PNG a 1920×1080. Utilizado avs2yuv para convertir los frames en PNG a formato YUV para ser interpretado directamente por el encoder x264 sin la necesidad de un interprete adicional.
LINUX – Ubuntu 9.04 64bits (Instalado)
En Linux no existe la facilidad para encontrar el x264 compilado, así que se ha obtenido compilando con GCC 4.4.0 mediante los siguientes pasos:
sudo apt-get update
sudo apt-get install build-essential subversion git-core checkinstall yasmcd
git clone git://git.videolan.org/x264.git
cd x264
./configure
make
sudo checkinstall –fstrans=no –install=yes –pkgname=x264 –pkgversion “1:0.svn`date +%Y%m%d`-0.0ubuntu1″ –default
WINDOWS 7 -RTM – 64Bits
En windows he decidido probar dos versiones:
- Compilado con GCC 4.2.4: gcc 4.3.4 20090220 Komisar make fprofiled
- Compilado con ICC (Intel C++ Compiler (icc) v11.1.038)
PREPARACIÓN DE EQUIPO
En WINDOWS 7 y en UBUNTU 9.04 esta todo lo no indispensable desactivado:
- Antivirus
- Cualquier tipo de mensajería
- Navegadores
- Salvapantallas
Y en ambos casos se han realizado las pruebas después de un reinicio, para evitar cualquier problema con programas mal cerrados.
RESULTADOS (Utilizados los Preset Medium y Slow)
Ubuntu – x264 GCC:
Preset Medium
- x264 –pass 1 –bitrate 4000 –preset medium video.yuv –stats stats.tmp –psnr –ssim -o linux-medium.mkv 1920×1080
- encoded 10001 frames, 19.93 fps, 4058.74 kb/s
- x264 –pass 2 –bitrate 4000 –preset medium video.yuv –stats stats.tmp –psnr –ssim -o linux-medium.mkv 1920×1080
- encoded 10001 frames, 13.21 fps, 4001.25 kb/s
Preset Slow
- x264 –pass 1 –bitrate 4000 –preset slow video.yuv –stats stats.tmp –psnr –ssim -o linux-slow.mkv 1920×1080
- encoded 10001 frames, 11.67 fps, 4052.39 kb/s
- x264 –pass 2 –bitrate 4000 –preset slow video.yuv –stats stats.tmp –psnr –ssim -o linux-slow.mkv 1920×1080
- encoded 10001 frames, 7.46 fps, 4001.41 kb/s
Windows – x264 GCC:
Preset Medium
- x264 –pass 1 –bitrate 4000 –preset medium video.yuv --stats stats.tmp –psnr –ssim -o windows-medium.mkv 1920×1080
- encoded 10001 frames, 20.05 fps, 4059.16 kb/s
- x264 –pass 2 –bitrate 4000 –preset medium video.yuv --stats stats.tmp –psnr –ssim -o windows-medium.mkv 1920×1080
- encoded 10001 frames, 13.98 fps, 4001.27 kb/s
Preset Slow
- x264 –pass 1 –bitrate 4000 –preset slow video.yuv --stats stats.tmp –psnr –ssim -o windows-slow.mkv 1920×1080
- encoded 10001 frames, 11.70 fps, 4054.04 kb/s
- x264 –pass 2 –bitrate 4000 –preset slow video.yuv --stats stats.tmp –psnr –ssim -o windows-slow.mkv 1920×1080
- encoded 10001 frames, 7.88 fps, 4001.36 kb/s
Windows – x264 ICC:
Preset Medium
- x264-r1259_64b.[ICC] –pass 1 –bitrate 4000 –preset medium video.yuv –stats stats.tmp –psnr –ssim -o windows-medium-IC.mkv 1920×1080
- encoded 10001 frames, 20.16 fps, 4058.75 kb/s
- x264-r1259_64b.[ICC] –pass 2 –bitrate 4000 –preset medium video.yuv –stats stats.tmp –psnr –ssim -o windows-medium-IC.mkv 1920×1080
- encoded 10001 frames, 14.40 fps, 4001.25 kb/s
Preset Slow
- x264-r1259_64b.[ICC] –pass 1 –bitrate 4000 –preset slow video.yuv –stats stats.tmp –psnr –ssim -o windows-slow-IC.mkv 1920×1080
- encoded 10001 frames, 11.98 fps, 4052.61 kb/s
- x264-r1259_64b.[ICC] –pass 2 –bitrate 4000 –preset slow video.yuv –stats stats.tmp –psnr –ssim -o windows-slow-IC.mkv 1920×1080
- encoded 10001 frames, 8.21 fps, 4001.46 kb/s
CONCLUSIÓN
Es complicado determinar un ganador a la hora de realizar una comparativa de este tipo. El compilador que se utilice a la hora de crear el encoder x264, será el que determine que SO será mas veloz. En las pruebas presentadas windows vence a Linux (Ubuntu 9.04 – 64b), tanto utilizando el compilador gratuito GCC como el de pago de Intel ICC. Pero la diferencia es mínima (1%-2%), por no decir inapreciable.
Cabe reseñar despues de las pruebas, que las diferencias que existen en ambos SO a la hora de comprimir no son tanto como se pueda pensar, quedando prácticamente igualados en este campo, la fuerza bruta de la CPU.
PROGRAMAS UTILIZADOS PARA LAS PRUEBAS
- x264 r1259 – 64bits – GCC WINDOWS
- x264 r1259 – 64bits – ICC WINDOWS
- x264 r1259 – 64bits – GCC UBUNTU
- AVS2YUV 0.24