Hi everyone.

Well here is my problem.
My website is hosted on Dreamhost. Dreamhost supports FFMpeg natively, and lets its users to compile their own versions.
See : http://wiki.dreamhost.com/FFmpeg

Blue Droplet doesn't recognize the path to my FFmpeg-directory.
I always get this error: FFmpeg not available - transcoding will fail.

I'm sure about the path I used, as it works with other modules.

I tried strings like : (I carefully replaced 'username' with my real username :))

home/username/bin/ffmpeg
/home/username/bin/ffmpeg
home/username/bin/ffmpeg
/home/username/bin/ffmpeg

Any help would be great! Thank you!

Julien

Comments

dmjossel’s picture

The same here.

When I do "which ffmpeg" I get:

/usr/bin/ffmpeg

I put this path in BD's configuration and I still get the message:

FFmpeg not available - transcoding will fail.

dmjossel’s picture

Here's the output of ffmpeg -version and ffmpeg -formats:

root@drupal6:/usr/bin# ffmpeg -version
FFmpeg version SVN-rUNKNOWN, Copyright (c) 2000-2007 Fabrice Bellard, et al.
  configuration: --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --enable-libvorbis --enable-libtheora --enable-libogg --enable-libgsm --enable-dc1394 --disable-debug --enable-libmp3lame --enable-libfaadbin --enable-libfaad --enable-libfaac --enable-xvid --enable-x264 --enable-liba52 --enable-amr_nb --enable-amr_wb --enable-shared --prefix=/usr
  libavutil version: 1d.49.3.0
  libavcodec version: 1d.51.38.0
  libavformat version: 1d.51.10.0
  built on Mar 17 2009 21:37:49, gcc: 4.2.4 (Ubuntu 4.2.4-1ubuntu3)
ffmpeg      SVN-rUNKNOWN
libavutil   3212032
libavcodec  3352064
libavformat 3344896
root@drupal6:/usr/bin# ffmpeg -formats
FFmpeg version SVN-rUNKNOWN, Copyright (c) 2000-2007 Fabrice Bellard, et al.
  configuration: --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --enable-libvorbis --enable-libtheora --enable-libogg --enable-libgsm --enable-dc1394 --disable-debug --enable-libmp3lame --enable-libfaadbin --enable-libfaad --enable-libfaac --enable-xvid --enable-x264 --enable-liba52 --enable-amr_nb --enable-amr_wb --enable-shared --prefix=/usr
  libavutil version: 1d.49.3.0
  libavcodec version: 1d.51.38.0
  libavformat version: 1d.51.10.0
  built on Mar 17 2009 21:37:49, gcc: 4.2.4 (Ubuntu 4.2.4-1ubuntu3)
