Je veux télécharger des fichiers vidéo sur un serveur et les compresser avant de les télécharger. J'utilise ffmpeg libx264. J'ai vu que Viber peut télécharger un fichier vidéo de 30 secondes d'une taille de 32 Mo en une minute [réduit à 2,3 Mo]. Je voudrais savoir comment ils font pour être aussi rapides ?
Ce que j'ai essayé jusqu'à présent -
FFMPEG version : n2.4.2
Built with gcc 4.8
Build Configuraiton : --target-os=linux --cross-prefix=/home/sb/Source-Code/ffmpeg-android/toolchain-android/bin/arm-linux-androideabi- --arch=arm --cpu=cortex-a8 --enable-runtime-cpudetect --sysroot=/home/sb/Source-Code/ffmpeg-android/toolchain-android/sysroot --enable-pic --enable-libx264 --enable-libass --enable-libfreetype --enable-libfribidi --enable-fontconfig --enable-pthreads --disable-debug --disable-ffserver --enable-version3 --enable-hardcoded-tables --disable-ffplay --disable-ffprobe --enable-gpl --enable-yasm --disable-doc --disable-shared --enable-static --pkg-config=/home/sb/Source-Code/ffmpeg-android/ffmpeg-pkg-config --prefix=/home/sb/Source-Code/ffmpeg-android/build/armeabi-v7a-neon --extra-cflags='-I/home/sb/Source-Code/ffmpeg-android/toolchain-android/include -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-strict-overflow -fstack-protector-all -mfpu=neon' --extra-ldflags='-L/home/sb/Source-Code/ffmpeg-android/toolchain-android/lib -Wl,-z,relro -Wl,-z,now -pie' --extra-libs='-lpng -lexpat -lm' --extra-cxxflags=
Commandement :
ffmpeg -y -i /storage/emulated/0/main.mp4 -s 480x320 -r 20 -c:v libx264 -preset ultrafast -c:a copy -me_method zero -tune fastdecode -tune zerolatency -strict -2 -b:v 1000k -pix_fmt yuv420p /storage/emulated/0/output.mp4
Le résultat jusqu'à présent est qu'un fichier de 78MB en 30 secondes est compressé à 4.3MB ce qui prend environ 1min 28secondes. Voici le vidage de la console - http://pastebin.com/rn81acGx . Je souhaite principalement réduire le temps de compression. Comment puis-je y parvenir ?
Merci d'avance.