Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flash MP4视频略微异步-但仅在初始播放时_Flash_Video_Ffmpeg_H.264_Mp4 - Fatal编程技术网

Flash MP4视频略微异步-但仅在初始播放时

Flash MP4视频略微异步-但仅在初始播放时,flash,video,ffmpeg,h.264,mp4,Flash,Video,Ffmpeg,H.264,Mp4,以下是我们的程序: 我们使用ffmpeg(H264/AAC)作为API和命令行工具创建实时MP4视频* qt faststart用于将元数据移动到文件的开头,以便在我们的Flash客户端中实现快速播放 视频重命名为*.m4v 用户使用我们的Flash客户端下载视频并立即开始播放,因为元数据位于开始位置 编辑: *首先,使用ffmpeg API创建MPG视频,然后将其与介绍和输出视频一起复制(您可以简单地链接MPG视频)。然后,使用以下命令将生成的MPG转换为MP4: ffmpeg -i inpu

以下是我们的程序:

  • 我们使用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 player还是Windows Media player观看,这种行为都是相同的。我们能从我们这边做些什么(在ffmpeg或qt faststart中)使它从一开始就同步吗?

    Ha

    原来问题在于音频和视频的长度不一样。一旦这个问题得到解决,一切又开始同步了。应该先检查一下那个。。。
    因此,这不是一个真正的编码错误或问题,更多的是我们内容部门的错误。;)

    显示ffmpeg命令和完整的控制台输出可能会提供一些有用的信息。此外,API和命令行生成的视频都会出现这种情况吗?编辑以显示ffmpeg命令。我们不会记录ffmpeg控制台输出,但我们可以查看它,它不会显示错误(没有红线)。输出包含其他有用的信息,如ffmpeg版本,它将确定任何潜在建议的语法。因此,您的文件inputvideo.mpg此处的音频比视频长?实际上,音频比视频短。