腾讯云点播用PHP快速接入大量视频到自己网站
程序员文章站
2022-07-06 12:17:44
...
注意:
本文是不包含视频加密、防盗链的视频快速接入,本人还找不到快速的方法,如有大神懂怎么快速生成以及快速接入麻烦告知,谢谢!
开始前准备:
进入你的腾讯云点播控制台,上传好你所需要展示的视频,然后去到你的视频管理界面导出数据(导出的文件类型必须是.csv或.xls文件类型哦)。博主导出的是.csv文件。
这时候你就会看到你的所有视频的各种信息。但是我们只需要两个字段的数据就可以了。那就是文件ID和文件名,其实只需要文件ID也就可以实现了。
开始操作
首先把这两个字段复制出来,另存一张csv表,表名就是数据库表名称,修改两个字段名称,不要出现中文名称就可以。
然后打开数据库在你的数据库里右击点击导入csv文件。注意:把你的表文件先关闭,不然数据库导入不了文件。
设置好你的类型结构,然后点击运行,读条百分百才算全部数据导入完
核心步骤
官方文档给出了一个非常简单的添加播放器实例代码:
添加播放器
经过下面两个简单的步骤,您就可以在您的网页上添加一个视频播放器。
step 1:添加播放器容器
在需要展示播放器的页面位置加入播放器容器,例如:在 index.html 中加入如下代码(容器 ID 以及宽高都可以自定义)。
<div id="id_video_container" style="width:100%; height:auto;"></div>;
step 2:创建 Player 对象
接下来在页面引入的 Javascript 脚本中创建一个播放器对象,这时将使用播放器的构造函数
var player = new qcVideo.Player("id_video_container", {
"file_id": "1465197896261041838",
"app_id": "125132611",
"width":640,
"height":480
});
该构造函数将会生成一个播放器对象并且根据 file_id 和 app_id 找到对应的视频进行播放,您可以使用播放器对象 player 对播放器进行控制,播放器对象的参数选项 API 方法总览 有详细介绍。
完整实例代码
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimum-scale=1.0, maximum-scale=1.0"/>
<title>点播</title>
</head>
<body>
<div id="id_video_container" style="width:100%; height:auto;"></div>
<script src="//qzonestyle.gtimg.cn/open/qcloud/video/h5/h5connect.js" charset="utf-8"></script>
<script type="text/javascript">
(function () {
var player = new qcVideo.Player("id_video_container", {
"file_id": "1465197896261041838",
"app_id": "125132611",
"width":640,
"height":480
});
})()
</script>
</body>
</html>
接下来就是实现动态接入播放器的核心代码
//首先接入你的数据库配置文件
<?php
$five_id ="select * from article(表名) limit 0,7(显示前七个视频)";//查询视频表里的所有数据
$five_sql=mysqli_query($conn,$five_id);//执行sql语句
if($five_sql&&mysqli_num_rows($five_sql)){//mysql_num_rows() 返回结果集中行的数目
while ($five_row=mysqli_fetch_assoc($five_sql) ){//mysql_fetch_assoc() 函数从结果集中取得一行作为关联数组
$data_five[]=$five_row;
}
}else{
$data_five=array();
}
?>
在你需要输出视频的地方接入播放器代码,按照说明文档的接入,我们只需要修改file_id即可:
//这里需要说明一下,这个是单独的视频页面只需修改下limit0,7成为0.1即可
<script type="text/javascript">
(function () {
var player = new qcVideo.Player("id_video_container", {
var player = new qcVideo.Player("id_video_container", {
<?PHP
if(!empty($data_id)){
foreach ($data_id as $value){
?>
"file_id": "<?PHP echo $value['fiveID'];?>",
<?PHP
}
}
?>
"app_id": "",
"width":640,
"height":480
});
})()
</script>
输出每一个视频:
<?PHP
if(!empty($data_five)){//判断是否存在
foreach ($data_five as $value){//把数据赋给value,这里输出的是之前做个七个数据,可以利用分页来进行全部视频排版
?>
<li>
//先做一个跳转链接用get id的方式传给播放的界面
<a href="video_cont.php?name=<?php echo $value2['five_name'];?>" title="<?php echo $value['five_name'] ?>">
//一下排版的样式,输出图片和视频名称,一下的输出图片是博主自己做的一个截视频界面做视图展示出来而已。
<?php
echo $value['five_photo'];//
?>
<h2><?php echo $value['five_name'] ?>
<span></span>
</h2></a>
</li>
<?PHP
}
}
?>
</ul>
视频接收界面video_cont.php:
<?php
$gid=$_GET['name'];//首页接收前面传送过来的name,id或name自己设置就行不一定非要name。
$id ="select * from article where fivename='$gid'";//数据库匹配找出获取的name名字
$infoid=mysqli_query($conn,$id);
if($infoid&&mysqli_num_rows($infoid)){
while ($valueid=mysqli_fetch_assoc($infoid) ){
$dataid[]=$valueid;
}
}else{
$dataid=array();
}
?>
最后输出和之前一样
<script type="text/javascript">
(function () {
var player = new qcVideo.Player("id_video_container", {
var player = new qcVideo.Player("id_video_container", {
<?PHP
if(!empty($data_id)){
foreach ($data_id as $value){
?>
"file_id": "<?PHP echo $value['fiveID'];?>",
<?PHP
}
}
?>
"app_id": "",
"width":640,
"height":480
});
})()
</script>
大功告成!
转载注明出处