1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
<?php
$audiotypes='mp3 aac wav ';
function mediagetinfostream($stream = "")
{
global $mediainfopath, $ffmpegpath;
// Get info
exec($mediainfopath ." \"" .$stream ."\"", $mediainfo);
$info = "";
$title = "";
// Parse info
$count = count($mediainfo);
for ($i = 0; $i < $count; $i++)
{
if (!strncmp($mediainfo[$i], "Video", strlen("Video")) || !strncmp($mediainfo[$i], "Audio", strlen("Audio")))
break;
if (!strncmp($mediainfo[$i], "Format", strlen("Format")))
$title = substr(strstr($mediainfo[$i], ": "), 2);
else if (!strncmp($mediainfo[$i], "Format/Info", strlen("Format/Info")))
$title = substr(strstr($mediainfo[$i], ": "), 2);
else if (!strncmp($mediainfo[$i], "Duration", strlen("Duration")))
$info = substr(strstr($mediainfo[$i], ": "), 2);
}
// Extract a thumbnail
exec("rm ram/stream-tb.*");
$path = dirname($stream);
if (file_exists(substr($stream, 0, -4) .".tbn"))
exec("cp \"" .substr($stream, 0, -4) .".tbn\" ram/stream-tb-tmp.jpg; " .$ffmpegpath ." -y -i ram/stream-tb-tmp.jpg -s 128x180 ram/stream-tb.jpg");
else if (file_exists($path ."/poster.jpg"))
exec($ffmpegpath ." -y -i \"" .$path ."/poster.jpg\" -s 128x180 ram/stream-tb.jpg");
else if (file_exists($path ."/folder.jpg"))
exec($ffmpegpath ." -y -i \"" .$path ."/folder.jpg\" -s 128x180 ram/stream-tb.jpg");
else
exec($ffmpegpath ." -y -i \"" .$stream ."\" -an -ss 00:00:05.00 -r 1 -vframes 1 -s 180x100 -f mjpeg ram/stream-tb.png");
return array($title, $info);
}
function mediagettype($file)
{
global $videotypes, $audiotypes;
// Get file extension
$fileext = end(explode(".", $file));
if (is_dir($file))
return 3;
if (preg_match("/" .$fileext ." /", $videotypes))
return 1;
else if (preg_match("/" .$fileext ." /", $audiotypes))
return 2;
else
return 0;
}
function mediadirhasaudio($dir)
{
global $audiotypes;
$audioextarray = explode(' ', $audiotypes);
foreach ($audioextarray as $num => $audioext)
{
if (glob($dir .'*.' .$audioext))
return 1;
}
return 0;
}
|