我被分配的一个新产品的一部分涉及到服务器端将“常见的”视频格式转换为Flash可以播放的格式。
据我所知,我唯一的选择是转换为FLV。我一直在尝试ffmpeg,但我发现有几个WMV文件是乱码的(我试过播放音频率)。
有没有其他“好”的Linux CLI转换器?或者,Flash还可以播放其他视频格式吗?
发布于 2008-09-18 22:50:17
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二进制解码程序包),但它的多路复用相当次优(读:经常是完全损坏的)。一种解决方案可能是通过mencoder使用x264编码H.264,然后使用mp4box单独进行多路复用。
作为x264的开发者(也是在线视频播放flash的狂热用户),我在这方面有相当多的经验,所以如果你需要更多的帮助,我也可以在#x264,#ffmpeg和#mplayer上的Freenode IRC上找到。
发布于 2008-09-18 23:02:28
默认情况下,大多数编码器(包括ffmpeg)将mp4的头原子( "moov原子“)放在视频的末尾,因为在编码完成之前,他们不能放置头原子。但是,为了让文件在下载完成之前开始回放,moov原子必须移到前面。
为此,您必须使用mp4box (默认情况下)进行多路复用,或者使用qt-faststart,这是一个简单地将原子移到前面的ffmpeg脚本。这很简单。
请注意,对于FLV,默认情况下,ffmpeg将使用FLV1视频格式,这是相当糟糕的;到目前为止,它已经有十多年的历史了,考虑到现代标准,它的效率也相当糟糕。你最好使用更现代的格式,比如H.264。
https://stackoverflow.com/questions/97781
复制相似问题