如何在网页上流式传输(段)mp4视频

时间:2019-11-26 20:30:11

标签: javascript php html video stream

所以我使用免费托管,服务器上只有很少的视频,除了视频需要大约10-20秒的加载时间然后开始播放之外,其他所有功能都可以正常工作,所以我想使用流媒体。问题是我不知道该字段和托管不支持node.js,但我认为是php 7。

试图将video.js与hls结合使用,但我不知道如何使用它,我没有在线找到任何合理或良好的教程。

因此,任何帮助都将是非常有用的,您可以重点关注一些示例的链接,这是一个非常新手,所以详细的教程会有所帮助。

这是html中的

<link href="https://vjs.zencdn.net/7.5.5/video-js.css" rel="stylesheet" />

<div class="video">
    <video id="video" class="video-js" width="1024" height="576" type="video/mp4" src="videos/merci.mp4" autoplay controls data-setup=""></video>
</div>
<span id="naziv">test text</span>


<script src="https://vjs.zencdn.net/7.5.5/video.js"></script>

而且我的.js文件中有这个

document.getElementById('video_html5_api').src = "videos/roses.mp4";

当然还有其他部分,但是视频是使用随机整数随机选择的,然后使用switch语句进行的,这一切都可行。但不要认为这对我的问题很有用,因为我不知道该去哪里或从哪里开始。我知道如何将视频分割成小块,但不知道该怎么做。

3 个答案:

答案 0 :(得分:1)

您不需要任何特殊的东西。普通的视频标签可以:

<video src="videos/roses.mp4"></video>

但是,您将要确保MP4文件中的moov原子位于开头。为此,您可以使用FFmpeg:

ffmpeg -i roses.mp4 -movflags faststart -codec copy roses-optimized.mp4

我想您会发现这将大大改善这种情况。

答案 1 :(得分:1)

鉴于您的发言,这可能对您来说太技术性了。但是,如果您想在简单的http服务器上流式传输高质量的视频,则可以尝试使用MPEG-DASH。这将涉及两个步骤:

  1. 将视频编码为MPEG-DASH格式。这将为您提供不同质量的多个流。视频播放时,您的用户会自适应地下载这些视频流……想想YouTube。
  2. 在页面中添加一些额外的代码以在浏览器中支持此功能。我建议您检查一下DASH IF Reference Client

我知道这可能还不够,但是如果您感兴趣的话,我可能可以跟进答案。

答案 2 :(得分:0)

我的第一个.mp4视频要等到完全下载后才能播放
我尝试了另外一个,它立即开始播放(流式传输)
因此,取决于是否可以流式传输.mp4视频