首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用ffmpeg将swf文件转换为mp4

使用ffmpeg将swf文件转换为mp4
EN

Stack Overflow用户
提问于 2015-10-15 14:58:45
回答 2查看 9.6K关注 0票数 7

我需要使用ffmpeg命令(命令行)将swf文件转换为mp4文件。swf文件中也有文本必须进行转换。但是,当我使用以下ffmpeg命令转换文件时,swf文件中的文本不会转换为mp4 /没有文本在mp4文件中可见:

代码语言:javascript
运行
复制
ffmpeg -i file.swf video.mp4

还有其他命令来转换文本吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-15 15:30:29

ffmeg不支持swf中的形状和精灵。它只能转换视频(索伦森星火,VP6),音频(pcm,adpcm,mp3)和图像(jpeg)包含在一个swf文件。你得去找另一个工具。

票数 6
EN

Stack Overflow用户

发布于 2016-09-02 13:54:51

我也有同样的问题。我走来走去是用咬人的生料。

下面的bash脚本总结了单个步骤。

代码语言:javascript
运行
复制
#!/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
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33151918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档