FFMPEG и конвертировать SWF в изображение? - PullRequest
2 голосов
/ 04 марта 2011

Я хочу использовать ffmpeg для преобразования SWF в PNG, и я не могу извлечь изображение из некоторого вида SWF, например: http://rapidshare.com/files/450953994/Movie1.swf

и я использую этот код в bat-файле (1.bat)

cws2fws Movie1.swf 3.swf
ffmpeg -i 3.swf -f image2 -vcodec png tese%d.png

Пожалуйста, помогите мне! Я только хочу преобразовать SWF в изображение, а также предложить другой способ звучать полезно?

1 Ответ

1 голос
/ 05 марта 2011

Mencoder не поддерживает сжатие [swf @ 0xc230a0]Compressed SWF format not supported. Попробуйте http://www.swftools.org/download.html (я пробовал себя после компиляции swftools, но безуспешно). возврат swfextract

$ swfextract test.swf 
Objects in file test.swf:
[-i] 1 Shape: ID(s) 1
[-f] 1 Frame: ID(s) 0

Нет видео, нет звука, нет PNG ...

Обновление --- --- 1010 *

После нескольких поручений swfrender из swftools сделает эту работу. Есть недокументированная опция pagerange. От swfrender.c:

int args_callback_option(char*name,char*val)
{
    if(!strcmp(name, "V")) {
        printf("swfrender - part of %s %s\n", PACKAGE, VERSION);
        exit(0);
    } else if(!strcmp(name, "o")) { 

    […]

    } else if(!strcmp(name, "p")) {
        pagerange = val;
        return 1;
    } else if(!strcmp(name, "s")) {

    […]

    return 0;
}

Теперь, зная это, вы можете сделать скрипт оболочки (здесь быстрый и грязный с bash):

#!/bin/bash
let count=1
swfinput=$1
while :
do
    output=`basename $swfinput .swf`$count.png
    swfrender $swfinput -p $count -o $output
    if [ ! -f $output ];
    then
        break
    fi
    echo swfrender $swfinput -p $count -o $output
    ((count++))
done

Вот и все ...

...