如何安装/配置 ffmpeg 来压缩 mp4 视频以供 Flash 播放器播放?

如何安装/配置 ffmpeg 来压缩 mp4 视频以供 Flash 播放器播放?

我们有一个创建交互式视频的 Flash 网络应用程序,并且在用户“发布”他们的项目时使用 ffmpeg 进行一些压缩/调整大小。

用户可以上传 flv 文件和 mp4 文件,在发布之前,这两种文件都可以在 Flash UI 中正常播放。发布后,flv 文件可以正常播放,但 mp4 文件无法在 Flash Player 中播放:音频可以播放,但视频无法播放。

如果我下载 mp4 文件并在 Quicktime 播放器中播放它们,它们可以正常播放,但如果我尝试在 Adob​​e Media Player 中打开它们,它会报告“媒体文件不包含支持的视频轨道”。

如果我在 quicktime 中打开影片检查器,它会告诉我原始文件是“h264”视频,而 ffmpeg 处理后的文件是“mpeg-4”。

我尝试通过添加类似标志将其强制转换为 h264,-f h264 and -vcodec h264但我收到一屏错误(无帧、非法 POC 类型、sps_id 超出范围),结尾为Could not find codec parameters (Video: h264)

ffmpeg -formats如果我运行和, h264 就会出现ffmpeg -codecs,而且正如我所说,它可以在 Quicktime 中正常播放。

我还需要做什么才能让 Flash Player 播放它们吗?我还需要告诉您有关服务器的其他信息以提供帮助吗?

答案1

当我使用 生成 MPEG4 视频文件时ffmpeg,我使用-vcodec libx264。适当的-f参数取决于您的 Flash 播放器可以接受的内容。

请注意,这个问题与 serverfault.com 无关;您可能想询问有关 ffmpeg 使用的问题ffmpeg 用户邮件列表

答案2

在这里您可以找到关于如何在 Ubuntu 上编译 ffmpeg 进行 MP4 X264 编码的非常完整的指南:

http://ffmpeg.org/trac/ffmpeg/wiki/UbuntuCompilationGuide

它还弄清楚了如何添加额外的流媒体设置/工具,例如 qt-faststart

相关内容