[FFmpeg-user] Extracting images from swf using ffmpeg (version 8 swf vs version 10)

Moritz Barsnick barsnick at gmx.net
Sun Oct 9 22:39:16 EEST 2016

On Sun, Oct 09, 2016 at 11:54:37 -0700, Ryder Wright wrote:
> I'd be interested in learning more about how the full log can help debug
> this issue.  Here's the full output:

In this case, not much (technically), but generally speaking:
- We can see which version you are using. Often, issues have been
  solved and features been added "in the meantime".
- We can see the compilation options. Sometimes some feature or library
  may be missing.
- We can see what ffmpeg makes of the input file and its streams.
- We can see what happened before (and sometimes after) the error
  excerpt you happened to post.

> ffmpeg version 2.8.5 Copyright (c) 2000-2016 the FFmpeg developers

You version is quite old. We usually recommend you to try the latest
version of git master if possible, or at the very least the latest
release. In this case, I don't see any significant diffences in swfdec,
but what do I know. It may be related to the used codec.

> [swf @ 0x7fb6b9804600] SWF compressed file detected
> b.swf: could not find codec parameters

ffmpeg bails out pretty early, I think it can't even see the streams.

> I can share under separate cover if it is useful.

Not to me, I'm not a developer, nor do I know much about SWF. Perhaps
there's a different v10 sample to be found on the net which exposes the
same symptoms, but I'm too lazy to search.

> How does one specify an input format and an output format with the same
> flag (-f)?

Let me quote from the same manual:

  As a general rule, options are applied to the next specified file.
  Therefore, order is important, and you can have the same option on
  the command line multiple times. Each occurrence is then applied to
  the next input or output file. Exceptions from this rule are the
  global options (e.g. verbosity level), which should be specified

  Do not mix input and output files -- first specify all input files,
  then all output files. Also do not mix options which belong to
  different files. All options apply ONLY to the next input or output
  file and are reset between files.

In other words: Before each input file, you can specify its input
options, and before each output file its output options. That's how you
can use "-f" both for your input and your output.

> When would one need to specify a format of 'swf'?  How about 'avm2'?  I was
> initially thinking maybe the difference between version 8 and version 10
> was that version 8 was using 'swf' and version 10 was using 'avm2'.

ffmpeg has various methods of auto-detecting a format. One last resort
is the filename extension. You can use "-f" if you want to help ffmpeg
or override its decision.

I wasn't even aware of avm2. Have you tried specifying "-f avm2" as
input option to your v10 file?

> Sincerely appreciation the response Moritz ... thanks!


More information about the ffmpeg-user mailing list