Recherche avancée

Médias (0)

Mot : - Tags -/presse-papier

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (45)

  • Soumettre améliorations et plugins supplémentaires

    10 avril 2011

    Si vous avez développé une nouvelle extension permettant d’ajouter une ou plusieurs fonctionnalités utiles à MediaSPIP, faites le nous savoir et son intégration dans la distribution officielle sera envisagée.
    Vous pouvez utiliser la liste de discussion de développement afin de le faire savoir ou demander de l’aide quant à la réalisation de ce plugin. MediaSPIP étant basé sur SPIP, il est également possible d’utiliser le liste de discussion SPIP-zone de SPIP pour (...)

  • Menus personnalisés

    14 novembre 2010, par

    MediaSPIP utilise le plugin Menus pour gérer plusieurs menus configurables pour la navigation.
    Cela permet de laisser aux administrateurs de canaux la possibilité de configurer finement ces menus.
    Menus créés à l’initialisation du site
    Par défaut trois menus sont créés automatiquement à l’initialisation du site : Le menu principal ; Identifiant : barrenav ; Ce menu s’insère en général en haut de la page après le bloc d’entête, son identifiant le rend compatible avec les squelettes basés sur Zpip ; (...)

  • Possibilité de déploiement en ferme

    12 avril 2011, par

    MediaSPIP peut être installé comme une ferme, avec un seul "noyau" hébergé sur un serveur dédié et utilisé par une multitude de sites différents.
    Cela permet, par exemple : de pouvoir partager les frais de mise en œuvre entre plusieurs projets / individus ; de pouvoir déployer rapidement une multitude de sites uniques ; d’éviter d’avoir à mettre l’ensemble des créations dans un fourre-tout numérique comme c’est le cas pour les grandes plate-formes tout public disséminées sur le (...)

