什么是在Linux CLI上将常见视频格式转换为FLV的最佳工具

时间:2008-09-18 22:48:11

标签: linux flash video flv

我被指派处理的新产品的一部分涉及服务器端将“常见”视频格式转换为Flash可以播放的内容。

据我所知,我唯一的选择是转换为FLV。我一直在给ffmpeg打电话,但是我发现了一些声音乱码的WMV文件(我试过播放音频)。

Linux还有其他“好”的CLI转换器吗?或者Flash可以播放其他视频格式吗?

2 个答案:

答案 0 :(得分:15)

Flash可以播放以下格式:

FLV with AAC or MP3 audio, and FLV1 (Sorenson Spark H.263), VP6, or H.264 video.
MP4 with AAC or MP3 audio, and H.264 video (mp4s must be hinted with qt-faststart or mp4box).

ffmpeg是一个整体良好的转换实用程序; mencoder在模糊和专有格式下工作得更好(由于w32codecs二进制解码器包),但它的多路复用相当不理想(读取:经常完全破坏)。一种解决方案可能是使用x264通过mencoder对H.264进行编码,然后使用mp4box分别进行多路复用。

作为x264的开发者(以及用于在线视频播放的Flash的狂热用户),我在这类内容方面有相当多的经验,所以如果你想要更多的帮助,我也可以在Freenode IRC上使用#x264,#ffmpeg和#mplayer。

答案 1 :(得分:2)

默认情况下,大多数编码器(包括ffmpeg)将mp4的头部原子(“moov atom”)放在视频的末尾,因为在完成编码之前它们不能放置标头。但是,为了让文件在下载之前开始播放,必须将moov原子移到前面。

要做到这一点,你必须(重新)使用mp4box(默认情况下这样做)或使用qt-faststart,这是一个简单地将原子移到前面的ffmpeg脚本。它很简单。

请注意,对于FLV,默认情况下,ffmpeg将使用FLV1视频格式,这非常糟糕;到目前为止,它已经有十多年的历史了,而且鉴于现代标准,它的效率相当糟糕。使用像H.264这样的更现代的格式你会好得多。

相关问题