HTTP206部分内容请求是如何工作的

2024-10-01 11:39:50 发布

您现在位置:Python中文网/ 问答频道 /正文

这两个星期来我一直在想入非非。 我正在尝试在Python(用于wpfgui的Ironpython)上构建一个基于服务器客户端的流媒体播放器,用于流式处理视频文件。我的问题是当客户请求在他还没有加载的部件上查找时。当我试图把.mp4文件的中间部分发送给他时,他似乎无法播放。在

现在我知道这样的东西存在是因为每个在线玩家都有它,它使用HTTP206部分内容请求,客户机只请求他想要的字节范围,服务器就把它发送给他。在

我的问题是-客户端如何在.mp4文件中以字节为单位播放视频-如何开始监视文件的中间部分?当我想试试的时候,播放器就是不打开文件。在

更重要的是:如何在服务器客户端程序上实现此功能以实现自由搜索?在

我真的试着在网上找一个简单的解释。。。 请详细解释一下,对于像我这样的新手来说,我会非常感激的。在

提前谢谢。在


Tags: 文件服务器客户端客户字节部件玩家流式
1条回答
网友
1楼 · 发布于 2024-10-01 11:39:50

在播放MP4文件之前,客户端(例如浏览器)需要读取文件的头部分。MP4被分成“Atoms”,Moov原子是文件的头或索引原子。在

对于要流式传输的MP4文件,一个常见的优化是将Moov原子移动到文件的前面。在

这允许客户机在一开始就获得moov,然后它将获得所需的信息,从而允许您跳转到您想要的偏移量。在

如果在开始时没有moov原子,客户机需要下载整个文件,或者如果文件更复杂,则使用range请求在文件中跳来跳去,直到找到为止。在

相关问题 更多 >