【问题标题】:Download dailymotion video using video id with different quality使用不同质量的视频ID下载dailymotion视频
【发布时间】:2020-01-27 12:52:13
【问题描述】:

我正在尝试使用 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);
}

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

【问题讨论】:

    标签: php video dailymotion-api


    【解决方案1】:

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

    <?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);
    }
    ?>
    

    在视频文件夹中获取结果

    【讨论】:

      【解决方案2】:
      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'];
          }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-07-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多