File formats:
  E 3g2             3gp2 format
  E 3gp             3gp format
 D  4xm             4X Technologies format
 D  MTV             MTV format
 D  RoQ             Id RoQ format
 D  aac             ADTS AAC
 DE ac3             raw ac3
  E adts            ADTS AAC
 DE aiff            Audio IFF
 DE alaw            pcm A law format
 DE amr             3gpp amr file format
 DE asf             asf format
  E asf_stream      asf format
 DE au              SUN AU Format
 DE audio_device    audio grab and output
 DE avi             avi format
 D  avs             avs format
  E crc             crc testing format
 D  daud            D-Cinema audio format
 D  dc1394          dc1394 A/V grab
 D  dsicin          Delphine Software International CIN format
 D  dts             raw dts
 DE dv              DV video format
 D  dv1394          dv1394 A/V grab
  E dvd             MPEG2 PS format (DVD VOB)
 D  ea              Electronic Arts Multimedia Format
 DE ffm             ffm format
 D  film_cpk        Sega FILM/CPK format
 DE flac            raw flac
 D  flic            FLI/FLC/FLX animation format
 DE flv             flv format
  E framecrc        framecrc testing format
 DE gif             GIF Animation
 DE gxf             GXF format
 DE h261            raw h261
 DE h263            raw h263
 DE h264            raw H264 video format
 D  idcin           Id CIN format
 DE image2          image2 sequence
 DE image2pipe      piped image2 sequence
 D  ingenient       Ingenient MJPEG
 D  ipmovie         Interplay MVE format
 DE m4v             raw MPEG4 video format
 D  matroska        Matroska file format
 DE mjpeg           MJPEG video
 D  mm              American Laser Games MM format
 DE mmf             mmf format
  E mov             mov format
 D  mov,mp4,m4a,3gp,3g2,mj2 QuickTime/MPEG4/Motion JPEG 2000 format
  E mp2             MPEG audio layer 2
 DE mp3             MPEG audio layer 3
  E mp4             mp4 format
 D  mpc             musepack
 DE mpeg            MPEG1 System format
  E mpeg1video      MPEG video
  E mpeg2video      MPEG2 video
 DE mpegts          MPEG2 transport stream format
 D  mpegvideo       MPEG video
  E mpjpeg          Mime multipart JPEG format
 DE mulaw           pcm mu law format
 D  mxf             MXF format
 D  nsv             NullSoft Video format
  E null            null video format
 D  nut             nut format
 D  nuv             NuppelVideo format
 DE ogg             Ogg format
  E psp             psp mp4 format
 D  psxstr          Sony Playstation STR format
 DE rawvideo        raw video format
 D  redir           Redirector format
 DE rm              rm format
  E rtp             RTP output format
 D  rtsp            RTSP input format
 DE s16be           pcm signed 16 bit big endian format
 DE s16le           pcm signed 16 bit little endian format
 DE s8              pcm signed 8 bit format
 D  sdp             SDP
 D  shn             raw shorten
 D  smk             Smacker Video
 D  sol             Sierra SOL Format
  E svcd            MPEG2 PS format (VOB)
 DE swf             Flash format
 D  tiertexseq      Tiertex Limited SEQ format
 D  tta             true-audio
 DE u16be           pcm unsigned 16 bit big endian format
 DE u16le           pcm unsigned 16 bit little endian format
 DE u8              pcm unsigned 8 bit format
 D  vc1             raw vc1
  E vcd             MPEG1 System format (VCD)
 D  video4linux     video grab
 D  video4linux2    video grab
 D  vmd             Sierra VMD format
  E vob             MPEG2 PS format (VOB)
 DE voc             Creative Voice File format
 DE wav             wav format
 D  wc3movie        Wing Commander III movie format
 D  wsaud           Westwood Studios audio format
 D  wsvqa           Westwood Studios VQA format
 D  wv              WavPack
 DE yuv4mpegpipe    YUV4MPEG pipe format

Codecs:
 D V    4xm
 D V D  8bps
 D V    VMware video
 D V D  aasc
  EA    ac3
 DEA    adpcm_4xm
 DEA    adpcm_adx
 DEA    adpcm_ct
 DEA    adpcm_ea
 DEA    adpcm_ima_dk3
 DEA    adpcm_ima_dk4
 DEA    adpcm_ima_qt
 DEA    adpcm_ima_smjpeg
 DEA    adpcm_ima_wav
 DEA    adpcm_ima_ws
 DEA    adpcm_ms
 DEA    adpcm_sbpro_2
 DEA    adpcm_sbpro_3
 DEA    adpcm_sbpro_4
 DEA    adpcm_swf
 DEA    adpcm_xa
 DEA    adpcm_yamaha
 D A    alac
 DEV D  asv1
 DEV D  asv2
 D V D  avs
 DEV    bmp
 D V D  camstudio
 D V D  camtasia
 D V D  cavs
 D V D  cinepak
 D V D  cljr
 D A    cook
 D V D  cyuv
 D A    dca
 D A    dsicinaudio
 D V D  dsicinvideo
 DES    dvbsub
 DES    dvdsub
 DEV D  dvvideo
 DEV D  ffv1
 DEVSD  ffvhuff
 DEA    flac
 DEV D  flashsv
 D V D  flic
 DEVSD  flv
 D V D  fraps
 DEA    g726
 DEV    gif
 DEA    gsm
 D A    gsm_ms
 DEV D  h261
 DEVSDT h263
 D VSD  h263i
  EV    h263p
 D V DT h264
 DEVSD  huffyuv
 D V D  idcinvideo
 D A    imc
 D V D  indeo2
 D V    indeo3
 D A    interplay_dpcm
 D V D  interplayvideo
  EV    jpegls
 D V    kmvc
  EV    libtheora
  EV    ljpeg
 D V D  loco
 D A    mace3
 D A    mace6
 D V D  mdec
 DEV D  mjpeg
 D V D  mjpegb
 D V D  mmvideo
 DEA    mp2
 D A    mp3
 D A    mp3adu
 D A    mp3on4
 D A    mpc sv7
 DEVSDT mpeg1video
 DEVSDT mpeg2video
 DEVSDT mpeg4
 D VSDT mpegvideo
 DEVSD  msmpeg4
 DEVSD  msmpeg4v1
 DEVSD  msmpeg4v2
 D V D  msrle
 D V D  msvideo1
 D V D  mszh
 D V D  nuv
 DEV    pam
 DEV    pbm
 DEA    pcm_alaw
 DEA    pcm_mulaw
 DEA    pcm_s16be
 DEA    pcm_s16le
 DEA    pcm_s24be
 DEA    pcm_s24daud
 DEA    pcm_s24le
 DEA    pcm_s32be
 DEA    pcm_s32le
 DEA    pcm_s8
 DEA    pcm_u16be
 DEA    pcm_u16le
 DEA    pcm_u24be
 DEA    pcm_u24le
 DEA    pcm_u32be
 DEA    pcm_u32le
 DEA    pcm_u8
 DEV    pgm
 DEV    pgmyuv
 DEV    png
 DEV    ppm
 D A    qdm2
 D V D  qdraw
 D V D  qpeg
 D V D  qtrle
 DEV    rawvideo
 D A    real_144
 D A    real_288
 D A    roq_dpcm
 D V D  roqvideo
 D V D  rpza
 DEV D  rv10
 DEV D  rv20
 D A    shorten
 D A    smackaud
 D V    smackvid
 D V D  smc
 DEV    snow
 D A    sol_dpcm
 DEA    sonic
  EA    sonicls
 D V D  sp5x
 DEV D  svq1
 D VSD  svq3
 D V    targa
 D V    theora
 D V D  tiertexseqvideo
 D V    tiff
 D V D  truemotion1
 D V D  truemotion2
 D A    truespeech
 D A    tta
 D V D  ultimotion
 D V    vc1
 D V D  vcr1
 D A    vmdaudio
 D V D  vmdvideo
 DEA    vorbis
 D V    vp3
 D V    vp5
 D V    vp6
 D V    vp6f
 D V D  vqavideo
 D A    wavpack
 DEA    wmav1
 DEA    wmav2
 DEVSD  wmv1
 DEVSD  wmv2
 D V    wmv3
 D V D  wnv1
 D A    ws_snd1
 D A    xan_dpcm
 D V D  xan_wc3
 D V D  xl
 DEV D  zlib
 DEV    zmbv

