PHP: 如何在静态中随机播放 mp4 视频 url .php

PHP: How to play random mp4 videos in static url .php

我有一个 PHP 语言的代码托管在 webcindario.com(免费托管)中,它会在随机点击视频时显示。但它 仅适用于 Windows 的 VLC 播放器。

<?php 

header('Content-type: video/mp4');

$videos  = array(
        'https://gdsit.cdn-immedia.net/video-repository/carini-0281175080.mp4',
        'https://gdsit.cdn-immedia.net/video-repository/funerali-gabriele-conigliaro-7222258160.mp4',
        'https://gdsit.cdn-immedia.net/video-repository/beneficenza-1865095120.mp4',
        'https://gdsit.cdn-immedia.net/video-repository/mercatino-dell-usato-solidale-7035608630.mp4'
    );

$total_video = count($videos);

$total_video--; //array index starting from 0 so decrease 1

$random_index = rand(0, $total_video); //array index 0 to 2

$video_to_play = $videos[$random_index];

echo $video_to_play;

?>

结果是 Chrome 浏览器或 Android 不显示视频:

我有这些问题:

  1. 有没有办法让代码在 .m3u 列表中的 Android 设备和程序(如 Kodi 或 Tivimate)上运行?

  2. 能不能不用每次都点击,就好像是 24/7 循环播放的视频一样? (当然在 Android 和 Windows 上)这可能吗?

要显示视频和多个浏览器,您应该使用 HTML5 例如:

<?php

//header('Content-type: video/mp4');

$videos  = array(
        'https://gdsit.cdn-immedia.net/video-repository/carini-0281175080.mp4',
        'https://gdsit.cdn-immedia.net/video-repository/funerali-gabriele-conigliaro-7222258160.mp4',
        'https://gdsit.cdn-immedia.net/video-repository/beneficenza-1865095120.mp4',
        'https://gdsit.cdn-immedia.net/video-repository/mercatino-dell-usato-solidale-7035608630.mp4'
    );

$total_video = count($videos);

$total_video--; //array index starting from 0 so decrease 1

$random_index = rand(0, $total_video); //array index 0 to 2

$video_to_play = $videos[$random_index];
?>

<video width="400" controls autoplay>
    <source src="<?php echo $video_to_play;?>" type="video/mp4">
    Your browser does not support HTML video.
</video>

1 这将在大多数浏览器上播放!

你可以看到我在视频元素的顶部添加了“自动播放”! 这将在大多数浏览器上 运行 和 android / mac - 你应该知道 chrome android 上的自动播放通常被阻止。

使用一些 css 来移动它!

2 由于您在 php 中使用它来接收下一个视频名称,因此页面需要重新加载,因此请将此添加到顶部:

$page = $_SERVER['PHP_SELF'];
$sec = "20";
header("Refresh: $sec; url=$page");

这将导致页面每 20 秒重新加载一次 - 例如将时间更改为 180 秒,持续 3 分钟...:)