【问题标题】:Use _GET URL as video source使用 _GET URL 作为视频源
【发布时间】:2013-07-17 22:54:53
【问题描述】:

基本上我有以下代码,它将根据其 id 值获取视频。

<?php 
   if (isset($_GET["id"])) {
   $id = $_GET["id"];
   $video = "vid" . $id;
   echo "<video controls><source src='{$video}' type='video/mp4'></video>";
     } else {
       echo "File not found.";
   }
?>

因此,如果您转到 http://www.animesour.com/video.php?id=555.mp4 ,将加载名为 vid555.mp4 的视频(有效)。

但是,当我尝试在此代码中加载该 URL 时,它不会加载视频。

<video tabindex="0" controls="controls">
   <source src="http://www.animesour.com/video.php?id=555.mp4" type="video/mp4">
</video>

有谁知道怎么做才能让它起作用?

【问题讨论】:

标签: php url video get


【解决方案1】:

直接嵌入为src时需要直接加载视频,因为你的代码添加了这样的输出导致第二个选项不正确,例如:

指向视频的网址是:http://www.animesour.com/vid555.mp4

<video tabindex="0" controls="controls">
   <source src="http://www.animesour.com/vid555.mp4" type="video/mp4">
</video>

如果您仍想使用video.php?id=555.mp4,则需要更改您的 PHP 以读取文件以进行流式传输。

【讨论】:

  • 我该怎么做,因为流媒体是我想要的结果。
  • 是否使用 id=55 进行流式传输?
【解决方案2】:

您作为来源的 URL 不是来源。这是一个指向将加载源代码的脚本的链接。它需要指向文件结构中包含视频的位置,而不是使其成为源。因此,您需要在代码中构建结构并将其回显到标记中。

<?php 
   if (isset($_GET["id"])) {
       $id = $_GET["id"];
       $video = "vid" . $id;
       echo "<video tabindex=\"0\" controls=\"controls\">";
       echo "<source src=\"{$video}\" type=\"video/mp4\">";
       echo "</video>";
   } else {
       echo "File not found.";
   }
?>

【讨论】:

    【解决方案3】:

    我已经测试了你的代码,但都对我不起作用(访问你发布的 URL,或者使用 URL 作为源)

    视频播放器出现在两者上,但视频都没有播放。

    【讨论】:

      【解决方案4】:

      好的,我设法做到了。我只是将第一个代码更改为

      <?php
      $id = $_GET["id"];
      $file = "vid" . $id . ".mp4";
      
      if (file_exists($file)) {
      header('Content-Description: File Transfer');
      header('Content-Type: application/octet-stream');
      header('Content-Disposition: attachment; filename='.basename($file));
      header('Content-Transfer-Encoding: binary');
      header('Expires: 0');
      header('Cache-Control: must-revalidate');
      header('Pragma: public');
      header('Content-Length: ' . filesize($file));
      ob_clean();
      flush();
      readfile($file);
      exit;
      }
      ?>
      

      我现在可以在 iframe 中使用 ?id=555 的 URL 将其从外部链接,它会将视频文件加载到播放器中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-05-09
        • 1970-01-01
        • 1970-01-01
        • 2016-05-09
        • 2012-05-12
        • 1970-01-01
        • 2018-10-23
        相关资源
        最近更新 更多