ffmpeg: convert audio-only flv to swf

10,606

Solution 1

You need to install libmp3lame. Also, you might need to try setting your microphone recording rate to 44.

Solution 2

Install the unstripped and extra libraries

sudo apt-get install ffmpeg libavcodec-extra-53
Share:
10,606

Related videos on Youtube

Michael Brewer-Davis
Author by

Michael Brewer-Davis

Have banjo, will code.

Updated on April 15, 2022

Comments

  • Michael Brewer-Davis
    Michael Brewer-Davis about 2 years

    My Flex application records audio-only FLV files using red5--I'd like to convert these to SWF files so I can embed them in other SWF files. (I could also convert to MP3 and then embed them into SWFs myself, but I'd prefer a one step solution.)

    Anyone have experience doing this?

    What I've tried:

    The following naive ffmpeg command fails:

    > ffmpeg -i 3139747641.flv -vn movie.swf
    FFmpeg version SVN-r21751-snapshot, Copyright (c) 2000-2010 Fabrice Bellard, et al.
      built on Feb 11 2010 09:15:42 with gcc 4.2.1 (SUSE Linux)
      configuration: --enable-gpl --enable-nonfree
      libavutil     50. 9. 0 / 50. 9. 0
      libavcodec    52.53. 0 / 52.53. 0
      libavformat   52.52. 0 / 52.52. 0
      libavdevice   52. 2. 0 / 52. 2. 0
      libswscale     0.10. 0 /  0.10. 0
    [flv @ 0x8a5e3a0]Could not find codec parameters (Video: 0x0000)
    [flv @ 0x8a5e3a0]Estimating duration from bitrate, this may be inaccurate
    Input #0, flv, from '3139747641.flv':
      Metadata:
        audiocodecid    : -1
        duration        : 0
        videocodecid    : -1
        canSeekToEnd    : true
      Duration: 00:00:14.88, start: 0.000000, bitrate: N/A
        Stream #0.0: Video: 0x0000, 1k tbr, 1k tbn, 1k tbc
        Stream #0.1: Audio: nellymoser, 8000 Hz, mono, s16
    Output #0, swf, to 'movie.swf':
        Stream #0.0: Audio: 0x0000, 8000 Hz, mono, s16, 64 kb/s
    Stream mapping:
      Stream #0.1 -> #0.0
    Encoder (codec id 86017) not found for output stream #0.0
    

    I've tried adding a dummy video, but this also failed:

    > ffmpeg -i dummy.mov -i 3139747641.flv movie.swf
    <!-- snip -->    
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'dummy.mov':
      Metadata:
        major_brand     : qt  
        minor_version   : 512
        compatible_brands: qt  
        encoder         : Lavf52.52.0
        encoder-eng     : Lavf52.52.0
      Duration: 00:00:00.10, start: 0.000000, bitrate: 62 kb/s
        Stream #0.0(eng): Video: mpeg4, yuv420p, 10x10 [PAR 1:1 DAR 1:1], 1 kb/s, 10 fps, 10 tbr, 10 tbn, 10 tbc
    [flv @ 0x8a67fa0]Could not find codec parameters (Video: 0x0000)
    [flv @ 0x8a67fa0]Estimating duration from bitrate, this may be inaccurate
    Input #1, flv, from '3139747641.flv':
      Metadata:
        audiocodecid    : -1
        duration        : 0
        videocodecid    : -1
        canSeekToEnd    : true
      Duration: 00:00:14.88, start: 0.000000, bitrate: N/A
        Stream #1.0: Video: 0x0000, 1k tbr, 1k tbn, 1k tbc
        Stream #1.1: Audio: nellymoser, 8000 Hz, mono, s16
    picture size invalid (0x0)
    Cannot allocate temp picture, check pix fmt
    
  • EricR
    EricR over 13 years
    thanks, this worked for me. You saved me quite a while of digging. cheers.