我需要使用ffmpeg命令(命令行)将swf文件转换为mp4文件。 swf文件中的文本也必须转换。 但是当我转换使用swf文件下面的ffmpeg命令文本文件不会转换为MP4 /没有文字是在MP4文件中看到:使用ffmpeg将swf文件转换为mp4
ffmpeg -i file.swf video.mp4
是否有任何其他命令将文本转换?
我需要使用ffmpeg命令(命令行)将swf文件转换为mp4文件。 swf文件中的文本也必须转换。 但是当我转换使用swf文件下面的ffmpeg命令文本文件不会转换为MP4 /没有文字是在MP4文件中看到:使用ffmpeg将swf文件转换为mp4
ffmpeg -i file.swf video.mp4
是否有任何其他命令将文本转换?
ffmeg
不支持shapes and sprites在swf
。它只能转换包含在swf
文件中的视频(Sorenson Spark,VP6),音频(pcm,adpcm,mp3)和图像(jpeg)。你将不得不寻找另一种工具。
我有同样的问题。我的四处走动是使用gnash的原始输出。
以下bash脚本总结了单个步骤。
#!/bin/bash
SWFFILE=$1
MP4FILE=${SWFFILE%.*}.mp4
TMPFILE=/tmp/$(cat /dev/urandom | tr -dc 'a-zA-Z' | fold -w 32 | head -n 1).bin
TMPMP4=/tmp/$(cat /dev/urandom | tr -dc 'a-zA-Z' | fold -w 32 | head -n 1).mp4
# create raw-dump
GNASHCMD="dump-gnash -1 -r 1 -D $TMPFILE $SWFFILE"
OUTPUT="$(exec $GNASHCMD)"
# extract parameters
WIDTH="$(echo $OUTPUT | grep -o 'WIDTH=[^, }]*' | sed 's/^.*=//')"
HEIGHT="$(echo $OUTPUT | grep -o 'HEIGHT=[^, }]*' | sed 's/^.*=//')"
FPS="$(echo $OUTPUT | grep -o 'FPS_ACTUAL=[^, }]*' | sed 's/^.*=//')"
# create raw, uncompressed mp4 file
mplayer $TMPFILE -vo yuv4mpeg:file=$TMPMP4 -demuxer rawvideo -rawvideo fps=$FPS:w=$WIDTH:h=$HEIGHT:format=bgra
# create compressed mp4 (ffmpeg should work as well)
avconv -i $TMPMP4 $MP4FILE
# clean up
rm -rf $TMPFILE
rm -rf $TMPMP4
如何在您的示例中将声音添加到结果MP4中? –
在这里回答:http://stackoverflow.com/a/39304403/630169 –
感谢您的回复!你知道任何其他转换工具吗? – Hussnain
不幸的是,我不知道任何第三方工具。如果我没有记错,Adobe Flash可以选择将动画导出为视频。 – aergistal