Sur d’autres sites (10502)

  • ffmpeg image to video sequence stops after 10

    18 mai 2012, par Jim

    Probably a fast anwser, but my first time trying to do this. I have 77 jpeg pictures, I have renamed them to be 000.jpg - 076.jpg. The next step is using ffmpeg and here is my command statement :

    ffmpeg -f image2 -r .1 -i %d.jpg -r 25 test.avi

    It creates an avi with 10 images for 10seconds each, why only 10 ? I've tried other iterations of %d.jpg in the ffmpeg command with no success.

    thanks for the help all !

    -Jim

    Here is the listing of the directory with the images :

    ls -l
    total 77472
    -rwxr-xr-x 1 jim jim 2329065 May 17 16:31 000.jpg
    -rwxr-xr-x 1 jim jim  716563 May 17 16:31 001.jpg
    -rwxr-xr-x 1 jim jim  716626 May 17 16:31 002.jpg
    -rwxr-xr-x 1 jim jim  726686 May 17 16:31 003.jpg
    -rwxr-xr-x 1 jim jim  739312 May 17 16:31 004.jpg
    -rwxr-xr-x 1 jim jim  720249 May 17 16:31 005.jpg
    -rwxr-xr-x 1 jim jim  666757 May 17 16:31 006.jpg
    -rwxr-xr-x 1 jim jim  656259 May 17 16:31 007.jpg
    -rwxr-xr-x 1 jim jim  664960 May 17 16:31 008.jpg
    -rwxr-xr-x 1 jim jim  740801 May 17 16:31 009.jpg
    -rwxr-xr-x 1 jim jim  882502 May 17 16:31 010.jpg
    -rwxr-xr-x 1 jim jim  631117 May 17 16:31 011.jpg
    -rwxr-xr-x 1 jim jim  730331 May 17 16:31 018.jpg
    -rwxr-xr-x 1 jim jim  725132 May 17 16:31 019.jpg
    -rwxr-xr-x 1 jim jim  729626 May 17 16:31 020.jpg
    -rwxr-xr-x 1 jim jim  731980 May 17 16:31 021.jpg
    -rwxr-xr-x 1 jim jim  671597 May 17 16:31 022.jpg
    -rwxr-xr-x 1 jim jim  681978 May 17 16:31 023.jpg
    -rwxr-xr-x 1 jim jim  686600 May 17 16:31 024.jpg
    -rwxr-xr-x 1 jim jim  675316 May 17 16:31 025.jpg
    -rwxr-xr-x 1 jim jim  681826 May 17 16:31 026.jpg
    -rwxr-xr-x 1 jim jim  740998 May 17 16:31 027.jpg
    -rwxr-xr-x 1 jim jim  568480 May 17 16:31 028.jpg
    -rwxr-xr-x 1 jim jim  747400 May 17 16:31 029.jpg
    -rwxr-xr-x 1 jim jim  630995 May 17 16:31 030.jpg
    -rwxr-xr-x 1 jim jim  689926 May 17 16:31 031.jpg
    -rwxr-xr-x 1 jim jim  685054 May 17 16:31 032.jpg
    -rwxr-xr-x 1 jim jim  710620 May 17 16:31 033.jpg
    -rwxr-xr-x 1 jim jim  658365 May 17 16:31 034.jpg
    -rwxr-xr-x 1 jim jim  657037 May 17 16:31 035.jpg
    -rwxr-xr-x 1 jim jim  772135 May 17 16:31 036.jpg
    -rwxr-xr-x 1 jim jim  741759 May 17 16:31 037.jpg
    -rwxr-xr-x 1 jim jim  807470 May 17 16:31 038.jpg
    -rwxr-xr-x 1 jim jim  748423 May 17 16:31 039.jpg
    -rwxr-xr-x 1 jim jim  712377 May 17 16:31 040.jpg
    -rwxr-xr-x 1 jim jim  715804 May 17 16:31 041.jpg
    -rwxr-xr-x 1 jim jim  701025 May 17 16:31 042.jpg
    -rwxr-xr-x 1 jim jim  759446 May 17 16:31 043.jpg
    -rwxr-xr-x 1 jim jim  621801 May 17 16:31 044.jpg
    -rwxr-xr-x 1 jim jim  720843 May 17 16:31 045.jpg
    -rwxr-xr-x 1 jim jim  704002 May 17 16:31 046.jpg
    -rwxr-xr-x 1 jim jim  696075 May 17 16:31 047.jpg
    -rwxr-xr-x 1 jim jim  723685 May 17 16:31 048.jpg
    -rwxr-xr-x 1 jim jim  732332 May 17 16:31 049.jpg
    -rwxr-xr-x 1 jim jim  747235 May 17 16:31 050.jpg
    -rwxr-xr-x 1 jim jim  883655 May 17 16:31 051.jpg
    -rwxr-xr-x 1 jim jim 1750723 May 17 16:31 052.jpg
    -rwxr-xr-x 1 jim jim 1002588 May 17 16:31 053.jpg
    -rwxr-xr-x 1 jim jim  540666 May 17 16:31 054.jpg
    -rwxr-xr-x 1 jim jim 1876002 May 17 16:31 055.jpg
    -rwxr-xr-x 1 jim jim 1893761 May 17 16:31 056.jpg
    -rwxr-xr-x 1 jim jim 1979442 May 17 16:31 057.jpg
    -rwxr-xr-x 1 jim jim 1766249 May 17 16:31 058.jpg
    -rwxr-xr-x 1 jim jim 2085989 May 17 16:31 059.jpg
    -rwxr-xr-x 1 jim jim  883871 May 17 16:31 060.jpg
    -rwxr-xr-x 1 jim jim  755714 May 17 16:31 061.jpg
    -rwxr-xr-x 1 jim jim  797146 May 17 16:31 062.jpg
    -rwxr-xr-x 1 jim jim 2431531 May 17 16:31 065.jpg
    -rwxr-xr-x 1 jim jim 2413333 May 17 16:31 066.jpg
    -rwxr-xr-x 1 jim jim 2449278 May 17 16:31 067.jpg
    -rwxr-xr-x 1 jim jim 2458183 May 17 16:31 068.jpg
    -rwxr-xr-x 1 jim jim 2514419 May 17 16:31 069.jpg
    -rwxr-xr-x 1 jim jim 2477737 May 17 16:31 070.jpg
    -rwxr-xr-x 1 jim jim 2471347 May 17 16:31 071.jpg
    -rwxr-xr-x 1 jim jim 2384936 May 17 16:31 072.jpg
    -rwxr-xr-x 1 jim jim 2459983 May 17 16:31 073.jpg
    -rwxr-xr-x 1 jim jim 2501286 May 17 16:31 074.jpg
    -rwxr-xr-x 1 jim jim 2367710 May 17 16:31 075.jpg
    -rwxr-xr-x 1 jim jim 2455564 May 17 16:31 076.jpg

    FFMPEG Command and OUTPUT :

    ffmpeg -v verbose -f image2 -r .1 -i %03d.jpg -r 25 test.avi
    ffmpeg version 0.8.1-4:0.8.1-0ubuntu1, Copyright (c) 2000-2011 the Libav developers
     built on Mar 22 2012 05:09:06 with gcc 4.6.3
     configuration: --extra-version='4:0.8.1-0ubuntu1' --arch=amd64 --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --enable-libvpx --enable-runtime-cpudetect --enable-libfreetype --enable-vaapi --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libdc1394 --shlibdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-static
     avutil      configuration: --extra-version='4:0.8.1ubuntu1+medibuntu1' --arch=amd64 --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --enable-libvpx --enable-runtime-cpudetect --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-version3 --enable-libfreetype --enable-vaapi --enable-libopenjpeg --enable-libfaac --enable-nonfree --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libdirac --enable-libmp3lame --enable-librtmp --enable-libx264 --enable-libxvid --enable-libopencore-amrnb --enable-version3 --enable-libopencore-amrwb --enable-version3 --enable-libvo-aacenc --enable-version3 --enable-libvo-amrwbenc --enable-version3 --enable-libdc1394 --shlibdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-static
     avcodec     configuration: --extra-version='4:0.8.1ubuntu1+medibuntu1' --arch=amd64 --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --enable-libvpx --enable-runtime-cpudetect --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-version3 --enable-libfreetype --enable-vaapi --enable-libopenjpeg --enable-libfaac --enable-nonfree --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libdirac --enable-libmp3lame --enable-librtmp --enable-libx264 --enable-libxvid --enable-libopencore-amrnb --enable-version3 --enable-libopencore-amrwb --enable-version3 --enable-libvo-aacenc --enable-version3 --enable-libvo-amrwbenc --enable-version3 --enable-libdc1394 --shlibdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-static
     libavutil    51. 22. 1 / 51. 22. 1
     libavcodec   53. 35. 0 / 53. 35. 0
     libavformat  53. 21. 0 / 53. 21. 0
     libavdevice  53.  2. 0 / 53.  2. 0
     libavfilter   2. 15. 0 /  2. 15. 0
     libswscale    2.  1. 0 /  2.  1. 0
     libpostproc  52.  0. 0 / 52.  0. 0
    This program is not developed anymore and is only provided for compatibility. Use avconv instead (see Changelog for the list of incompatible changes).
    [image2 @ 0x1bef9c0] max_analyze_duration reached

    Seems stream 0 codec frame rate differs from container frame rate: 0.10 (1/10) -> 0.50 (1/2)
    Input #0, image2, from '%03d.jpg':
     Duration: 00:02:00.00, start: 0.000000, bitrate: N/A
       Stream #0.0: Video: mjpeg, yuvj440p, 1920x2560, 0.10 fps, 0.50 tbr, 0.10 tbn, 0.10 tbc
    File 'test.avi' already exists. Overwrite ? [y/N] y
    Incompatible pixel format 'yuvj440p' for codec 'mpeg4', auto-selecting format 'yuv420p'
    [buffer @ 0x1bf0100] w:1920 h:2560 pixfmt:yuvj440p
    [avsink @ 0x1bf13c0] auto-inserting filter 'auto-inserted scaler 0' between the filter 'src' and the filter 'out'
    [scale @ 0x1bf1ae0] w:1920 h:2560 fmt:yuvj440p -> w:1920 h:2560 fmt:yuv420p flags:0x4
    Output #0, avi, to 'test.avi':
     Metadata:
       ISFT            : Lavf53.21.0
       Stream #0.0: Video: mpeg4, yuv420p, 1920x2560, q=2-31, 200 kb/s, 25 tbn, 25 tbc
    Stream mapping:
     Stream #0.0 -> #0.0
    Press ctrl-c to stop encoding
    [buffer @ 0x1bf0100] Changing frame properties on the fly is not supported.
       Last message repeated 10 times
    frame=    1 fps=  0 q=5.7 Lsize=      97kB time=0.04 bitrate=19823.2kbits/s    
    video:91kB audio:0kB global headers:0kB muxing overhead 6.106282%

    Now test.avi is only 99Kbs and doesn't play anything.

  • ffmpeg : Pipe input error

    1er septembre 2012, par Amit Khanna

    I'm facing an issue while working with ffmpeg when input and output are pipes. Though Output pipe is working fine, piping the input is causing some error.

    I tried to convert mp4 video to flv using the following command and it worked fine :

    $ ffmpeg  -i video-2012-04-26-19-48-40.mp4 -ar 44100 -ab 96 -f flv pipe:1 | cat> videoname.flv

    It worked fine and gave the following output :

    FFmpeg version 0.6-4:0.6-2ubuntu6.3, Copyright (c) 2000-2010 the FFmpeg developers
     built on Dec 21 2011 18:37:43 with gcc 4.4.5
     configuration: --extra-version=4:0.6-2ubuntu6.3 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-vaapi --enable-pthreads --enable-zlib --enable-libvpx --disable-stripping --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-x11grab --enable-libdc1394 --enable-shared --disable-static
     WARNING: library configuration mismatch
     libavutil   configuration: --extra-version=4:0.6-2ubuntu3.3 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libdirac --enable-libgsm --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-vaapi --enable-pthreads --enable-zlib --enable-libvpx --disable-stripping --enable-runtime-cpudetect --enable-libmp3lame --enable-gpl --enable-postproc --enable-x11grab --enable-libfaad --enable-libxvid --enable-libx264 --enable-librtmp --enable-libdc1394 --shlibdir=/usr/lib/i686/cmov --cpu=i686 --enable-shared --disable-static --disable-ffmpeg --disable-ffplay
     libavcodec  configuration: --extra-version=4:0.6-2ubuntu3.3 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libdirac --enable-libgsm --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-vaapi --enable-pthreads --enable-zlib --enable-libvpx --disable-stripping --enable-runtime-cpudetect --enable-libmp3lame --enable-gpl --enable-postproc --enable-x11grab --enable-libfaad --enable-libxvid --enable-libx264 --enable-librtmp --enable-libdc1394 --shlibdir=/usr/lib/i686/cmov --cpu=i686 --enable-shared --disable-static --disable-ffmpeg --disable-ffplay
     libavformat configuration: --extra-version=4:0.6-2ubuntu6.3 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-vaapi --enable-pthreads --enable-zlib --enable-libvpx --disable-stripping --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-x11grab --enable-libdc1394 --shlibdir=/usr/lib/i686/cmov --cpu=i686 --enable-shared --disable-static --disable-ffmpeg --disable-ffplay
     libavdevice configuration: --extra-version=4:0.6-2ubuntu6.3 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-vaapi --enable-pthreads --enable-zlib --enable-libvpx --disable-stripping --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-x11grab --enable-libdc1394 --shlibdir=/usr/lib/i686/cmov --cpu=i686 --enable-shared --disable-static --disable-ffmpeg --disable-ffplay
     libavfilter configuration: --extra-version=4:0.6-2ubuntu6.3 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-vaapi --enable-pthreads --enable-zlib --enable-libvpx --disable-stripping --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-x11grab --enable-libdc1394 --shlibdir=/usr/lib/i686/cmov --cpu=i686 --enable-shared --disable-static --disable-ffmpeg --disable-ffplay
     libswscale  configuration: --extra-version=4:0.6-2ubuntu6.3 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-vaapi --enable-pthreads --enable-zlib --enable-libvpx --disable-stripping --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-x11grab --enable-libdc1394 --shlibdir=/usr/lib/i686/cmov --cpu=i686 --enable-shared --disable-static --disable-ffmpeg --disable-ffplay
     libpostproc configuration: --extra-version=4:0.6-2ubuntu6.3 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-vaapi --enable-pthreads --enable-zlib --enable-libvpx --disable-stripping --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-x11grab --enable-libdc1394 --shlibdir=/usr/lib/i686/cmov --cpu=i686 --enable-shared --disable-static --disable-ffmpeg --disable-ffplay
     libavutil     50.15. 1 / 50.15. 1
     libavcodec    52.72. 2 / 52.72. 2
     libavformat   52.64. 2 / 52.64. 2
     libavdevice   52. 2. 0 / 52. 2. 0
     libavfilter    1.19. 0 /  1.19. 0
     libswscale     0.11. 0 /  0.11. 0
     libpostproc   51. 2. 0 / 51. 2. 0

    Seems stream 0 codec frame rate differs from container frame rate: 60000.00 (60000/1) -> 1000.00 (1000/1)
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video-2012-04-26-19-48-40.mp4':
     Metadata:
       major_brand     : 3gp4
       minor_version   : 768
       compatible_brands: 3gp43gp6
     Duration: 00:00:09.55, start: 0.000000, bitrate: 3366 kb/s
       Stream #0.0(eng): Video: h264, yuv420p, 720x480, 3304 kb/s, 29.61 fps, 1k tbr, 30k tbn, 60k tbc
       Stream #0.1(eng): Audio: aac, 16000 Hz, mono, s16, 56 kb/s
    WARNING: The bitrate parameter is set too low. It takes bits/s as argument, not kbits/s
    Output #0, flv, to 'pipe:1':
     Metadata:
       encoder         : Lavf52.64.2
       Stream #0.0(eng): Video: flv, yuv420p, 720x480, q=2-31, 200 kb/s, 1k tbn, 1k tbc
       Stream #0.1(eng): Audio: adpcm_swf, 44100 Hz, mono, s16, 0 kb/s
    Stream mapping:
     Stream #0.0 -> #0.0
     Stream #0.1 -> #0.1
    Press [q] to stop encoding
    frame=  283 fps=175 q=31.0 Lsize=     924kB time=9.52 bitrate= 794.7kbits/s    
    video:709kB audio:207kB global headers:0kB muxing overhead 0.867656%

    But when I read the input also from pipe, I get an error :

    Command :

    $cat video-2012-04-26-19-48-40.mp4| ffmpeg -i pipe: -ar 44100 -ab 96 -f flv pipe:1 | cat> videoname.flv

    Error output :

    FFmpeg version 0.6-4:0.6-2ubuntu6.3, Copyright (c) 2000-2010 the FFmpeg developers
     built on Dec 21 2011 18:37:43 with gcc 4.4.5
     configuration: --extra-version=4:0.6-2ubuntu6.3 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-vaapi --enable-pthreads --enable-zlib --enable-libvpx --disable-stripping --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-x11grab --enable-libdc1394 --enable-shared --disable-static
     WARNING: library configuration mismatch
     libavutil   configuration: --extra-version=4:0.6-2ubuntu3.3 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libdirac --enable-libgsm --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-vaapi --enable-pthreads --enable-zlib --enable-libvpx --disable-stripping --enable-runtime-cpudetect --enable-libmp3lame --enable-gpl --enable-postproc --enable-x11grab --enable-libfaad --enable-libxvid --enable-libx264 --enable-librtmp --enable-libdc1394 --shlibdir=/usr/lib/i686/cmov --cpu=i686 --enable-shared --disable-static --disable-ffmpeg --disable-ffplay
     libavcodec  configuration: --extra-version=4:0.6-2ubuntu3.3 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libdirac --enable-libgsm --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-vaapi --enable-pthreads --enable-zlib --enable-libvpx --disable-stripping --enable-runtime-cpudetect --enable-libmp3lame --enable-gpl --enable-postproc --enable-x11grab --enable-libfaad --enable-libxvid --enable-libx264 --enable-librtmp --enable-libdc1394 --shlibdir=/usr/lib/i686/cmov --cpu=i686 --enable-shared --disable-static --disable-ffmpeg --disable-ffplay
     libavformat configuration: --extra-version=4:0.6-2ubuntu6.3 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-vaapi --enable-pthreads --enable-zlib --enable-libvpx --disable-stripping --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-x11grab --enable-libdc1394 --shlibdir=/usr/lib/i686/cmov --cpu=i686 --enable-shared --disable-static --disable-ffmpeg --disable-ffplay
     libavdevice configuration: --extra-version=4:0.6-2ubuntu6.3 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-vaapi --enable-pthreads --enable-zlib --enable-libvpx --disable-stripping --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-x11grab --enable-libdc1394 --shlibdir=/usr/lib/i686/cmov --cpu=i686 --enable-shared --disable-static --disable-ffmpeg --disable-ffplay
     libavfilter configuration: --extra-version=4:0.6-2ubuntu6.3 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-vaapi --enable-pthreads --enable-zlib --enable-libvpx --disable-stripping --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-x11grab --enable-libdc1394 --shlibdir=/usr/lib/i686/cmov --cpu=i686 --enable-shared --disable-static --disable-ffmpeg --disable-ffplay
     libswscale  configuration: --extra-version=4:0.6-2ubuntu6.3 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-vaapi --enable-pthreads --enable-zlib --enable-libvpx --disable-stripping --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-x11grab --enable-libdc1394 --shlibdir=/usr/lib/i686/cmov --cpu=i686 --enable-shared --disable-static --disable-ffmpeg --disable-ffplay
     libpostproc configuration: --extra-version=4:0.6-2ubuntu6.3 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-vaapi --enable-pthreads --enable-zlib --enable-libvpx --disable-stripping --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-x11grab --enable-libdc1394 --shlibdir=/usr/lib/i686/cmov --cpu=i686 --enable-shared --disable-static --disable-ffmpeg --disable-ffplay
     libavutil     50.15. 1 / 50.15. 1
     libavcodec    52.72. 2 / 52.72. 2
     libavformat   52.64. 2 / 52.64. 2
     libavdevice   52. 2. 0 / 52. 2. 0
     libavfilter    1.19. 0 /  1.19. 0
     libswscale     0.11. 0 /  0.11. 0
     libpostproc   51. 2. 0 / 51. 2. 0
    [mov,mp4,m4a,3gp,3g2,mj2 @ 0x8962bc0]stream 0, offset 0x28: partial file
    [mov,mp4,m4a,3gp,3g2,mj2 @ 0x8962bc0]Could not find codec parameters (Video: h264, 3304 kb/s)
    [mov,mp4,m4a,3gp,3g2,mj2 @ 0x8962bc0]Could not find codec parameters (Audio: aac, mono, s16, 56 kb/s)
    pipe:: could not find codec parameters

    Please help me fix the error.

  • H.264 and VP8 for still image coding : WebP ?

    http://x264.nl/developers/Dark_Shikari/imagecoding/output.ogv
    1er octobre 2010, par Dark Shikari — google, H.264, psychovisual optimizations, VP8

    Update : post now contains a Theora comparison as well ; see below.

    JPEG is a very old lossy image format. By today’s standards, it’s awful compression-wise : practically every video format since the days of MPEG-2 has been able to tie or beat JPEG at its own game. The reasons people haven’t switched to something more modern practically always boil down to a simple one — it’s just not worth the hassle. Even if JPEG can be beaten by a factor of 2, convincing the entire world to change image formats after 20 years is nigh impossible. Furthermore, JPEG is fast, simple, and practically guaranteed to be free of any intellectual property worries. It’s been tried before : JPEG-2000 first, then Microsoft’s JPEG XR, both tried to unseat JPEG. Neither got much of anywhere.

    Now Google is trying to dump yet another image format on us, “WebP”. But really, it’s just a VP8 intra frame. There are some obvious practical problems with this new image format in comparison to JPEG ; it doesn’t even support all of JPEG’s features, let alone many of the much-wanted features JPEG was missing (alpha channel support, lossless support). It only supports 4:2:0 chroma subsampling, while JPEG can handle 4:2:2 and 4:4:4. Google doesn’t seem interested in adding any of these features either.

    But let’s get to the meat and see how these encoders stack up on compressing still images. As I explained in my original analysis, VP8 has the advantage of H.264′s intra prediction, which is one of the primary reasons why H.264 has such an advantage in intra compression. It only has i4x4 and i16x16 modes, not i8x8, so it’s not quite as fancy as H.264′s, but it comes close.

    The test files are all around 155KB ; download them for the exact filesizes. For all three, I did a binary search of quality levels to get the file sizes close. For x264, I encoded with --tune stillimage --preset placebo. For libvpx, I encoded with --best. For JPEG, I encoded with ffmpeg, then applied jpgcrush, a lossless jpeg compressor. I suspect there are better JPEG encoders out there than ffmpeg ; if you have one, feel free to test it and post the results. The source image is the 200th frame of Parkjoy, from derf’s page (fun fact : this video was shot here ! More info on the video here.).

    Files : (x264 [154KB], vp8 [155KB], jpg [156KB])

    Results (decoded to PNG) : (x264, vp8, jpg)

    This seems rather embarrassing for libvpx. Personally I think VP8 looks by far the worst of the bunch, despite JPEG’s blocking. What’s going on here ? VP8 certainly has better entropy coding than JPEG does (by far !). It has better intra prediction (JPEG has just DC prediction). How could VP8 look worse ? Let’s investigate.

    VP8 uses a 4×4 transform, which tends to blur and lose more detail than JPEG’s 8×8 transform. But that alone certainly isn’t enough to create such a dramatic difference. Let’s investigate a hypothesis — that the problem is that libvpx is optimizing for PSNR and ignoring psychovisual considerations when encoding the image… I’ll encode with --tune psnr --preset placebo in x264, turning off all psy optimizations. 

    Files : (x264, optimized for PSNR [154KB]) [Note for the technical people : because adaptive quantization is off, to get the filesize on target I had to use a CQM here.]

    Results (decoded to PNG) : (x264, optimized for PSNR)

    What a blur ! Only somewhat better than VP8, and still worse than JPEG. And that’s using the same encoder and the same level of analysis — the only thing done differently is dropping the psy optimizations. Thus we come back to the conclusion I’ve made over and over on this blog — the encoder matters more than the video format, and good psy optimizations are more important than anything else for compression. libvpx, a much more powerful encoder than ffmpeg’s jpeg encoder, loses because it tries too hard to optimize for PSNR.

    These results raise an obvious question — is Google nuts ? I could understand the push for “WebP” if it was better than JPEG. And sure, technically as a file format it is, and an encoder could be made for it that’s better than JPEG. But note the word “could”. Why announce it now when libvpx is still such an awful encoder ? You’d have to be nuts to try to replace JPEG with this blurry mess as-is. Now, I don’t expect libvpx to be able to compete with x264, the best encoder in the world — but surely it should be able to beat an image format released in 1992 ?

    Earth to Google : make the encoder good first, then promote it as better than the alternatives. The reverse doesn’t work quite as well.

    Addendum (added Oct. 2, 03:51) :

    maikmerten gave me a Theora-encoded image to compare as well. Here’s the PNG and the source (155KB). And yes, that’s Theora 1.2 (Ptalarbvorm) beating VP8 handily. Now that is embarassing. Guess what the main new feature of Ptalarbvorm is ? Psy optimizations…

    Addendum (added Apr. 20, 23:33) :

    There’s a new webp encoder out, written from scratch by skal (available in libwebp). It’s significantly better than libvpx — not like that says much — but it should probably beat JPEG much more readily now. The encoder design is rather unique — it basically uses K-means for a large part of the encoding process. It still loses to x264, but that was expected.

    [155KB]