I have a code in PHP language hosted in webcindario.com (free hosting), that shows on click a video randomly. But it works ONLY in VLC Player for Windows.
<?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;
?>
The result is that the Chrome browser or Android don´t show the video:
And I have these questions:
Is there a way to get the code to work on Android devices and programs like Kodi or Tivimate, inside .m3u lists?
Can it be done in such a way that you don't have to click every time, as if it were a 24/7 video in loop? (on Android and Windows, of course) Is that possible?
CodePudding user response:
To display video and several browsers you should use HTML5 so for example:
<?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 This will play on most browsers!
You can see I added "autoplay" to the top of the video element! This will run on most browsers and android / mac - you should know that autoplay on chrome android is usually blocked.
Use some css, to move it around!
2 Since you are using this in php to receive the next video name the page needs reloading so add to the top this :
$page = $_SERVER['PHP_SELF'];
$sec = "20";
header("Refresh: $sec; url=$page");
This will cause the page to reload every 20 second - change the time for 180 sec for 3 mins for example ... :)