VideoHelp Forum
+ Reply to Thread
Results 1 to 23 of 23
Thread
  1. Is it possible to use the ffmpeg binary within the ffmpegx package contents, as a command line program? I would like to convert a WAV audio file to WMA and ffmpeg is supposedly able to do that (didn't see it in ffmpegx), but I'm trying to avoid compiling my own. Normally I'm pretty competent with computers, but I'm a total stranger to UNIX so go easy on me.
    Quote Quote  
  2. Explorer Case's Avatar
    Join Date
    Feb 2004
    Location
    Middle Earth
    Search Comp PM
    The copy of ffmpeg in ffmpegX may be compiled without the WMA encoding options. Not sure if major did that, but I couldn't get it to work either.
    The -formats option lists only decoding ability for wmav1 and wmav2.
    Quote Quote  
  3. Thanks Case. So how do you go about running it from the command line, just out of curiosity?

    I'm going to try and find a pre-compiled binary of ffmpeg ...
    Quote Quote  
  4. Explorer Case's Avatar
    Join Date
    Feb 2004
    Location
    Middle Earth
    Search Comp PM
    A regular "Audio file to mp3" conversion would go something like:
    Code:
    ffmpeg -i in.wav -y -threads 2 -vn -f mp2 -acodec mp3 -ab 128 -ar 44100 -ac 2 -map 0.0:0.0 -benchmark out.mp3
    which translates to:
    ffmpeg (the program that should be activated and use the following parameters)
    -i in.wav (input file)
    -y (overwrite output files)
    -threads 2 (thread count)
    -vn (disable video)
    -f mp2 (force format)
    -acodec mp3 (force audio codec)
    -ab 128 (set audio bitrate)
    -ar 44100 (set audio sampling rate)
    -ac 2 (set number of audio channels)
    -map 0.0:0.0 (set input stream mapping)
    -benchmark (add timings for benchmarking)
    out.mp3 (output file)

    The input file and output file should be full path in most cases, as the home directory is default.
    As ffmpeg isn't installed in /usr/bin/ or so, it should be identified with the full path, too.
    To do so in the Terminal, you may use drag-and-drop.

    Some of the command line options listed above aren't strictly needed:
    - audio sampling rate defaults to same as source if such is valid
    - number of audio channels defaults to same as source if such is valid
    - stream mapping 0.0:0.0 is default
    - benchmarking can be skipped
    Quote Quote  
  5. I understand running commands and using arguments and so forth (I used to play with DOS a lot), but I'm having trouble getting up to that point.

    Here's what I've done.
    1. right-click ffmpegx app, and choose Show Package Contents.
    2. open Contents/Resources
    3. copied "ffmpeg" file into a new folder on HD
    4. Launched "Terminal" and navigated to folder containing the "ffmpeg" UNIX executable file.
    5. Type "ffmpeg" with and without various arguments at the prompt, and all I get is "command not found"

    What am I doing wrong?
    Quote Quote  
  6. Explorer Case's Avatar
    Join Date
    Feb 2004
    Location
    Middle Earth
    Search Comp PM
    Originally Posted by exekutive
    3. copied "ffmpeg" file into a new folder on HD
    Not needed, as the path below shows. Nothing wrong it with either.

    Originally Posted by exekutive
    4. Launched "Terminal" and navigated to folder containing the "ffmpeg" UNIX executable file.
    Changing the working directory may be handy for your input and output files, but it does nothing for the executable.

    Originally Posted by exekutive
    5. Type "ffmpeg" with and without various arguments at the prompt, and all I get is "command not found"?
    Originally Posted by Case
    As ffmpeg isn't installed in /usr/bin/ or so, it should be identified with the full path, too.
    Code:
    Computer-name:~ username$ /Applications/ffmpegX_0.0.9y/ffmpegX.app/Contents/Resources/ffmpeg -i /Users/username/Desktop/in.wav -vn -f mp2 -acodec mp3 /Users/username/Desktop/out.mp3
    Quote Quote  
  7. Where is my usr/bin directory and how do I install ffmpeg there?
    Quote Quote  
  8. Member
    Join Date
    May 2008
    Location
    United Kingdom
    Search Comp PM
    I did this way.

    Open a terminal from administrator account

    cd /usr/bin
    sudo ln -s /Applications/ffmpegX.app/Contents/Resources/ffmpeg .

    be carefull to write the last dot
    It makes a link in your /usr/bin/ folder to ffmpeg (just doublecheck that the folder has the same name in your computer.

    once it's there you can run ffmpeg from everywhere in the shell.

    if you are not amministrator you still can make a link in your home directory

    ln -s /Applications/ffmpegX.app/Contents/Resources/ffmpeg .

    to run it from the directory it is:

    ./ffmpeg

    if you put it in /home/you/bin you can call it

    ~/bin/ffmpeg

    hope I've helped
    Quote Quote  
  9. That worked. Thanks Stefano!
    I didn't even know the 'usr' directory existed. Is there some way to open it from Finder?
    Quote Quote  
  10. Actually, I see WMAV there under codecs, which would suggest ffmpeg could encode and decode it.

    Code:
    FFmpeg version CVS, Copyright (c) 2000-2004 Fabrice Bellard
    Mac OSX universal build for ffmpegX
      configuration:  --enable-memalign-hack --enable-mp3lame --enable-gpl --disable-vhook --disable-ffplay --disable-ffserver --enable-a52 --enable-xvid --enable-faac --enable-faad --enable-amr_nb --enable-amr_wb --enable-pthreads --enable-x264 
      libavutil version: 49.0.0
      libavcodec version: 51.9.0
      libavformat version: 50.4.0
      built on Apr 15 2006 04:58:19, gcc: 4.0.1 (Apple Computer, Inc. build 5250)
    File formats:
      E 3g2             3gp2 format
      E 3gp             3gp format
     D  4xm             4X Technologies 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 avi             avi format
     D  avs             avs format
      E crc             crc testing format
     D  daud            D-Cinema audio format
     D  dts             raw dts
     DE dv              DV video format
      E dvd             MPEG2 PS format (DVD VOB)
     D  ea              Electronic Arts Multimedia Format
     DE ffm             ffm format
     D  film_cpk        Sega FILM/CPK format
     D  flic            FLI/FLC/FLX animation format
     DE flv             flv format
      E framecrc        framecrc testing format
     DE gif             GIF Animation
     DE h261            raw h261
     DE h263            raw h263
     DE h264            raw H264 video format
     D  idcin           Id CIN format
     DE image           image sequence
     DE image2          image2 sequence
     DE image2pipe      piped image2 sequence
     DE imagepipe       piped image 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
     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  nsv             NullSoft Video format
      E null            null video format
     DE nut             nut format
     D  nuv             NuppelVideo format
     D  ogg             Ogg
      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  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
      E vcd             MPEG1 System format (VCD)
     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
     DE yuv4mpegpipe    YUV4MPEG pipe format
    
    Image formats (filename extensions, if any, follow):
     DE gif    gif
    
    Codecs:
     D V    4xm
     D V D  8bps
     DEA    aac
     D V D  aasc
     DEA    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
     DEA    amr_nb
     DEA    amr_wb
     DEV D  asv1
     DEV D  asv2
     D V D  avs
     D V    bmp
     D V D  camstudio
     D V D  camtasia
     D V D  cinepak
     D V D  cljr
     D A    cook
     D V D  cyuv
     DES    dvbsub
     DES    dvdsub
     DEV D  dvvideo
     DEV D  ffv1
     DEVSD  ffvhuff
     D A    flac
     D V D  flic
     DEVSD  flv
     D V D  fraps
     DEA    g726
     DEV D  h261
     DEVSDT h263
     D VSD  h263i
      EV    h263p
     DEV DT h264
     DEVSD  huffyuv
     D V D  idcinvideo
     D V D  indeo2
     D V    indeo3
     D A    interplay_dpcm
     D V D  interplayvideo
      EV    jpegls
     D V    kmvc
      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
     DEA    mp3
     D A    mp3adu
     D A    mp3on4
     DEVSDT mpeg1video
     DEVSDT mpeg2video
     DEVSDT mpeg4
     D A    mpeg4aac
     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    theora
     D V D  truemotion1
     D V D  truemotion2
     D A    truespeech
     D A    tta
     D V D  ultimotion
     D V    vc9
     D V D  vcr1
     D A    vmdaudio
     D V D  vmdvideo
     D A    vorbis
     D V    vp3
     D V D  vqavideo
     D A    wmav1
     D A    wmav2
     DEVSD  wmv1
     DEVSD  wmv2
     D V D  wnv1
     D A    ws_snd1
     D A    xan_dpcm
     D V D  xan_wc3
     D V D  xl
      EV    xvid
     DEV D  zlib
     D V    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
    However, when I tried to run this:

    Code:
    macbook:/ Joe$ ffmpeg -i older.wav -acodec wmav2 older.asf
    I got:

    Code:
    FFmpeg version CVS, Copyright (c) 2000-2004 Fabrice Bellard
    Mac OSX universal build for ffmpegX
      configuration:  --enable-memalign-hack --enable-mp3lame --enable-gpl --disable-vhook --disable-ffplay --disable-ffserver --enable-a52 --enable-xvid --enable-faac --enable-faad --enable-amr_nb --enable-amr_wb --enable-pthreads --enable-x264 
      libavutil version: 49.0.0
      libavcodec version: 51.9.0
      libavformat version: 50.4.0
      built on Apr 15 2006 04:58:19, gcc: 4.0.1 (Apple Computer, Inc. build 5250)
    Input #0, wav, from 'older.wav':
      Duration: 00:02:50.2, start: 0.000000, bitrate: 1411 kb/s
      Stream #0.0: Audio: pcm_s16le, 44100 Hz, stereo, 1411 kb/s
    Output #0, asf, to 'older.asf':
      Stream #0.0: Audio: 0x0000, 44100 Hz, stereo, 64 kb/s
    Stream mapping:
      Stream #0.0 -> #0.0
    Unsupported codec for output stream #0.0
    Quote Quote  
  11. Originally Posted by exekutive
    Actually, I see WMAV there under codecs, which would suggest ffmpeg could encode and decode it.
    Oops. Nevermind. The 'D' in front means decode only. Darn.
    Quote Quote  
  12. Did see this in the FFMPEG news though

    (March 09, 2007) Nine months without news but with heavy development. A few select highlights are decoders for VC-1/WMV3/WMV9, VMware, VP5, VP6 video and WavPack, IMC, DCA audio and a WMA encoder.
    Quote Quote  
  13. Explorer Case's Avatar
    Join Date
    Feb 2004
    Location
    Middle Earth
    Search Comp PM
    Originally Posted by exekutive
    I didn't even know the 'usr' directory existed. Is there some way to open it from Finder?
    Finder > menu Go > Go to Folder... > /usr
    Quote Quote  
  14. Originally Posted by Case
    Originally Posted by exekutive
    I didn't even know the 'usr' directory existed. Is there some way to open it from Finder?
    Finder > menu Go > Go to Folder... > /usr
    So is it a hidden folder?
    Quote Quote  
  15. Explorer Case's Avatar
    Join Date
    Feb 2004
    Location
    Middle Earth
    Search Comp PM
    Yes, a don't-mess-with-this-unless-you-know-what-you're-doing folder.
    Quote Quote  
  16. I see. So I'm guessing Finder is configured never to show these folders, and not even give you the ability to set their visibility? What if I wanted to hide my own folder ... I do it from the command line with like an 'h' attribute or something?
    Quote Quote  
  17. So I'm in the process of compiling ffmpeg

    I tried to follow the guide here:
    http://stephenjungels.com/jungels.net/articles/ffmpeg-howto.html
    I've make'd the faac, faad and lame libraries. They're in my usr/local/bin directory.

    I'm at the step of configuring ffmpeg using this command:
    Code:
    ./configure --enable-libmp3lame --disable-vhook --enable-shared  --disable-mmx --enable-libfaac --enable-libfaad --enable-gpl
    This is the result I get:
    Code:
    ERROR: LAME not found
    If you think configure made a mistake, make sure you are using the latest
    version from SVN.  If the latest version fails, report the problem to the
    ffmpeg-user <at> mplayerhq.hu mailing list or IRC #ffmpeg on irc.freenode.net.
    Include the log file "config.err" produced by configure as this will help
    solving the problem.
    Last bit of config.err looks like this:
    Code:
    gcc -pipe -force_cpusubtype_ALL -Wno-sign-compare -fomit-frame-pointer -c -o /tmp/ffmpeg-conf-6187-11713-17843.o /tmp/ffmpeg-conf-31189-11713-29063.c
    gcc -Wl,-dynamic,-search_paths_first -o /tmp/ffmpeg-conf-23808-11713-23563 /tmp/ffmpeg-conf-6187-11713-17843.o -lz -lbz2 -lm -lfaac -lfaad
    check_lib lame/lame.h lame_init -lmp3lame -lm
    check_header lame/lame.h
    check_cpp
    BEGIN /tmp/ffmpeg-conf-31189-11713-29063.c
        1	#include <lame/lame.h>
        2	int x;
    END /tmp/ffmpeg-conf-31189-11713-29063.c
    gcc -pipe -force_cpusubtype_ALL -Wno-sign-compare -fomit-frame-pointer -E -o /tmp/ffmpeg-conf-6187-11713-17843.o /tmp/ffmpeg-conf-31189-11713-29063.c
    /tmp/ffmpeg-conf-31189-11713-29063.c:1:23: error: lame/lame.h: No such file or directory
    ERROR: LAME not found
    What am I doing wrong?
    Quote Quote  
  18. OK looks like I just had to put the lame.h include file in a lame subdir.

    Now I get a new error during the make.

    Code:
    make(20468) malloc: *** vm_allocate(size=4272963584) failed (error code=3)
    make(20468) malloc: *** error: can't allocate region
    make(20468) malloc: *** set a breakpoint in szone_error to debug
    make: *** virtual memory exhausted.  Stop.
    I knew this wouldn't be easy.
    Quote Quote  
  19. Upgraded 'make' from 3.80 to 3.81 and it works now.
    Quote Quote  
  20. The 'make' did not finish and gave an error:

    Code:
    In file included from libavcodec/i386/idct_mmx.c:25:
    libavcodec/i386/mmx.h:24:2: warning: #warning Everything in this header is deprecated, use plain asm()! New code using this header will be rejected.
    gcc -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_ISOC9X_SOURCE -I"/ffmpeg" -I"/ffmpeg" -pipe -force_cpusubtype_ALL -Wno-sign-compare -fomit-frame-pointer -g -Wdeclaration-after-statement -Wall -Wno-switch -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wno-pointer-sign -Wcast-qual -Wwrite-strings -O3 -fno-math-errno       -c -o libavcodec/i386/dsputilenc_mmx.o libavcodec/i386/dsputilenc_mmx.c
    gcc -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_ISOC9X_SOURCE -I"/ffmpeg" -I"/ffmpeg" -pipe -force_cpusubtype_ALL -Wno-sign-compare -fomit-frame-pointer -g -Wdeclaration-after-statement -Wall -Wno-switch -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wno-pointer-sign -Wcast-qual -Wwrite-strings -O3 -fno-math-errno       -c -o libavcodec/i386/cavsdsp_mmx.o libavcodec/i386/cavsdsp_mmx.c
    libavcodec/i386/cavsdsp_mmx.c: In function 'ff_put_cavs_qpel8_mc01_3dnow':
    libavcodec/i386/cavsdsp_mmx.c:448: error: can't find a register in class 'GENERAL_REGS' while reloading 'asm'
    make: *** [libavcodec/i386/cavsdsp_mmx.o] Error 1
    I did not disable MMX. Does anyone know whether it should or not on a 1st gen macbook pro?
    Quote Quote  
  21. Success!
    I just took out the --enable-shard switch and ffmpeg compiled without error.

    Now I am able to encode my own WMA files!
    Quote Quote  
  22. Explorer Case's Avatar
    Join Date
    Feb 2004
    Location
    Middle Earth
    Search Comp PM
    Good job, impressive! Any idea what ability you loose by taking out --enable-shard ?
    Quote Quote  
  23. Originally Posted by Case
    Good job, impressive! Any idea what ability you loose by taking out --enable-shard ?
    No clue. I was going by trial-and-error.
    Hopefully someone more knowledgeable can answer that question.
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!