Nginx或HTTP 1/2提供方式是否以反向字节顺序提供文件服务?我有兴趣阅读反向顺序的二进制HTTP响应流,以从文件末尾查找字节序列(范围为5-500 MB)。我当前的解决方案使用迭代的Range
请求和Streams API进行字节扫描。这足够但不是最佳的。
实现目标是如"How do I get the duration of a .opus
file?"所述计算Opus音频文件的持续时间。服务器端脚本(Python,Go,PHP)始终可以作为备用脚本,但是我很好奇Nginx或其他HTTP服务器是否可以立即使用。保持Opus的低延迟很重要。如果现有的选项不存在,则将编写一个自定义的Nginx模块,该模块以包含持续时间(以及其他Opus元信息)的HTTP标头作为响应。
答案 0 :(得分:-1)
TL; DR; ,我建议您使用现有工具提取持续时间。
使用opusfile实用程序提取持续时间和其他元数据,并将其存储在每个音频文件旁边的单独文件中。
只要文件上传到服务器或在服务器上进行修改,就执行此操作。
然后,您的Web客户端可以在单个但单独的http请求中获取所有元数据。
有些陈旧,但是根据Add dynamic response headers from a file,没有一种从文件构造响应标头的内置方法。因此,您将需要两个请求。
答案 1 :(得分:-1)
一种解决方法是,除了原始文件外,还应在服务器上存储每个音频文件的副本 。然后,您可以利用现有的HTTP机制从文件末尾读取任意数量的数据。
https://unix.stackexchange.com/questions/416401/how-to-reverse-the-content-of-binary-file