使用 ffmpeg 将 swf 文件转换为 mp4
Convert swf file to mp4 using ffmpeg
我需要使用 ffmpeg 命令(命令行)将 swf 文件转换为 mp4 文件。 swf 文件中也有必须转换的文本。
但是,当我使用以下 ffmpeg 命令转换文件时,swf 文件中的文本未转换为 mp4/mp4 文件中看不到任何文本:
ffmpeg -i file.swf video.mp4
还有其他命令可以转换文本吗?
ffmeg
不支持 swf
中的 shapes and sprites。它只能转换 swf
文件中包含的视频(Sorenson Spark、VP6)、音频(pcm、adpcm、mp3)和图像(jpeg)。您将不得不寻找其他工具。
我遇到了同样的问题。我四处走动是使用 gnash.
的原始输出
以下 bash 脚本总结了单个步骤。
#!/bin/bash
SWFFILE=
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
我需要使用 ffmpeg 命令(命令行)将 swf 文件转换为 mp4 文件。 swf 文件中也有必须转换的文本。 但是,当我使用以下 ffmpeg 命令转换文件时,swf 文件中的文本未转换为 mp4/mp4 文件中看不到任何文本:
ffmpeg -i file.swf video.mp4
还有其他命令可以转换文本吗?
ffmeg
不支持 swf
中的 shapes and sprites。它只能转换 swf
文件中包含的视频(Sorenson Spark、VP6)、音频(pcm、adpcm、mp3)和图像(jpeg)。您将不得不寻找其他工具。
我遇到了同样的问题。我四处走动是使用 gnash.
的原始输出以下 bash 脚本总结了单个步骤。
#!/bin/bash
SWFFILE=
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