Supported file protocols:
 file: pipe: udp: rtp: tcp: http:
Frame size, frame rate abbreviations:
 ntsc pal qntsc qpal sntsc spal film ntsc-film sqcif qcif cif 4cif
Motion estimation methods:
 zero(fastest) full(slowest) log phods epzs(default) x1 hex umh iter

Note, the names of encoders and decoders dont always match, so there are
several cases where the above table shows encoder only or decoder only entries
even though both encoding and decoding are supported for example, the h263
decoder corresponds to the h263 and h263p encoders, for file formats its even
worse
dmjossel’s picture

I'll continue to add more information in the hopes that it will help.

On each of three systems I've tried (OS X 10.5, Ubuntu 8.04 and FreeBSD 4) the version of FFmpeg installed according to BD's instructions works under Drupal 5.x and version 2.6 of the OpenPackage video modules. I've built ffmpeg from trunk, installed a static version specifically for OS X and Ubuntu, and installed from the Medibuntu repository. All produce the same result.

Upgrading to 3.x and higher, either under Drupal 5.x or 6.x, produces the "FFmpeg not available" error, regardless of the version of FFmpeg installed, the host OS, or the permissions of the target executable.

I tried using Deadwood to port the 2.6 version of OpenPackage to Drupal 6.x but so far I've had little success (perhaps to be expected).

Is there something that changed between 2.6 and 3.x of the op_video / bd_video modules where the former would regard a particular version of FFmpeg as acceptable where the latter will not?

Will the module attempt to transcode even if the admin page shows the "not available" error? Should I just attempt to disable the error checking?

Attempting to configure the module and attempting to transcode video put no entries I can see either into watchdog, php's error log, apache's error log, or the system's messages log. Is there anywhere else I should be looking for more specific information about why FFmpeg is classified "not available" when I can easily find it from the CLI and use it without problem?

dmjossel’s picture

Just another note-- the same compiled FFMpeg binary reported "unavailable" by bd_video is usable by FFMpeg Wrapper, on the same machine, on the same site, at the same path.

nikolaynag’s picture

I've the same problem on Ubuntu 8.04 with default ffmpeg installation. I readed bd_video code and found out that it reports "FFmpeg not available - transcoding will fail." just when "ffmpeg -version" command exits with nonzero status. I checked it by bash - ffmpeg really exits with exit code 1!

