如何将 MP4 转换为 SWF

如何将 MP4 转换为 SWF

有人能给我提供 FFmpeg 的命令行参数来将 MP4 视频转换为 Adob​​e Flash SWF 文件吗?

答案1

基本上是这样的:

ffmpeg -i in.mp4 out.swf

这将默认将视频转换为 Sorenson Spark(H.263,或称为flv1),并将音频转换为 MP3,使用您的 FFmpeg 所具有的任何 MP3 编码器 - 可能是libmp3lame

如果您需要更改视频质量,您有两个选择:

  • 在后面添加一个-qscale:v选项-i in.mp4,其值从 1 到 31,值越高表示质量越差(请先尝试 2 或 3)。这是一个 VBR 设置。

  • 添加-b:v带有比特率的选项,例如1M500K。当然,这是 CBR 设置,可能会导致单位文件大小的视觉质量较低。

对于音频:

  • 添加-q:aVBR MP3 选项,值在 0 到 7 之间,0 表示最佳质量。

  • 添加-b:aCBR MP3 选项,例如192K


考虑将您的视频转换为 FLV 容器,它可以处理比 SWF(仅支持 H.263、VP6 或 Motion JPEG)更多种类的编解码器。

这样您就可以使用 H.264 视频和 AAC 音频,与 SWF 文件中的 H.263 / MP3 变体相比,它们可以在较小的文件大小下提供更好的质量。您甚至可能有机会复制比特流,这意味着质量完全不会降低。

ffmpeg -i in.mp4 -c copy out.flv

如果这不起作用,请重新编码:

ffmpeg -i in.mp4 -c:v libx264 -c:a aac -strict experimental -b:a 192K out.flv

这将使用 x264 编码器。要在此处更改视频质量,您有以下选项:

  • -crf在后面添加一个选项-i in.mp4,其值介于 0 到 51 之间,值越低表示质量越好。默认值为 23,合理值为 18-28。

  • 添加-b:v选项,类似于上面的恒定比特率模式。

查看x264 编码指南在 FFmpeg wiki 上查看更多信息。

相关内容