【问题标题】:MP4 video slightly asynchronous - but only on initial playMP4 视频略微异步 - 但仅在初始播放时
【发布时间】:2012-04-30 09:40:13
【问题描述】:

这是我们的程序:

  1. 我们使用 ffmpeg (H264/AAC) 创建实时 MP4 视频,作为 API 和命令行工具。*
  2. qt-faststart 用于将元数据移动到文件的开头,以便在我们的 Flash 客户端中实现快速播放。
  3. 视频已重命名为 *.m4v。
  4. 用户使用我们的 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


【解决方案1】:

哈!

原来问题在于音频与视频的长度不同。一旦这个问题得到解决,一切都再次同步。应该先检查那个... 所以,并不是真正的编码错误或问题,更多的是我们内容部门的错。 ;)

【讨论】:

  • 所以您的文件 inputvideo.mpg 的音频比这里的视频长?
  • 其实音频比视频短。
猜你喜欢
  • 2012-10-20
  • 2017-04-28
  • 2021-05-06
  • 2011-05-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-14
  • 2014-03-02
相关资源
最近更新 更多