使用 Express 和 connect-stream 流式传输 MP4

Streaming MP4 with Express and connect-stream

我目前开发了一个小型 nodejs 服务器来提供 MP4 视频。 要传输它,我使用 Express 和 connect-stream 库。

但是当我观看视频 URL(每个视频 1 URL)时,一些视频会立即开始,而另一些则根本不会开始(在 Chrome 下)。

它们都是用 H264/AAC 编码的。

我在客户端看到的唯一不同之处是,对于无法播放的视频,会发送 HTTP 304。

我试图阻止 etag 并将 cache-control header 设置为无缓存,但仍然没有任何效果。

有什么想法吗?

提前致谢!

编辑:

304 不是错误所以我备份了 Etag 配置。但是问题依旧。

其实问题是在s3fs实现中发现的,S3是用来存储视频的,不适合流式传输。我使用 bash 进程实现了一个 RAM 缓存到 RAM

中的 put/delete 视频块