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

我已经分配到的一个新产品的一部分涉及服务器端的“通用”video格式转换为Flash可以播放的东西。

据我所知,我唯一的select是转换为FLV。 我一直在使用ffmpeg,但是我发现有几个WMV文件出现乱码(我尝试使用audio格式播放)。

是否有任何其他“好”CLI转换器的Linux? 或者还有Flash可以播放的其他video格式?

Solutions Collecting From Web of "在Linux CLI上将常见video格式转换为FLV的最佳工具是什么?"

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二进制解码器包),但它的muxing是不是最理想的(阅读:往往完全破碎)。 一个解决方案可能是通过mencoder将x264编码为H.264,然后将mux与mp4box分开。

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

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

要做到这一点,你必须使用mp4box(这是默认),或者使用qt-faststart(用于ffmpeg的脚本)来简单地将原子移动到前面。 它很简单。

请注意,对于FLV,默认情况下,ffmpeg将使用FLV1视频格式,这非常糟糕; 在这个问题上它已经有十多年的历史了,而且鉴于现代标准,它的效率是相当可怕的。 使用H.264等更现代化的格式要好得多。