Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在网页上播放(分割)mp4视频_Javascript_Php_Html_Video_Stream - Fatal编程技术网

Javascript 如何在网页上播放(分割)mp4视频

Javascript 如何在网页上播放(分割)mp4视频,javascript,php,html,video,stream,Javascript,Php,Html,Video,Stream,所以我使用免费托管,我的服务器上几乎没有视频,除了视频外,其他一切都正常,需要大约10-20秒来加载然后开始播放,所以我想使用流媒体。问题是我不知道这个字段和宿主不支持node.js,但我认为是PHP7 我尝试在hls中使用video.js,但我不知道如何使用它,我在网上没有找到任何合理或好的教程 因此,任何帮助都将是伟大的,关注什么,链接到一些例子,相当一个新手如此详细的教程将有所帮助 这是html格式的: <link href="https://vjs.zencdn.net/7.5.5

所以我使用免费托管,我的服务器上几乎没有视频,除了视频外,其他一切都正常,需要大约10-20秒来加载然后开始播放,所以我想使用流媒体。问题是我不知道这个字段和宿主不支持node.js,但我认为是PHP7

我尝试在hls中使用video.js,但我不知道如何使用它,我在网上没有找到任何合理或好的教程

因此,任何帮助都将是伟大的,关注什么,链接到一些例子,相当一个新手如此详细的教程将有所帮助

这是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>

当然还有其他的部分,但视频是用随机整数随机选择的,然后是switch语句,这一切都是有效的。但我不认为这对我的问题有多大用处,因为我不知道该从哪里开始。我知道如何将视频分割成小块,但不知道如何操作。

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

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

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

考虑到你所说的,这对你来说可能太技术化了。但是,如果您想在简单的http服务器上传输高质量的视频,可以尝试使用MPEG-DASH。这将涉及两个步骤:

  • 将视频编码为MPEG-DASH格式。这将为您提供几种不同质量的流。这些流将由您的用户在视频播放时自适应下载。。。想想YouTube
  • 向页面中添加一些额外代码以在浏览器中支持此操作。我建议你去检查一下房间

  • 我知道这可能不足以继续下去,但如果您感兴趣,我可能会继续回答您的问题。

    我的第一个.mp4视频在完全下载之前不会播放
    我尝试了另一个,它立即开始播放(流媒体)

    所以这取决于.mp4视频是否会流

    Hi!欢迎来到Stackoverflow!请提供一个,我相信我们会愿意帮助的。编辑帖子这是因为video.js更改了视频元素的结构和id,所以使用默认id无效。你能详细说明一下吗?比如我应该在哪里添加和使用它?@IvanJerkovic
    标签会放在你的页面上,你想放在哪里就放在哪里。使用FFmpeg命令,您可以在计算机上运行以优化视频,然后再将其上载到服务器。@IvanJerkovic是否清除了缓存以及其他所有内容?(而且,你确实有足够的带宽来传输视频,对吗?)你能发布一个指向MP4的链接吗?@IvanJerkovic那个URL对我不起作用。返回一些HTML页面。可能是因为我已经访问了视频?这是一个播放视频的html页面,请看下面我的答案,了解原因。@Brad不是每个人都可以使用cli,用户需要下载ffmpeg到该页面,我想你说的是缓存。浏览器会保存这些数据,并在下次加载时更轻松地播放?@IvanJerkovic您的服务器需要支持http范围请求,以便它可以从浏览器想要的任何位置请求文件数据。在@Pogromist上了解更多信息任何制作网页的人都应该完全能够下载FFmpeg并将简单命令复制/粘贴到他们的终端。比你的建议好多了。。。什么,放弃,不为任何不起作用的视频烦恼?好吧,你的解决方案似乎最有希望,我不需要任何花哨的东西,只是立即开始播放视频(或1-2秒),而不是等待20秒。我一直在寻找,它需要mpd文件,如果这是甚至文件或使用mp4box段mp4文件。我已经花了5个小时试图弄明白这一点,我一直在使用Sorenson Squence将视频编码为MPEG-DASH,但看起来制造MPEG-DASH的公司去年破产了。MPEG-DASH的设置有点麻烦,但一旦开始工作,就可以提供高质量的视频,启动速度快,不会在慢速连接上产生缓冲。为了跟进我的最后一条评论,我想找到索伦森挤压的替代方案,因为它不再受支持。此仅适用于ffmpeg的解决方案看起来很有用:。不过我还没试过。如果你最终使用它,它的工作,请让我知道。
    <video src="videos/roses.mp4"></video>
    
    ffmpeg -i roses.mp4 -movflags faststart -codec copy roses-optimized.mp4