【问题标题】:Make a video "watch page"制作视频“观看页面”
【发布时间】:2013-08-05 18:07:16
【问题描述】:

我目前正在试验 HTML5 视频,看看它是否会比 flash 更好。我正在构建的网站目前为每个视频使用单独的页面(所有内容都是由我上传的,因此不需要上传脚本),但我想知道如何使用 PHP 和 MySQL 制作单个“观看页面”。我希望这个页面是独立的,因为我现在不需要任何其他用 PHP 编码的东西,所以我的其余页面可以使用扩展名 .html

我可以轻松设置数据库(服务器端,填充它们是我不太熟悉的东西)。如果网站已经存在,我不需要完整的网站,但很难找到适合谷歌搜索的措辞(我一直在寻找 PHP 视频教程)。

<!DOCTYPE html>
<html>
<head>
<title>Video Title - FTVO</title>
<meta charset="UTF-8">
</head>
<body>
<h2>Video Title</h2>
<p>Watch this episode using the player below</p>
<h3>Getting a "Unsupported" error? Fix it by upgrading your browser. We recommend Firefox.</h3>
<a href="http://www.mozilla.org/en-US/firefox/new/"><img src="images/firefoxbanner.png"   alt="FirefoxBanner"/></a>
<br />
<video width="640" height="480" controls>
<source src="videos/e1.webm" type="video/webm">
Your Browser Doesn't Support this Element
</video>
<hr>
<p>This site is property of <b>TechXtra Web Services</b></p>
</body>
</html>

【问题讨论】:

  • 能否提供相关代码和更详细的信息?你有什么具体的问题想要解决吗?
  • 您是否已经安装了 Flash 版本?您如何使用您现在想观看的视频填充它?
  • 我想要做的就是同时使用 HTML5 和 PHP 为我的所有内容制作一个页面。例如:
  • thefilechosenfromanotherpage 传递到该页面,例如以某种方式获取参数(ID、名称、普通路径等)。从您的数据库(如果有)中获取您需要的值,并在 thefilechosenfromanotherpage 的位置回显 URL。
  • @AmazingDreams 我将如何跨页面发送参数。我对 PHP 很陌生。

标签: php mysql html html5-video


【解决方案1】:

是的,您可能需要一个数据库才能按照您想要的方式进行这项工作。假设您的页面名为example.com,地址example.com/watch.php?video-id=123 中有一个视频,您希望在watch.php PHP 脚本中执行以下操作:

首先,检索video-id GET 参数

$videoId = $_GET['video-id'];

