我将视频转换为MP4用于我的网络播放器。我的问题是:我的视频没有缓冲。我必须等到整个视频下载完毕,之后我才能播放视频。
这是我的exec()
命令:
ffmpeg -i uploaded_files/'.$le["file"].' -vcodec libx264 -pix_fmt yuv420p flash/'.$le["file"].'.mp4
有没有缓冲选项?我的MP4尺寸和质量都很好。但是没有缓冲,这很糟糕。
这是我使用的exec()
命令的错误吗?
答案 0 :(得分:4)
我的视频没有缓冲。我必须等到整个视频下载完毕,之后我才能播放视频。
编码时使用-movflags faststart
选项,例如
ffmpeg -i input.mp4 […] -movflags faststart output.mp4
或者,也可以在文件上运行qt-faststart
。
文件不立即流传输的原因是他们的MOOV atom位于文件的末尾,为了播放它,客户端需要解析此信息。 qt-faststart
只会移动该原子,您的文件将立即开始播放。