Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/163.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ FFMPEG并将swf转换为图像?_C++_Linux_Flash_Ffmpeg_Codec - Fatal编程技术网

C++ FFMPEG并将swf转换为图像?

C++ FFMPEG并将swf转换为图像?,c++,linux,flash,ffmpeg,codec,C++,Linux,Flash,Ffmpeg,Codec,我想使用ffmpeg将swf转换为png,但我无法从某种swf中提取图像,如: 我在bat文件(1.bat)中使用此代码 请帮帮我!! 我只想将swf转换为图像还建议其他方式听起来有用吗?孟码器不支持压缩[swf@0xc230a0]不支持压缩的swf格式。尝试一下(我在编译swftools后尝试过自己,但没有成功)。swfextract返回 $ swfextract test.swf Objects in file test.swf: [-i] 1 Shape: ID(s) 1 [-f] 1

我想使用ffmpeg将swf转换为png,但我无法从某种swf中提取图像,如:

我在bat文件(1.bat)中使用此代码

请帮帮我!!
我只想将swf转换为图像还建议其他方式听起来有用吗?

孟码器不支持压缩
[swf@0xc230a0]不支持压缩的swf格式
。尝试一下(我在编译swftools后尝试过自己,但没有成功)。swfextract返回

$ swfextract test.swf 
Objects in file test.swf:
[-i] 1 Shape: ID(s) 1
[-f] 1 Frame: ID(s) 0
没有视频,没有声音,没有png

更新−−−−−−

在几次差事之后,swftools的swfrender完成了这项工作。有一个未记录的
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;
}
现在知道了这一点,您可以编写一个shell脚本(在这里使用bash快速编写):


就这样…

FFMPEG支持swf吗?我不知道。。。你在哪里看到的?@ronag:
$ffmpeg-formats
返回`DE swf Flash format`我使用cws2fws解压缩swf文件你的意思是使用需要不同解压缩的ffmpeg进行转换?不,我刚刚从你的示例文件开始尝试了一个独立测试:1。使用swfcombine(由swftools提供)进行解压缩;2.尝试使用swfextract提取数据。问题是我只能找到形状数据,再也找不到了。Cws2fws可能正确地完成了这项工作,但没有视频馈送mencoder或ffmpeg,没有png。。。我不知道只有形状能做什么。(你肯定注意到我不是闪光大师)明白了!!!!swfrender由swftools提供
$swfrender Movie1.swf-o output.png
然后在png输出中获得动画的第一个图像。不需要解压或提取…现在,它是否足以满足您的需要,或者您是否会得到几个png(即动画)?Arrgghh…刚刚找到。从最初的ffmpeg调用中,我假设您已经知道了一个…真的是Thx,因为您需要重播swfrender以完成任务:D
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;
}
#!/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