Bring audio conversion back (fixes #7)
This commit is contained in:
parent
4dd9d90858
commit
83cb546925
4 changed files with 46 additions and 96 deletions
124
api.php
124
api.php
|
@ -12,7 +12,7 @@
|
|||
* */
|
||||
require_once 'download.php';
|
||||
if (isset($_GET["url"])) {
|
||||
if (isset($_GET["format"]) || isset($_GET['audio'])) {
|
||||
if (isset($_GET['audio'])) {
|
||||
$video = VideoDownload::getJSON($_GET["url"], $_GET["format"]);
|
||||
|
||||
if (isset($video->url)) {
|
||||
|
@ -24,100 +24,40 @@ if (isset($_GET["url"])) {
|
|||
);
|
||||
$url_info = parse_url($video->url);
|
||||
if ($url_info['scheme'] == 'rtmp') {
|
||||
if (isset($_GET['audio'])) {
|
||||
header(
|
||||
'Content-Disposition: attachment; filename="'.
|
||||
html_entity_decode(
|
||||
pathinfo(
|
||||
VideoDownload::getFilename(
|
||||
$video->webpage_url
|
||||
), PATHINFO_FILENAME
|
||||
).'.mp3', ENT_COMPAT, 'ISO-8859-1'
|
||||
).'"'
|
||||
);
|
||||
header("Content-Type: audio/mpeg");
|
||||
passthru(
|
||||
'/usr/bin/rtmpdump -q -r '.escapeshellarg($video->url).
|
||||
' | /usr/bin/avconv -v quiet -i - -f mp3 pipe:1'
|
||||
);
|
||||
exit;
|
||||
} else {
|
||||
header(
|
||||
'Content-Disposition: attachment; filename="'.
|
||||
html_entity_decode(
|
||||
header(
|
||||
'Content-Disposition: attachment; filename="'.
|
||||
html_entity_decode(
|
||||
pathinfo(
|
||||
VideoDownload::getFilename(
|
||||
$video->webpage_url, $video->format_id
|
||||
), ENT_COMPAT, 'ISO-8859-1'
|
||||
).'"'
|
||||
);
|
||||
header("Content-Type: application/octet-stream");
|
||||
passthru(
|
||||
'/usr/bin/rtmpdump -q -r '.escapeshellarg($video->url)
|
||||
);
|
||||
exit;
|
||||
}
|
||||
|
||||
$video->webpage_url
|
||||
), PATHINFO_FILENAME
|
||||
).'.mp3', ENT_COMPAT, 'ISO-8859-1'
|
||||
).'"'
|
||||
);
|
||||
header("Content-Type: audio/mpeg");
|
||||
passthru(
|
||||
'/usr/bin/rtmpdump -q -r '.escapeshellarg($video->url).
|
||||
' | /usr/bin/avconv -v quiet -i - -f mp3 pipe:1'
|
||||
);
|
||||
exit;
|
||||
} else {
|
||||
if (isset($_GET['audio'])) {
|
||||
header(
|
||||
'Content-Disposition: attachment; filename="'.
|
||||
html_entity_decode(
|
||||
pathinfo(
|
||||
VideoDownload::getFilename(
|
||||
$video->webpage_url
|
||||
), PATHINFO_FILENAME
|
||||
).'.mp3', ENT_COMPAT, 'ISO-8859-1'
|
||||
).'"'
|
||||
);
|
||||
header("Content-Type: audio/mpeg");
|
||||
passthru(
|
||||
'/usr/bin/wget -q --user-agent='.escapeshellarg($UA).
|
||||
' -O - '.escapeshellarg($video->url).
|
||||
' | /usr/bin/avconv -v quiet -i - -f mp3 pipe:1'
|
||||
);
|
||||
exit;
|
||||
} else if (pathinfo($video->url, PATHINFO_EXTENSION) == 'm3u8') {
|
||||
header(
|
||||
'Content-Disposition: attachment; filename="'.
|
||||
html_entity_decode(
|
||||
pathinfo(
|
||||
VideoDownload::getFilename(
|
||||
$video->webpage_url
|
||||
), PATHINFO_FILENAME
|
||||
).'.mp4', ENT_COMPAT, 'ISO-8859-1'
|
||||
).'"'
|
||||
);
|
||||
header("Content-Type: video/mp4");
|
||||
passthru(
|
||||
'/usr/bin/avconv -v quiet -i '.
|
||||
escapeshellarg($video->url).' -f h264 pipe:1'
|
||||
);
|
||||
exit;
|
||||
} else {
|
||||
$headers = get_headers($video->url, 1);
|
||||
header(
|
||||
'Content-Disposition: attachment; filename="'.
|
||||
html_entity_decode(
|
||||
header(
|
||||
'Content-Disposition: attachment; filename="'.
|
||||
html_entity_decode(
|
||||
pathinfo(
|
||||
VideoDownload::getFilename(
|
||||
$video->webpage_url, $video->format_id
|
||||
), ENT_COMPAT, 'ISO-8859-1'
|
||||
).'"'
|
||||
);
|
||||
if (is_string($headers['Content-Type'])
|
||||
&& isset($headers['Content-Type'])
|
||||
) {
|
||||
header("Content-Type: ".$headers['Content-Type']);
|
||||
} else {
|
||||
header("Content-Type: application/octet-stream");
|
||||
}
|
||||
if (is_string($headers['Content-Length'])
|
||||
&& isset($headers['Content-Length'])
|
||||
) {
|
||||
header("Content-Length: ".$headers['Content-Length']);
|
||||
}
|
||||
readfile($video->url);
|
||||
exit;
|
||||
}
|
||||
$video->webpage_url
|
||||
), PATHINFO_FILENAME
|
||||
).'.mp3', ENT_COMPAT, 'ISO-8859-1'
|
||||
).'"'
|
||||
);
|
||||
header("Content-Type: audio/mpeg");
|
||||
passthru(
|
||||
'/usr/bin/wget -q --user-agent='.escapeshellarg($UA).
|
||||
' -O - '.escapeshellarg($video->url).
|
||||
' | /usr/bin/avconv -v quiet -i - -f mp3 pipe:1'
|
||||
);
|
||||
exit;
|
||||
}
|
||||
} else {
|
||||
$error=true;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue