使用不同质量的视频ID下载dailymotion视频

时间:2017-10-03 06:05:53

标签: php video dailymotion-api

我正在尝试使用PHP创建一个网站,可以使用Dailymotion视频链接下载Dailymotion视频。我搜索谷歌并找到了一些脚本。但脚本不起作用。 我上次尝试了以下代码。

$video="x62w2zn";//a static dailymotion video id
$link="";
$page=file_get_contents('http://www.dailymotion.com/embed/video/'.$video);
$link = substr($page, strlen('mp4","url":"')+strripos($page, 'mp4","url":"'));  // beginning of link
$link = substr($link, 0, strpos($link, '"}'));  // end of link
$link = str_replace("\\", '', $link);   // delete backslashes
if(!empty($link)){
    file_put_contents($path_log_link.$video, $link);    // save link in log
    $cmd='wget -bqc '.$link.' -O "'.$path_download_file.$video.'.mp4"';
    exec($cmd,$o,$r);
}

但是这个脚本也没有工作。执行后显示空白页面,没有任何内容正在下载。 请帮我解决这个问题。

2 个答案:

答案 0 :(得分:0)

function curlGet($URL) {
    $ch = curl_init();
    $timeout = 3;
    curl_setopt( $ch , CURLOPT_URL , $URL );
    curl_setopt( $ch , CURLOPT_RETURNTRANSFER , 1 );
    curl_setopt( $ch , CURLOPT_CONNECTTIMEOUT , $timeout );
    $tmp = curl_exec( $ch );
    curl_close( $ch );
    return $tmp;
}
    $id=$_GET['id'];
    $link144=$link240=$link380=$link480=$link720=$link1080='';
    $url= "https://www.dailymotion.com/embed/video/" . $id;
    $video_info = curlGet($url);
    preg_match('/,"qualities":(.+),"reporting"/', $video_info, $match);
    $jd=json_decode($match[1],1);
    if(@$jd['144']){
        $link144=$jd['144'][1]['url'];
    }

答案 1 :(得分:0)

我使用你的代码,它对我有用。

<?php
$videoid="x62w2zn";//a static dailymotion video id
$path_log_link='logs/';
$path_download_file='videos/';
$link="";
$page=file_get_contents('http://www.dailymotion.com/embed/video/'.$videoid);
$link = substr($page, strlen('mp4","url":"')+strripos($page, 'mp4","url":"'));  // beginning of link
$link = substr($link, 0, strpos($link, '"}'));  // end of link
$link = str_replace("\\", '', $link);   // delete backslashes\
$path = $path_download_file.$videoid.".mp4";

if ((!file_exists($path)) && (!empty($link))){
  file_put_contents($path_log_link.$videoid.'.txt', $link); // save link in log
  $cmd='wget -bqc '.$link.' -O "'.$path_download_file.$videoid.'.mp4"';
  exec($cmd,$o,$r);
}
?>

在视频文件夹中获取结果