如何使用html / javascript传输mkv文件?

时间:2017-06-21 17:35:53

标签: html streaming video-streaming mkv

有没有办法使用javascript / html或任何其他技术在网页上传输mkv文件?我发现了很多关于此的问题,但我真的想知道答案 - 这有可能吗?也许ajax,javascript,php,html?也许一些外部图书馆?什么?

我想知道youtube是如何工作的。有可能上传mkv文件吗?是这样,视频如何流向最终用户?

我知道浏览器本身并不支持mkv,但也许是某种方法迫使html这样做?

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

您不需要任何特殊的流量预先录制的媒体文件。普通的HTTP / 1.1或HTTP / 2服务器可以正常工作。浏览器通常能够使用范围请求进入文件。

Matroska(MKV)是一种容器格式,它实际上得到了广泛的支持,因为它与WebM基本相同。 WebM是Matroska的一个子集......关键的区别在于有建议的编解码器可供使用。 (Matroska本身几乎支持任何东西。)

文件中的音频和视频曲目可以使用各种编解码器......关键是要使用与浏览器兼容的编解码器。 Opus for audio和VP8 for video将带您走远。

从那里,只需在ps标记中引用您的视频文件。

答案 1 :(得分:0)

YouTube最有可能使用DASH协议格式工作。在服务器端,源音频和源视频分别分为不同比特率/质量的段。清单包含所有可能的分段值及其位置的索引。这允许在播放器中播放期间切换质量。

在客户端,播放器使用DASH(应该与其他主要技术相同:HLS)清单来定位要加载的段,以便将内容提供给两个单独的SourceBuffer,一个用于音频,另一个用于视频,两者都在MediaSource中同步播放。有关处理此问题的示例播放器,请参阅Google开发的Shaka Player

结论,不需要使用类似mkv的容器,但是每个通道(视频,音频)都需要指向浏览器支持的编解码器编码的段。