php ffmpeg 管道多播问题

问题描述 投票:0回答:1

我的服务器中有四个视频。我想显示所有相同的页面,但视频标签 url 是一个 php 页面。 事实上它正在发挥作用。但是当我尝试再次打开新选项卡时,index.php 只显示 2 个视频。当等待时间较长时,会显示所有内容。为什么我必须等待以及为什么服务器需要很长时间才能响应?我有 ubuntu 20.04 和 8GB 内存。如果您复制链接并同时打开多个选项卡,您将看到该问题。

视频链接为: index.php

index.php

<html>
<video src="test.php?video_name=1.mp4" type="video/mp4" autoplay="autoplay" class="video"></video>
<video src="test.php?video_name=2.mp4" type="video/mp4" autoplay="autoplay" class="video"></video>
<video src="test.php?video_name=3.mp4" type="video/mp4" autoplay="autoplay" class="video"></video>
<video src="test.php?video_name=4.mp4" type="video/mp4" autoplay="autoplay" class="video"></video>
<html>

测试.php

<?
$video_name=$_GET['video_name'];
header('Content-type: video/mp4');
passthru('ffmpeg -i '.$video_name.'.mp4 -c copy -movflags frag_keyframe+empty_moov+faststart -f mp4 pipe:');
exit();
?>

如果关闭其中一个选项卡,则显示全部。我认为 ffmpeg 或 passthru 功能会使服务器繁忙。必须打开所有选项卡而无需等待。这对我来说非常重要。我开发了在线摄像头视图系统,并使用 passthru 和 ffmpeg 提供 html。但是如果用户打开多个选项卡服务器没有响应或需要很长时间。

php ffmpeg pipe passthru
1个回答
0
投票

我发现了问题。 Chrome 最多有 6 个套接字,因此这会阻止更多媒体流(HTML 音频/视频)运行并停止向服务器发出请求。

© www.soinside.com 2019 - 2024. All rights reserved.