Then I downloaded source code for ffmpeg with apt-src command. There is a function named "show_version" and in this function i found "exit(1)". This is definitely bug in ffmpeg and in fresh version, that I downloaded from svn it is already fixed. It is also fixed in version, that comes in Ubuntu 9.04.

dmjossel’s picture

Yes I read in many places that the default version of ffmpeg in Ubuntu, especially older ones, doesn't work. However, in this case, bd_video claims "unavailable" even when it does work, when it gives the proper output to ffmpeg -version and ffmpeg -formats (as above) and when it works fine in other modules, such as the 5.x-2.6 version of bd/op_video, and FFMpegWrapper.

In short, this is not a bug in FFMpeg, because in versions of the executable that support all required features and do not exit when giving the -version command, still claims FFmpeg is "unavailable".

I've actually now moved to Media Mover and Embedded Media Field and the same FFMpeg executable, at the same path, works fine with it.

Is this module still being actively developed? I cross-posted this in their support forum last week; no replies as of yet. In fact it's been about two months since the developers made any reply to a forum post, and longer since they answered one that was not related to using the bluedroplet.com service as part of the module.

nikolaynag’s picture

I don't know about activity in developing of blue droplet, I've tryed it yesterday first time. But it can not find ffmpeg exactly because of bug (look https://bugs.launchpad.net/ubuntu/+source/ffmpeg/+bug/380165). The problem is not in ffmpeg -version output, but in ffmpeg -version return value. You can point it out by using echo $? in bash:

nmn@omd1:~$ ffmpeg -version
FFmpeg version SVN-rUNKNOWN, Copyright (c) 2000-2007 Fabrice Bellard, et al.
  configuration: --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --enable-libvorbis --enable-libtheora --enable-libogg --enable-libgsm --enable-dc1394 --disable-debug --enable-shared --prefix=/usr
  libavutil version: 1d.49.3.0
  libavcodec version: 1d.51.38.0
  libavformat version: 1d.51.10.0
  built on Mar 16 2009 21:19:49, gcc: 4.2.4 (Ubuntu 4.2.4-1ubuntu3)
ffmpeg SVN-rUNKNOWN
libavutil 3212032
libavcodec 3352064
libavformat 3344896
nmn@omd1:~$ echo $?
1

Normal program must return 0 if there is no errors, as for example ls does:

nmn@omd1:/$ ls --version
ls (GNU coreutils) 6.10
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Richard Stallman and David MacKenzie.
nmn@omd1:/$ echo $?
0

Different modules can use different mechanisms for cheching ffmpeg, so they can work fine.

dmjossel’s picture

Ah, I see what you're saying now. Thanks for that.

Has this been in FFmpeg long?

I first installed op_video 2.6 almost a year ago with a copy of FFMpeg compiled at that time, and the latest bd_video failed with that version, also. That was on Mac OS X 10.4. Don't remember the FFmpeg version, and now I've gotten rid of it and compiled from source anyway.

This error, if it is indeed the cause of bd_video's "FFmpeg not available" response, is also present at least in FFmpegX 0.9x and 0.9y, as well as Medibuntu's package.

Although the real bug here may be in FFmpeg I still think bd_video is being too pedantic in this case. None of the other wrapper modules seem to check for this, and it seems conceivable to me that FFmpeg could be in a state that legitimately would report an exit state (1) due to some missing libraries, but this might not have directly affected the particular requirements of bd_video. If ffmpeg was not in the path, then I could see "FFmpeg not available" being a proper response, but a response to exit(1) should be something else. At least it would have made it easier to track down.

dmjossel’s picture

Category: support » feature

Changing to "feature request" to reflect a suggested change in bd_video's handling of response codes from ffmpeg -version rather than an actual bug.

dmjossel’s picture

Title: FFmpeg recognized by other modules, but by for Blue Droplet » ffmpeg -version exit(1) causes "ffmpeg unavailable" even when actually present & functioning
jbrown’s picture

Title: ffmpeg -version exit(1) causes "ffmpeg unavailable" even when actually present & functioning » work around old ffmpeg -version exit(1) bug, causing "ffmpeg unavailable" even when actually present & functioning
Assigned: Unassigned » jbrown

If you are using FFmpeg, then you should use the latest version (currently 0.5).

Typically you want to hand compile it, along with libx264, faac and other codecs to get maximum codec support.

Note that the FFmpeg interrogation on the admin page is just informative. If you think it is wrong, just go ahead and try a transcoding.

jbrown’s picture

Status: Active » Closed (won't fix)