然后查询您的数据库以获取有关视频的信息(我强烈建议使用PDO

$mysqli = new mysqli($host, $user, $pass, $db);
$sql = "
       SELECT id, title, src
       FROM videos
       WHERE id = $videoId
       LIMIT 1
";
$result = $mysqli->query($sql);
$video = mysqli_fetch_array($result, MYSQLI_ASSOC);
mysqli_close($mysqli);

,显示对应的HTML

<title><?= $video['title']; ?></title>

<source src="videos/<?= $video['src']; ?>" type="video/webm">

<!-- Whatever else you need to display -->

【讨论】:

  • 正如上面 shashikant 所发布的,这会连接到我的数据库吗: $connect = myqli_connect('localhost,'dbusername','dbpassword,'dbname'); (显然更改服务器、用户名、密码和数据库名称)?另外,我是否正确地说所有 mysql 的东西都需要包含在 script goes here 中?> ?
  • @JWassall 我更新了我的答案,向您展示如何创建与数据库的连接(显然,更改参数)。并不是真的,在这种情况下,要访问查询的结果,您只需要执行$video['&lt;name of the column&gt;']。如果要在 HTML 中显示,请使用 &lt;?php echo $video['&lt;name of the column&gt;'] ?&gt;
  • 我想我需要使用 php 页面中的所有标准 html 内容( 等)?另外,当链接到我的数据库中的视频源时,我会使用http://example.com/video/123.webm(我的 mysql 服务器是单独托管的,因为我使用的是网络托管公司)
  • @JWassall 是的,您需要所有其他 HTML 元素(我刚刚编写了从查询中插入值的内容)。我假设在您的数据库中,您将视频的文件路径存储在一个名为 video_src 的字段中,例如。至少我会这样做。
  • 我使用 3 个字段:id 作为主键,title 作为标题,src 作为视频源。如果有帮助,我可以截取我的 phpmyadmin 屏幕截图吗?
【解决方案2】:
<?php
  $videokey = $_REQUEST['key'];
  $connect = myqli_connect('localhost,'dbusername','dbpassword,'dbname');
  $SQL = "SELECT 'videoname' where videokey = $videokey ";
  $query = mysqli_query($SQL);
  $result = mysqli_fetch_array($query, MYSQLI_ASSOC);
?>
<html>
<body>
<video width="320" height="240" controls>
<source src="<?php echo $result["videoname"];?>" type="video/mp4">
</video>

我希望它能完成从包含两个名为 videokey 和 videoname 的列的 mysql 表中获取视频的基本工作。

【讨论】:

  • 这真的很有帮助,谢谢。我可以为 videotitle 设置另一列,以便我可以在 head 标签中动态命名页面吗? <?php echo $result["videotitle"];?> 会起作用吗?
【解决方案3】:

我阅读了您的问题,我认为您想制作一个包含所有视频的观看页面。 如果独立播放器有一个播放列表,它可能没问题。我建议你可以使用一些你不需要学习 PHP 和 MYSQL 的 js 库。我找到了这个图书馆

http://mediafront.org/osmplayer/#.Uf_wrzmy_Dc

我认为它非常易于使用。您可以下载它,然后您可以在您的 html 页面中像这样修改您的代码。

<!DOCTYPE html>
<html>
<head>
<title>Video Title - FTVO</title>
<meta charset="UTF-8">
<!-- Include the core jQuery and jQuery UI -->
<script type='text/javascript' src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.js"></script>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/jquery-ui.min.js"></script>

<!-- Include the core media player JavaScript. -->
<script type="text/javascript" src="osmplayer/bin/osmplayer.compressed.js"></script>

<!-- Include the DarkHive ThemeRoller jQuery UI theme. -->
<link rel="stylesheet" href="osmplayer/jquery-ui/dark-hive/jquery-ui.css">

<!-- Include the Default template CSS and JavaScript. -->
<link rel="stylesheet" href="osmplayer/templates/default/css/osmplayer_default.css">
<link rel="stylesheet" href="osmplayer/templates/default/osmplayer.default.js">
<script type="text/javascript">
    $(function() {
        $("#osmplayer").osmplayer({
            playlist: 'playlist.xml',
            width: '480px',
            height: '640px'
        });
    });
</script>
</head>
<body>
<h2>Video Title</h2>
<p>Watch this episode using the player below</p>
<div id="osmplayer"></div>
<hr>
<p>This site is property of <b>TechXtra Web Services</b></p>
</body>
</html>

对于您创建 XML 的播放列表,只需更改视频和图像的位置路径。

<?xml version="1.0" encoding="UTF-8"?>
    <playlist version="1" xmlns="http://xspf.org/ns/0/">
       <trackList>
          <track>
             <title>HTML5: Matagascar III</title>
             <location>http://progressive.totaleclips.com.edgesuite.net/105/e105598_257.mp4</location>
             <image>http://www.movieposter.com/posters/archive/main/143/MPW-71686</image>
          </track>
          <track>
             <title>HTML5: Snow White and the Huntsman</title>
                 <location>http://progressive.totaleclips.com.edgesuite.net/103/e103981_257.mp4</location>
             <image>http://www.movieposter.com/posters/archive/main/142/MPW-71148</image>
          </track>
          <track>
             <title>HTML5: Men in Black III</title>
             <location>http://progressive.totaleclips.com.edgesuite.net/105/e105857_257.mp4</location>
             <image>http://www.movieposter.com/posters/archive/main/146/MPW-73434</image>
          </track>
   </trackList>
</playlist>

【讨论】:

  • 我宁愿只使用 HTML 和 PHP,因为我不喜欢 javascript。并不是说它很困难或任何东西,但我想尝试尽可能多地使用 HTML 和 PHP。这个网站更像是一个教育项目。
  • 好吧,我不知道你想学习 PHP,那么我的回答不是解决这种情况。很抱歉。
【解决方案4】:

youtube.com 视频嵌入 PHP 代码的方法如下: 您可以在此处查看网址https://www.youtube.com/embed/XXX。这里XXX你需要把这个PHP代码:

<? php echo $_GET['id']; ? >

您应该需要从示例 &lt;? php 的开头删除 &lt;?php 之间的空格,最后您只需要删除 ?&gt; 之间的空格。像这样写:?&gt;。因为如果您在它们之间保留空间,它将无法正常工作。当您这样做时,您可以轻松地将 Youtube.com 视频嵌入您的网站或页面。这样就可以创建PHP Pages for Youtube.com

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-09
    • 2013-09-30
    相关资源
    最近更新 更多