![Nginx:Mp4 视频无法立即开始播放](https://linux22.com/image/582845/Nginx%EF%BC%9AMp4%20%E8%A7%86%E9%A2%91%E6%97%A0%E6%B3%95%E7%AB%8B%E5%8D%B3%E5%BC%80%E5%A7%8B%E6%92%AD%E6%94%BE.png)
我学习了如何使用 mp4 模块编译 nginx。我还在我的网站配置文件中添加了适当的指令。
我正在尝试使用 JW 播放器和 flow 播放器播放 mp4。但视频没有缓冲并像 YouTube 和类似的网站一样播放。开始播放需要很长时间。 它似乎它会下载整个视频然后播放。我尝试过更改缓冲区限制,但没有成功。
我下载了一个 YouTube 视频并尝试将其与我自己的视频进行比较。YouTube 上的视频可以立即播放,但我转换后的视频却不能。也许 nginx 仅播放特定编解码器和格式的 mp4 文件?
请注意,我不是在制作管道站点或类似的东西。所以请不要建议从 nginx 迁移。
答案1
好的,我找到了问题的原因。对于遇到同样问题的人来说。实际上,问题与 nginx、Web Player(我的情况是 JW Player)或您正在使用的视频编解码器无关。而是视频文件本身。
在 JW player 的故障排除指南中发现了这一点:
我无法搜索:我正在使用 MP4 文件
如果您的 MP4 文件在完全下载之前无法搜索, 你不得不修复 MOOV atom(它包含搜索信息)位于视频的末尾。使用这个小应用程序解析您的视频并添加必要的提示点。
应用程序名称是QTIndexSwapper 2。
答案2
这个 python 脚本应该可以帮助您为视频文件添加 Quicktime 原子定位。它允许倒带和搜索。 使用 Python 进行 Quicktime 原子定位以实现快速流式传输