Мне нужно отображать продолжительность воспроизведения видео на моем сайте.Получить видео длительность с видео URL в php
Я попытался с помощью getid3
, но он не работает, он показывает предупреждения, как:
preg_match() ожидает параметр 2 будет строка, массив приведен в C: \ WAMP \ WWW \ PE \ getID3 \ getID3. php on line 262
Предупреждение: is_readable() ожидает, что параметр 1 является допустимым путем, массив задан в C: \ wamp \ www \ PE \ getid3 \ getid3.php в строке 271
Предупреждение: file_exists() ожидает параметр 1 чтобы быть допустимым путем, массив, указанный в C: \ wamp \ www \ PE \ getid3 \ getid3.php в строке 271
Это предупреждение И т.д., и результат не отображается.
Вот мой код:
<?php
ini_set('display_errors',1);
ini_set('display_startup_errors',1);
ini_set('output_buffering','Off');
error_reporting(-1);
include_once("getid3/getid3.php");
$getID3 = new getID3;
$SongPath = pathinfo('http://localhost/PE/uploads/pe_discussion/videos/Wildlife.wmv');
set_time_limit(30);
$ThisFileInfo = $getID3->analyze($SongPath);
getid3_lib::CopyTagsToComments($ThisFileInfo);
echo 'File name: '.$ThisFileInfo['filenamepath'].'<br>';
echo 'Artist: '.(!empty($ThisFileInfo['comments_html']['artist'])
? implode('<BR>', $ThisFileInfo['comments_html']['artist'])
: ' ').'<br>';
echo 'Title: '.(!empty($ThisFileInfo['comments_html']['title'])
? implode('<BR>', $ThisFileInfo['comments_html']['title'])
: ' ').'<br>';
echo 'Bitrate: '.(!empty($ThisFileInfo['audio']['bitrate'])
? round($ThisFileInfo['audio']['bitrate']/1000).' kbps'
: ' ').'<br>';
echo 'Play time: '.(!empty($ThisFileInfo['playtime_string'])
? $ThisFileInfo['playtime_string']
: ' ').'<br>';
?>
Вам необходимо использовать FFmpeg –