【发布时间】:2012-04-30 09:40:13
【问题描述】:
这是我们的程序:
- 我们使用 ffmpeg (H264/AAC) 创建实时 MP4 视频,作为 API 和命令行工具。*
- qt-faststart 用于将元数据移动到文件的开头,以便在我们的 Flash 客户端中实现快速播放。
- 视频已重命名为 *.m4v。
- 用户使用我们的 Flash 客户端下载视频并立即开始播放,因为元数据位于开头。
编辑: *首先,使用 ffmpeg API 创建 MPG 视频,然后将其与介绍和结尾视频一起复制(您可以简单地链接 MPG 视频)。然后使用以下命令将生成的 MPG 转换为 MP4:
ffmpeg -i inputvideo.mpg -sameq -b 3000000 -vcodec libx264 -acodec libvo_aacenc -ac 2 -g 60 -y outputvideo.mp4
基本上,这确实有效。
问题:
我们注意到,在初始播放过程中(用户尚未点击任何内容,视频是否仍在下载都没有影响),音频正在异步播放,如果您注意的话,您会注意到它。
但是,只要您在视频中四处点击(一次就足够了,无论您在哪里点击),视频其余部分的音频就会变得更加同步(仍然不完美!)。
无论您是通过我们的 Flash 播放器还是 Windows Media Player 观看,此行为都是相同的。我们可以做些什么(在 ffmpeg 或 qt-faststart 中)以使其从一开始就同步?
【问题讨论】:
-
显示您的 ffmpeg 命令和完整的控制台输出可能会提供一些有用的信息。此外,API 和命令行制作的视频是否都会出现这种情况?
-
编辑显示 ffmpeg 命令。我们不记录 ffmpeg 控制台输出,但我们可以查看它,它没有显示错误(没有红线)。
-
输出包含其他有用的信息,例如您的 ffmpeg 版本,它将确定任何潜在建议的语法。
标签: flash video ffmpeg h.264 mp4