我需要使用ffmpeg命令(命令行)将swf文件转换为mp4文件。swf文件中也有文本必须进行转换。但是,当我使用以下ffmpeg命令转换文件时,swf文件中的文本不会转换为mp4 /没有文本在mp4文件中可见:
ffmpeg -i file.swf video.mp4
还有其他命令来转换文本吗?
发布于 2015-10-15 15:30:29
ffmeg
不支持swf
中的形状和精灵。它只能转换视频(索伦森星火,VP6),音频(pcm,adpcm,mp3)和图像(jpeg)包含在一个swf
文件。你得去找另一个工具。
发布于 2016-09-02 13:54:51
我也有同样的问题。我走来走去是用咬人的生料。
下面的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
https://stackoverflow.com/questions/33151918
复制相似问题