这是我们的程序:
- 我们使用 ffmpeg (H264/AAC) 作为 API 和命令行工具创建实时 MP4 视频。*
- 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 中)做些什么来让它从一开始就同步吗?