在 Linux CLI 上将常见视频格式转换为 FLV 的最佳工具是啥 [关闭]

Posted

技术标签:

【中文标题】在 Linux CLI 上将常见视频格式转换为 FLV 的最佳工具是啥 [关闭]【英文标题】:What is the best tool to convert common video formats to FLV on a Linux CLI [closed]在 Linux CLI 上将常见视频格式转换为 FLV 的最佳工具是什么 [关闭] 【发布时间】:2010-09-10 23:58:11 【问题描述】:

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

据我所知,我唯一的选择是转换为 FLV。我一直在尝试使用 ffmpeg,但我发现一些 WMV 文件出现乱码(我尝试过播放音频速率)。

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

【问题讨论】:

【参考方案1】:

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

为此,您必须使用 mp4box(默认情况下执行此操作)(重新)复用或使用 qt-faststart,这是一个 ffmpeg 脚本,可以简单地将原子移动到前面。很简单。

注意,对于FLV,默认情况下,ffmpeg会使用FLV1视频格式,这很糟糕;到目前为止,它已有十多年的历史了,考虑到现代标准,它的效率相当糟糕。使用 H.264 等更现代的格式会更好。

【讨论】:

把原子放在最后有什么好处?【参考方案2】:

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 的***用户),我在这类东西方面有相当多的经验,所以如果你需要更多帮助,我也可以在 Freenode IRC 上获得帮助#x264、#ffmpeg 和 #mplayer。

【讨论】:

以上是关于在 Linux CLI 上将常见视频格式转换为 FLV 的最佳工具是啥 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

在 macOS 上将 .pem 转换为 .ppk

如何在Mac上将视频刻录到DVD / ISO文件

使用 Aimersoft DVD Ripper 在 Mac 上将家庭 DVD 转换为视频/音频?如何编辑 DVD 电影?

使用自定义格式在 SQL Server 上将 varchar 转换为 datetime

如何在 Excel 上将“dd:hh:mm:ss”格式转换为数字类型?

如何在 Linux 上将 pptx 文件转换为 jpg 或 png(对于每张幻灯片)?