Shared Hosting + Static FFMPEG + PHP (or other scripting language) == failure on finding codec

here is the following environment:

  1. 1and1 shared hosting (they do not have ffmpeg installed, all good)
  2. i built a static ffmpeg binary that does not require dynamic loading of shared libaries (i built this on an Ubuntu system)
  3. ffmpeg binary is fully accessible and is able to get access
  4. executing the same command terminal or executing a php/perl script via terminal works fine…however, both scripts through a browser/web request fails with the following:
    Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height

    array
      0 => string 'ffmpeg version git-2012-07-06-6936111 Copyright (c) 2000-2012 the FFmpeg developers' (length=83)
      1 => string '  built on Jul  5 2012 23:04:34 with gcc 4.4.3' (length=46)
      2 => string '  configuration: --prefix='~/ffmpeg' --enable-gpl --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree --enable-version3 --enable-static --disable-shared --extra-libs=-static --extra-cflags=-static' (length=323)
      3 => string '  libavutil      51. 64.100 / 51. 64.100' (length=40)
      4 => string '  libavcodec     54. 33.100 / 54. 33.100' (length=40)
      5 => string '  libavformat    54. 15.100 / 54. 15.100' (length=40)
      6 => string '  libavdevice    54.  1.100 / 54.  1.100' (length=40)
      7 => string '  libavfilter     3.  0.101 /  3.  0.101' (length=40)
      8 => string '  libswscale      2.  1.100 /  2.  1.100' (length=40)
      9 => string '  libswresample   0. 15.100 /  0. 15.100' (length=40)
      10 => string '  libpostproc    52.  0.100 / 52.  0.100' (length=40)
      11 => string 'Input #0, image2, from 'http://axiomchurch.co/main/wp-content/plugins/video-embed-thumbnail-generator/flash/skin/images/PlayNormal.png':' (length=136)
      12 => string '  Duration: 00:00:00.04, start: 0.000000, bitrate: N/A' (length=54)
      13 => string '    Stream #0:0: Video: png, rgba, 100x100, 25 tbr, 25 tbn, 25 tbc' (length=66)
      14 => string '[graph 0 input from stream 0:0 @ 0x9482000] w:100 h:100 pixfmt:rgba tb:1/25 fr:25/1 sar:0/1 sws_param:flags=2' (length=109)
      15 => string '[output stream 0:0 @ 0x948ccc0] No opaque field provided' (length=56)
      16 => string '[auto-inserted scaler 0 @ 0x948d160] w:100 h:100 fmt:rgba sar:0/1 -> w:100 h:100 fmt:yuvj420p sar:0/1 flags:0x4' (length=111)
      17 => string '[mjpeg @ 0x948c760] ff_frame_thread_encoder_init failed' (length=55)
      18 => string 'Output #0, image2, to '/homepages/17/d411786663/htdocs/main/wp-content/uploads/2012/07/ffmpeg_exists_test%d.jpg':' (length=113)
      19 => string '    Stream #0:0: Video: mjpeg, yuvj420p, 100x100, q=2-31, 200 kb/s, 90k tbn, 25 tbc' (length=83)
      20 => string 'Stream mapping:' (length=15)
      21 => string '  Stream #0:0 -> #0:0 (png -> mjpeg)' (length=36)
      22 => string 'Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height' (length=119)

The command being executed:

Read More
 /kunden/homepages/17/.../htdocs/bin/ffmpeg -i http://....co/main/wp-content/plugins/video-embed-thumbnail-generator/flash/skin/images/PlayNormal.png -ac 2 /homepages/17/.../htdocs/main/wp-content/uploads/2012/07/ffmpeg_exists_test.jpg

You can see i have the full path of my ffmpeg binary and that it is executing. Here is what it looks like successfully via terminal:

    ffmpeg version git-2012-07-06-6936111 Copyright (c) 2000-2012 the FFmpeg developers
      built on Jul  5 2012 23:04:34 with gcc 4.4.3
      configuration: --prefix='~/ffmpeg' --enable-gpl --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree --enable-version3 --enable-static --disable-shared --extra-libs=-static --extra-cflags=-static
      libavutil      51. 64.100 / 51. 64.100
      libavcodec     54. 33.100 / 54. 33.100
      libavformat    54. 15.100 / 54. 15.100
      libavdevice    54.  1.100 / 54.  1.100
      libavfilter     3.  0.101 /  3.  0.101
      libswscale      2.  1.100 /  2.  1.100
      libswresample   0. 15.100 /  0. 15.100
      libpostproc    52.  0.100 / 52.  0.100
    Input #0, image2, from 'http://axiomchurch.co/main/wp-content/plugins/video-embed-thumbnail-generator/flash/skin/images/PlayNormal.png':
      Duration: 00:00:00.04, start: 0.000000, bitrate: N/A
        Stream #0:0: Video: png, rgba, 100x100, 25 tbr, 25 tbn, 25 tbc
    [graph 0 input from stream 0:0 @ 0x9482000] w:100 h:100 pixfmt:rgba tb:1/25 fr:25/1 sar:0/1 sws_param:flags=2
    [output stream 0:0 @ 0x948ccc0] No opaque field provided
    [auto-inserted scaler 0 @ 0x948d160] w:100 h:100 fmt:rgba sar:0/1 -> w:100 h:100 fmt:yuvj420p sar:0/1 flags:0x4
    Output #0, image2, to '/homepages/17/d411786663/htdocs/main/wp-content/uploads/2012/07/ffmpeg_exists_test.jpg':
      Metadata:
        encoder         : Lavf54.15.100
        Stream #0:0: Video: mjpeg, yuvj420p, 100x100, q=2-31, 200 kb/s, 90k tbn, 25 tbc
    Stream mapping:
      Stream #0:0 -> #0:0 (png -> mjpeg)
    Press [q] to stop, [?] for help
    frame=    1 fps=0.0 q=0.0 Lsize=       0kB time=00:00:00.04 bitrate=   0.0kbits/s    
    video:2kB audio:0kB subtitle:0 global headers:0kB muxing overhead -100.000000%

The user running the script at terminal AND the apache user are the same user…i have verified this.

Something about the environment apache is running through is killing me…i dont have access to apache error logs unfortunately.

As a side note…i am trying to utilize the Video Embed & Thumbnail Generator for wordpress.

Any help appreciated, thanks!

Related posts

Leave a Reply