parent
27e4627865
commit
86e38964e4
31 changed files with 280 additions and 25956 deletions
@ -0,0 +1,2 @@ |
||||
config.php |
||||
old_version |
@ -0,0 +1,21 @@ |
||||
MIT License |
||||
|
||||
Copyright (c) 2018 hhCandy(。・ω・。)ノ |
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy |
||||
of this software and associated documentation files (the "Software"), to deal |
||||
in the Software without restriction, including without limitation the rights |
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
||||
copies of the Software, and to permit persons to whom the Software is |
||||
furnished to do so, subject to the following conditions: |
||||
|
||||
The above copyright notice and this permission notice shall be included in all |
||||
copies or substantial portions of the Software. |
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
||||
SOFTWARE. |
@ -0,0 +1,3 @@ |
||||
# YimianVideo |
||||
Video System power for Yimian Web |
||||
## Deverloped from Dplayer |
@ -0,0 +1,41 @@ |
||||
|
||||
</div> |
||||
</div> |
||||
<!-- /#page-content-wrapper --> |
||||
|
||||
</div> |
||||
<!-- /#wrapper --> |
||||
|
||||
<script>$(document).pjax('a', '.container');</script> |
||||
<script src="https://cn.yimian.xyz/video/js/bootstrap.min.js"></script> |
||||
<script type="text/javascript"> |
||||
$(document).ready(function () { |
||||
var trigger = $('.hamburger'), |
||||
overlay = $('.overlay'), |
||||
isClosed = false; |
||||
|
||||
trigger.click(function () { |
||||
hamburger_cross(); |
||||
}); |
||||
|
||||
function hamburger_cross() { |
||||
|
||||
if (isClosed == true) { |
||||
overlay.hide(); |
||||
trigger.removeClass('is-open'); |
||||
trigger.addClass('is-closed'); |
||||
isClosed = false; |
||||
} else { |
||||
overlay.show(); |
||||
trigger.removeClass('is-closed'); |
||||
trigger.addClass('is-open'); |
||||
isClosed = true; |
||||
} |
||||
} |
||||
|
||||
$('[data-toggle=\"offcanvas\"]').click(function () { |
||||
$('#wrapper').toggleClass('toggled'); |
||||
}); |
||||
}); |
||||
</script> |
||||
|
@ -0,0 +1,7 @@ |
||||
<?php |
||||
include '../functions.php'; |
||||
|
||||
echo file_get_contents("./body_down.html"); |
||||
yimian__simpleFooter(); |
||||
|
||||
|
@ -0,0 +1,42 @@ |
||||
|
||||
|
||||
<div id="wrapper"> |
||||
<div class="overlay"></div> |
||||
|
||||
<!-- Sidebar --> |
||||
<nav class="navbar navbar-inverse navbar-fixed-top" id="sidebar-wrapper" role="navigation"> |
||||
<ul class="nav sidebar-nav"> |
||||
<li class="sidebar-brand"> |
||||
<a href="./"> |
||||
Yimian Video |
||||
</a> |
||||
</li> |
||||
<li> <a href="./"><i class="fa fa-fw fa-home"></i>Video Home</a> |
||||
</li> |
||||
<li> |
||||
<a href="./acg.php?class=1"><i class="fa fa-fw fa-folder"></i> ACG</a> |
||||
</li> |
||||
<li> |
||||
<a href="./acg.php?class=2"><i class="fa fa-fw fa-file-o"></i> Movies</a> |
||||
</li> |
||||
<li> |
||||
<a href="./acg.php?class=3"><i class="fa fa-fw fa-cog"></i> Documentary</a> |
||||
</li> |
||||
<li> |
||||
<a href="./acg.php?class=4"><i class="fa fa-fw fa-cog"></i> TV Play</a> |
||||
</li> |
||||
<li> |
||||
<a href="../"><i class="fa fa-fw fa-twitter"></i>Back to Yimian Page</a> |
||||
</li> |
||||
</ul> |
||||
</nav> |
||||
<!-- /#sidebar-wrapper --> |
||||
|
||||
<!-- Page Content --> |
||||
<div id="page-content-wrapper"> |
||||
<button type="button" class="hamburger is-closed animated fadeInLeft" data-toggle="offcanvas"> |
||||
<span class="hamb-top"></span> |
||||
<span class="hamb-middle"></span> |
||||
<span class="hamb-bottom"></span> |
||||
</button> |
||||
<div class="container"> |
@ -0,0 +1,12 @@ |
||||
<?php |
||||
include '../functions.php'; |
||||
|
||||
yimian__header("Yimian Video","video,Yimian","This is the page for showing video class."); |
||||
|
||||
echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"https://cn.yimian.xyz/video/css/bootstrap.css\"> |
||||
<link rel=\"stylesheet\" href=\"https://cn.yimian.xyz/video/css/style.css\">"; |
||||
|
||||
|
||||
yimian__headerEnd(); |
||||
|
||||
echo file_get_contents("./body_up.html"); |
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
@ -1,28 +0,0 @@ |
||||
Copyright (c) 2017 Dailymotion (http://www.dailymotion.com) |
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License"); |
||||
you may not use this file except in compliance with the License. |
||||
You may obtain a copy of the License at |
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0 |
||||
|
||||
Unless required by applicable law or agreed to in writing, software |
||||
distributed under the License is distributed on an "AS IS" BASIS, |
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
See the License for the specific language governing permissions and |
||||
limitations under the License. |
||||
|
||||
src/remux/mp4-generator.js and src/demux/exp-golomb.js implementation in this project |
||||
are derived from the HLS library for video.js (https://github.com/videojs/videojs-contrib-hls) |
||||
|
||||
That work is also covered by the Apache 2 License, following copyright: |
||||
Copyright (c) 2013-2015 Brightcove |
||||
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN |
||||
THE SOFTWARE. |
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@ -1,44 +0,0 @@ |
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<language> |
||||
<adCountdown>[$second]</adCountdown><!--广告播放结束倒计时--> |
||||
<skipDelay>[$second]</skipDelay> |
||||
<buttonOver> |
||||
<play>点击播放</play> |
||||
<pause>暂停播放</pause> |
||||
<mute>静音</mute> |
||||
<escMute>恢复音量</escMute> |
||||
<full>全屏</full> |
||||
<escFull>退出全屏</escFull> |
||||
<previousPage>上一集</previousPage> |
||||
<nextPage>下一集</nextPage> |
||||
<definition>点击选择清晰度</definition> |
||||
</buttonOver> |
||||
<volumeSliderOver> |
||||
音量:[$volume]% |
||||
</volumeSliderOver> |
||||
<buffer>[$percentage]%</buffer> |
||||
<timeSliderOver><!--鼠标经过进度条显示的时间格式--> |
||||
[$timeh]:[$timei]:[$times] |
||||
</timeSliderOver> |
||||
<liveAndVod> |
||||
[$timeh]:[$timei]:[$times] |
||||
</liveAndVod> |
||||
<live> |
||||
直播中 [$liveTimeY]-[$liveTimem]-[$liveTimed] [$liveTimeh]:[$liveTimei]:[$liveTimes] |
||||
</live> |
||||
<m3u8Definition> |
||||
<name>流畅</name> |
||||
<name>低清</name> |
||||
<name>标清</name> |
||||
<name>高清</name> |
||||
<name>超清</name> |
||||
<name>蓝光</name> |
||||
<name>未知</name> |
||||
</m3u8Definition> |
||||
<error> |
||||
<cannotFindUrl>视频地址不存在</cannotFindUrl> |
||||
<streamNotFound>加载失败</streamNotFound> |
||||
<formatError>视频格式错误</formatError> |
||||
</error> |
||||
<definition>自动</definition> |
||||
</language> |
File diff suppressed because one or more lines are too long
@ -1,104 +0,0 @@ |
||||
<?php |
||||
|
||||
$id= $_GET[id]; |
||||
|
||||
$conn=database_cnnct(); |
||||
|
||||
$row=sql_data($conn,'video','id',$id); |
||||
|
||||
///import row info to php var |
||||
$series= $row['series']; |
||||
$name= $row['name']; |
||||
$type= $row['type']; |
||||
$url1= $row['url1']; |
||||
$url2= $row['url2']; |
||||
$idd= $row['idd']; |
||||
|
||||
|
||||
$return_array = array(id=>$id,series=>$series,name=>$name,type=>$type,url1=>$url1,url2=>$url2,idd=>$idd); |
||||
|
||||
header('Content-type: text/json'); |
||||
echo json_encode($return_array); |
||||
die(); |
||||
|
||||
|
||||
|
||||
?> |
||||
|
||||
<?php //declear function
|
||||
|
||||
|
||||
//fnct of get usr ip::()::(ip) |
||||
function getip() |
||||
{ |
||||
if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) |
||||
{ |
||||
$ip = getenv("HTTP_CLIENT_IP"); |
||||
} |
||||
else |
||||
if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")) |
||||
{ |
||||
$ip = getenv("HTTP_X_FORWARDED_FOR"); |
||||
} |
||||
else |
||||
if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown")) |
||||
{ |
||||
$ip = getenv("REMOTE_ADDR"); |
||||
} |
||||
else |
||||
if (isset ($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")) |
||||
{ |
||||
$ip = $_SERVER['REMOTE_ADDR']; |
||||
} |
||||
else |
||||
{ |
||||
$ip = "unknown"; |
||||
} |
||||
return ($ip); |
||||
} |
||||
|
||||
|
||||
//fnct of connecting database::()::(database conn) |
||||
function database_cnnct () |
||||
{ |
||||
$servername = "114.116.65.152"; |
||||
$username = "yimian"; |
||||
$password = "Lymian0904@112"; |
||||
$dbname = "yimian"; |
||||
|
||||
// 创建连接 |
||||
$conn = new mysqli($servername, $username, $password, $dbname); |
||||
// Check connection |
||||
if ($conn->connect_error) |
||||
{ |
||||
die(json_encode(array(status=>"连接失败: " . $conn->connect_error))); |
||||
} |
||||
|
||||
return ($conn); |
||||
} |
||||
|
||||
|
||||
//fnct of get table row number::(data_cnnct var,table name) ::(row number) |
||||
function sql_rowNum($conn,$tableSql) |
||||
{ |
||||
$row_count = $conn->query("SELECT COUNT(*) FROM $tableSql"); |
||||
list($row_num) = $row_count->fetch_row(); |
||||
return ($row_num); |
||||
} |
||||
|
||||
//fnct of getting row data from database::(data_cnnct var, table name,column name, column value)::(row info) |
||||
function sql_data($conn,$table,$clmnName,$value) |
||||
{ |
||||
$sql = "SELECT * FROM $table where $clmnName=$value"; |
||||
|
||||
$result = $conn->query($sql); |
||||
///禁止非法访问 |
||||
if ($result->num_rows > 0) {}else{echo "<script>alert('Illegal Visit!');setTimeout(function(){top.location='/404.php';},0)</script>";} |
||||
|
||||
$row = $result->fetch_assoc(); |
||||
|
||||
return ($row); |
||||
|
||||
} |
||||
|
||||
?> |
@ -1,4 +0,0 @@ |
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<cross-domain-policy> |
||||
<allow-access-from domain="*"/> |
||||
</cross-domain-policy> |
@ -1,41 +0,0 @@ |
||||
<?php |
||||
$id=$_POST['id']; |
||||
|
||||
$fp=$_POST['fp']; |
||||
|
||||
$time=time(); |
||||
|
||||
|
||||
$mydbhost = "114.116.65.152"; |
||||
$mydbuser = "yimian"; |
||||
$mydbpass = 'Lymian0904@112'; |
||||
$conn = mysqli_connect($mydbhost, $mydbuser, $mydbpass); |
||||
if(! $conn){ |
||||
die("connect error: " . mysqli_error($conn)); |
||||
} |
||||
mysqli_select_db( $conn, 'yimian'); |
||||
|
||||
|
||||
$sql = "SELECT * FROM fp where fp='$fp'"; |
||||
$result = $conn->query($sql); |
||||
|
||||
|
||||
if ($result->num_rows < 1) |
||||
{ |
||||
|
||||
$sql="insert INTO fp (fp, video,videotime) VALUES ('$fp',$id,$time)"; |
||||
|
||||
|
||||
if ($conn->query($sql) === TRUE) {} else { |
||||
echo "Error: " . $sql . "<br>" . $conn->error; |
||||
} |
||||
}else |
||||
{ |
||||
$sql="UPDATE fp SET video=$id,videotime=$time WHERE fp='$fp'"; |
||||
|
||||
|
||||
if ($conn->query($sql) === TRUE) {} else { |
||||
echo "Error: " . $sql . "<br>" . $conn->error; |
||||
}} |
||||
mysqli_close($conn); |
||||
|
@ -1,62 +1,11 @@ |
||||
<?php |
||||
include '../functions.php'; |
||||
|
||||
yimian__header("Yimian Video","video,Yimian","This is the page for showing video class."); |
||||
|
||||
|
||||
echo " |
||||
<link rel=\"stylesheet\" type=\"text/css\" href=\"css/bootstrap.css\"> |
||||
<link rel=\"stylesheet\" href=\"css/style.css\">"; |
||||
|
||||
|
||||
|
||||
yimian__headerEnd(); |
||||
video__bodyUp(); |
||||
|
||||
echo file_get_contents("./mainlist.html"); |
||||
|
||||
echo" |
||||
<script src=\"js/bootstrap.min.js\"></script> |
||||
<script type=\"text/javascript\"> |
||||
$(document).ready(function () { |
||||
var trigger = $('.hamburger'), |
||||
overlay = $('.overlay'), |
||||
isClosed = false; |
||||
|
||||
trigger.click(function () { |
||||
hamburger_cross(); |
||||
}); |
||||
|
||||
function hamburger_cross() { |
||||
video__bodyDown(); |
||||
|
||||
if (isClosed == true) { |
||||
overlay.hide(); |
||||
trigger.removeClass('is-open'); |
||||
trigger.addClass('is-closed'); |
||||
isClosed = false; |
||||
} else { |
||||
overlay.show(); |
||||
trigger.removeClass('is-closed'); |
||||
trigger.addClass('is-open'); |
||||
isClosed = true; |
||||
} |
||||
} |
||||
|
||||
$('[data-toggle=\"offcanvas\"]').click(function () { |
||||
$('#wrapper').toggleClass('toggled'); |
||||
}); |
||||
}); |
||||
</script>"; |
||||
echo " |
||||
<script> |
||||
var watching=0; |
||||
$.post(\"./fpcheck.php\",{ |
||||
fp: fp |
||||
}, |
||||
function(msg){ |
||||
if(msg.code==1){document.getElementById(\"p1\").innerHTML='<a href=\"./video.php\">点这里继续上次播放!</a>';} |
||||
},\"json\"); |
||||
</script>"; |
||||
|
||||
yimian__simpleFooter(); |
||||
|
||||
|
@ -1,509 +0,0 @@ |
||||
|
||||
<?php
|
||||
$id=$_GET['id']; |
||||
$auto=$_GET['auto']; |
||||
$conn=database_cnnct(); |
||||
|
||||
//get row info form table blog with id |
||||
|
||||
|
||||
|
||||
$sql = "SELECT * FROM videoRedirect"; |
||||
|
||||
|
||||
$result = $conn->query($sql); |
||||
|
||||
|
||||
$sql3 = "SELECT * FROM videoToUrl"; |
||||
|
||||
$result2 = $conn->query($sql3); |
||||
?> |
||||
|
||||
|
||||
<?php //declear function
|
||||
|
||||
|
||||
//fnct of get usr ip::()::(ip) |
||||
function getip() |
||||
{ |
||||
if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) |
||||
{ |
||||
$ip = getenv("HTTP_CLIENT_IP"); |
||||
} |
||||
else |
||||
if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")) |
||||
{ |
||||
$ip = getenv("HTTP_X_FORWARDED_FOR"); |
||||
} |
||||
else |
||||
if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown")) |
||||
{ |
||||
$ip = getenv("REMOTE_ADDR"); |
||||
} |
||||
else |
||||
if (isset ($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")) |
||||
{ |
||||
$ip = $_SERVER['REMOTE_ADDR']; |
||||
} |
||||
else |
||||
{ |
||||
$ip = "unknown"; |
||||
} |
||||
return ($ip); |
||||
} |
||||
|
||||
|
||||
//fnct of connecting database::()::(database conn) |
||||
function database_cnnct () |
||||
{ |
||||
$servername = "114.116.65.152"; |
||||
$username = "yimian"; |
||||
$password = "Lymian0904@112"; |
||||
$dbname = "yimian"; |
||||
|
||||
// 创建连接 |
||||
$conn = new mysqli($servername, $username, $password, $dbname); |
||||
// Check connection |
||||
|
||||
|
||||
if ($conn->connect_error) |
||||
{ |
||||
die("连接失败: " . $conn->connect_error); |
||||
} |
||||
|
||||
return ($conn); |
||||
} |
||||
|
||||
|
||||
//fnct of get table row number::(data_cnnct var,table name) ::(row number) |
||||
function sql_rowNum($conn,$tableSql) |
||||
{ |
||||
$row_count = $conn->query("SELECT COUNT(*) FROM $tableSql"); |
||||
list($row_num) = $row_count->fetch_row(); |
||||
return ($row_num); |
||||
} |
||||
|
||||
//fnct of getting row data from database::(data_cnnct var, table name,column name, column value)::(row info) |
||||
function sql_data($conn,$table,$clmnName,$value) |
||||
{ |
||||
$sql = "SELECT * FROM $table where $clmnName=$value"; |
||||
|
||||
$result = $conn->query($sql); |
||||
///禁止非法访问 |
||||
if ($result->num_rows > 0) {}else{echo "<script>alert('Illegal Visit!');setTimeout(function(){top.location='/404.php';},0)</script>";} |
||||
|
||||
$row = $result->fetch_assoc(); |
||||
|
||||
return ($row); |
||||
|
||||
} |
||||
|
||||
function array_orderby() |
||||
{ |
||||
$args = func_get_args(); |
||||
$data = array_shift($args); |
||||
foreach ($args as $n => $field) { |
||||
if (is_string($field)) { |
||||
$tmp = array(); |
||||
foreach ($data as $key => $row) |
||||
$tmp[$key] = $row[$field]; |
||||
$args[$n] = $tmp; |
||||
} |
||||
} |
||||
$args[] = &$data; |
||||
call_user_func_array('array_multisort', $args); |
||||
return array_pop($args); |
||||
} |
||||
|
||||
?> |
||||
|
||||
<!DOCTYPE html> |
||||
|
||||
<html> |
||||
|
||||
<head> |
||||
<meta charset="UTF-8"> |
||||
<title>Yimian Video</title> |
||||
<meta name="viewport" content="width=device-width, initial-scale=1"> |
||||
<style type="text/css">body{margin:0;padding:0px;font-family:"Microsoft YaHei",YaHei,"微软雅黑",SimHei,"黑体";font-size:14px}</style> |
||||
<script type="text/javascript" src="js/jquery.min.js"></script> |
||||
<script src="js/simpleCanvas.js"></script> |
||||
</head> |
||||
|
||||
<body> |
||||
<div id="video" style="width: 100%; height: 400px;"> |
||||
<video id="videocontainer" src="http://img.ksbbs.com/asset/Mon_1703/eb048d7839442d0.mp4"></video> |
||||
</div> |
||||
|
||||
<?php |
||||
echo "<script> var rdrctId1 = new Array();var rdrctId2 = new Array();var urlId = new Array();var urlUrl = new Array();"; |
||||
if ($result->num_rows > 0) { |
||||
// 输出数据 |
||||
while($row = $result->fetch_assoc()) { |
||||
|
||||
$tmp_id1=$row['id']; |
||||
$tmp_id2=$row['toid']; |
||||
echo "rdrctId1.push($tmp_id1);rdrctId2.push($tmp_id2);"; |
||||
|
||||
}} |
||||
|
||||
if ($result2->num_rows > 0) { |
||||
// 输出数据 |
||||
while($row1 = $result2->fetch_assoc()) { |
||||
|
||||
$url_id=$row1['id']; |
||||
$url_url=$row1['url']; |
||||
echo "urlId.push($url_id);urlUrl.push(\"$url_url\");"; |
||||
|
||||
}} |
||||
echo "</script>"; |
||||
?> |
||||
<script type="text/javascript" src="../video/ckplayer/ckplayer.js"></script> |
||||
<script typr="text/javascript" > |
||||
|
||||
///cookie function |
||||
var cookie = { |
||||
set: function(name, value) { |
||||
var Days = 30; |
||||
var exp = new Date(); |
||||
exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000); |
||||
document.cookie = name + '=' + escape(value) + ';expires=' + exp.toGMTString(); |
||||
}, |
||||
get: function(name) { |
||||
var arr, reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); |
||||
if(arr = document.cookie.match(reg)) { |
||||
return unescape(arr[2]); |
||||
} else { |
||||
return null; |
||||
} |
||||
}, |
||||
del: function(name) { |
||||
var exp = new Date(); |
||||
exp.setTime(exp.getTime() - 1); |
||||
var cval = getCookie(name); |
||||
if(cval != null) { |
||||
document.cookie = name + '=' + cval + ';expires=' + exp.toGMTString(); |
||||
} |
||||
} |
||||
}; |
||||
|
||||
|
||||
///first play onload |
||||
function loadHandler() { |
||||
player.addListener('time', timeHandler); //监听播放时间 |
||||
player.addListener('loadedmetadata', loadedMetaDataHandler); //监听元数据 |
||||
player.addListener('ended', play_status); |
||||
} |
||||
|
||||
|
||||
|
||||
///set cookie by playing time |
||||
function timeHandler(t) { |
||||
cookie.set('time_' + videoID, t); //当前视频播放时间写入cookie |
||||
x = document.getElementById("playTime"); |
||||
x.innerHTML = 'PlayTime:'+t; |
||||
} |
||||
|
||||
|
||||
|
||||
///when play end execute |
||||
function play_status(obj){ |
||||
console.log(obj); |
||||
end=1; |
||||
cnnct(2); |
||||
} |
||||
|
||||
|
||||
|
||||
///load supervise desktop |
||||
function loadedMetaDataHandler() { |
||||
var metaData = player.getMetaDate(); |
||||
var html = 'VideoID: '+videoID+'</br>'; |
||||
html += 'Duration: ' + metaData['duration'] + 's;</br>'; |
||||
html += 'Volume: ' +metaData['volume']+ ';</br>'; |
||||
html += 'Player Width: ' + metaData['width'] + 'px;</br>'; |
||||
html += 'Player Height: ' + metaData['height'] + 'px;</br>'; |
||||
html += 'Stream Width: ' + metaData['streamWidth'] + 'px;</br>'; |
||||
html += 'Stream Height: ' + metaData['streamHeight'] + 'px;'; |
||||
console.log(html); |
||||
|
||||
x = document.getElementById("demo"); |
||||
x.innerHTML = html;//改变内容 |
||||
} |
||||
|
||||
|
||||
|
||||
///inform user by flowing bar |
||||
function tankuang(pWidth,content) |
||||
{ |
||||
$("#msg").remove(); |
||||
var html ='<div id="msg" style="position:fixed;top:50%;width:100%;height:30px;line-height:30px;margin-top:-15px;"><p style="background:#000;opacity:0.8;width:'+ pWidth +'px;color:#fff;text-align:center;padding:10px 10px;margin:0 auto;font-size:12px;border-radius:4px;">'+ content +'</p></div>' |
||||
$("body").append(html); |
||||
var t=setTimeout(next1,2000); |
||||
function next1() |
||||
{ |
||||
$("#msg").remove(); |
||||
} |
||||
} |
||||
|
||||
|
||||
|
||||
|
||||
///next loaded |
||||
function next(msg){ videoID=msg.id; player = new ckplayer(videoObject); |
||||
if(end!=1) |
||||
{ |
||||
cookieTime = cookie.get('time_' + videoID); |
||||
if(cookieTime > 0) { |
||||
|
||||
tankuang('80%','本视频记录的上次观看时间(秒)为:' + cookieTime); |
||||
|
||||
} |
||||
//player.newVideo({autoplay:true,video:msg.url1,seek:cookieTime,mobileAutoFull: true}); |
||||
}else{ |
||||
// player.newVideo({autoplay:true,video:msg.url1}); |
||||
} |
||||
end=0; |
||||
// player.addListener('loadedmetadata', loadedMetaDataHandler); //监听元数据 |
||||
// player.addListener('ended', play_status); |
||||
} |
||||
|
||||
|
||||
|
||||
///connect with db via ajax-php |
||||
function cnnct(i) { $.ajax({ |
||||
type: "GET", |
||||
url: './cnnct.php', |
||||
data: {"id": id_++},//使用这种数组方式的,得加下一句才可以,使用传统方式 |
||||
dataType: 'json', |
||||
success: function(msg){ |
||||
for(var tmp_i=0;tmp_i<rdrctId1.length;tmp_i++) |
||||
{ |
||||
if(id_-1==rdrctId1[tmp_i]) id_=rdrctId2[tmp_i]; |
||||
//alert('ddd'+id); |
||||
} |
||||
if(i==1){videoPHP1(msg);} |
||||
if(i==2){videoPHP2(msg);} |
||||
if(i==3){videoPHP3(msg);} |
||||
} |
||||
}); |
||||
} |
||||
|
||||
|
||||
|
||||
///firstplay cnnct |
||||
function videoPHP1(msg){ |
||||
player.newVideo({video:msg.url1,seek:cookieTime,mobileAutoFull: true}); |
||||
player.addListener('loadedmetadata', loadedMetaDataHandler); //监听元数据 |
||||
player.addListener('time', timeHandler); //监听播放时间 |
||||
player.addListener('ended', play_status); |
||||
|
||||
} |
||||
|
||||
|
||||
|
||||
|
||||
///next play cnnct |
||||
function videoPHP2(msg){ |
||||
next(msg); |
||||
} |
||||
|
||||
|
||||
/// |
||||
function videoPHP3(msg){ |
||||
id=msg.id;series=msg.series;name=msg.name;url1=msg.url1;url2=msg.url2;idd=msg.idd;setup(); |
||||
} |
||||
|
||||
|
||||
function next1(){ |
||||
for(var tmp_i=0;tmp_i<rdrctId1.length;tmp_i++) |
||||
{ |
||||
if(id_-1==rdrctId1[tmp_i]) id_=rdrctId2[tmp_i]; |
||||
//alert('ddd'+id); |
||||
} |
||||
//在这里添加需要跳转衔接的视频 |
||||
//alert(id_+'a'); |
||||
|
||||
$.post("./videocookie.php",{ |
||||
watching: id_-1 |
||||
}, |
||||
function(){} |
||||
); |
||||
|
||||
$.post("./fp.php",{ |
||||
fp: simpleCanvas, |
||||
id: id-1 |
||||
}, |
||||
function(){} |
||||
); |
||||
|
||||
|
||||
window.location.href='./index_mobile.php?auto=1&id='+id_; |
||||
} |
||||
|
||||
|
||||
|
||||
</script> |
||||
<script type="text/javascript"> |
||||
|
||||
|
||||
//declear global var |
||||
var id= <?php echo $id?>;
|
||||
var id_= <?php echo $id?>;
|
||||
var end= 0; |
||||
var videoID = <?php echo $id?>; //视频的区分ID,每个视频分配一个唯一的ID
|
||||
var cookieTime = cookie.get('time_' + videoID); //调用已记录的time |
||||
var series= ''; |
||||
var name= ''; |
||||
var url1= ''; |
||||
var url2= ''; |
||||
var idd= 0; |
||||
|
||||
for(var tmp_i=0;tmp_i<urlId.length;tmp_i++) |
||||
{ |
||||
if(id==urlId[tmp_i]) window.location.href=urlUrl[tmp_i]; |
||||
//alert('ddd'+id); |
||||
} |
||||
|
||||
$.post("./fp.php",{ |
||||
fp: simpleCanvas, |
||||
id: id |
||||
}, |
||||
function(){} |
||||
); |
||||
cnnct(3); |
||||
|
||||
//declear object var |
||||
function setup(){ |
||||
|
||||
var videoObject = { |
||||
container: '#video', //容器的ID或className |
||||
variable: 'player',//播放函数名称 |
||||
poster:'./f.jpg',//封面图片 |
||||
loaded:'loadHandler', |
||||
autoplay: <?php if($auto==1)echo 'true';else echo 'false';?>,
|
||||
mobileCkControls:true,//是否在移动端(包括ios)环境中显示控制栏 |
||||
mobileAutoFull:false,//在移动端播放后是否按系统设置的全屏播放 |
||||
h5container:'#videocontainer',//h5环境中使用自定义容器 |
||||
video: [//视频地址列表形式 |
||||
[url1, 'video/mp4', 'FHD', 0], |
||||
] |
||||
}; |
||||
|
||||
|
||||
|
||||
//cockie process |
||||
if(!cookieTime || cookieTime == undefined) { //如果没有记录值,则设置时间0开始播放 |
||||
cookieTime = 0; |
||||
} |
||||
if(cookieTime > 0) { |
||||
|
||||
tankuang('80%','本视频记录的上次观看时间(秒)为:' + cookieTime); |
||||
|
||||
} |
||||
if(cookieTime > 0) { //如果记录时间大于0,则设置视频播放后跳转至上次记录时间 |
||||
videoObject['seek'] = cookieTime; |
||||
} |
||||
|
||||
|
||||
//start play |
||||
//cnnct(1); |
||||
|
||||
var player = new ckplayer(videoObject); |
||||
// player.newVideo({video:msg.url1,seek:cookieTime,mobileAutoFull: true}); |
||||
player.addListener('loadedmetadata', loadedMetaDataHandler); //监听元数据 |
||||
player.addListener('time', timeHandler); //监听播放时间 |
||||
player.addListener('ended', play_status); |
||||
|
||||
|
||||
|
||||
|
||||
///set cookie by playing time |
||||
function timeHandler(t) { |
||||
cookie.set('time_' + videoID, t); //当前视频播放时间写入cookie |
||||
x = document.getElementById("playTime"); |
||||
x.innerHTML = 'PlayTime:'+t+'      <a href="/video/list.php?idd='+idd+'">Click here to go back~</a>'; |
||||
} |
||||
|
||||
|
||||
|
||||
///when play end execute |
||||
function play_status(obj){ |
||||
console.log(obj); |
||||
end=1; |
||||
//alert(id_+'b'); |
||||
|
||||
|
||||
$.post("./videocookie.php",{ |
||||
watching: id_-1 |
||||
}, |
||||
function(){} |
||||
); |
||||
|
||||
$.post("./fp.php",{ |
||||
fp: simpleCanvas, |
||||
id: id-1 |
||||
}, |
||||
function(){} |
||||
); |
||||
|
||||
setTimeout("window.location.href='./index_mobile.php?auto=1&id='+id_;" ,1000); |
||||
tankuang('80%','正在跳转下一集..'); |
||||
} |
||||
|
||||
|
||||
|
||||
///load supervise desktop |
||||
function loadedMetaDataHandler() { |
||||
var metaData = player.getMetaDate(); |
||||
var html = 'VideoName: '+series+' - '+name+' <a href="'+url2+'">(Download)</a>;</br>'; |
||||
html += 'VideoID: '+videoID+'</br>'; |
||||
html += 'Duration: ' + metaData['duration'] + 's;</br>'; |
||||
html += 'Volume: ' +metaData['volume']+ ';</br>'; |
||||
html += 'Player Width: ' + metaData['width'] + 'px;</br>'; |
||||
html += 'Player Height: ' + metaData['height'] + 'px;</br>'; |
||||
html += 'Stream Width: ' + metaData['streamWidth'] + 'px;</br>'; |
||||
html += 'Stream Height: ' + metaData['streamHeight'] + 'px;</br><a href="/video.php?id='+videoID+'">Cannot load successfully? Click here to try former version!</a>'; |
||||
console.log(html); |
||||
|
||||
x = document.getElementById("demo"); |
||||
x.innerHTML = html;//改变内容 |
||||
} |
||||
|
||||
///log |
||||
$.post("/videolog.php",{ |
||||
video: series+'||'+name |
||||
}, |
||||
function(){} |
||||
); |
||||
|
||||
} |
||||
|
||||
</script> |
||||
<script>//log visit |
||||
|
||||
var url=window.location.pathname+window.location.search; |
||||
var domain= document.domain; |
||||
|
||||
|
||||
$.ajax({ |
||||
type: "POST", |
||||
url: '/log.php', |
||||
data: { "url": url, |
||||
"domain": domain},//使用这种数组方式的,得加下一句才可以,使用传统方式 |
||||
traditional: true, |
||||
dataType: 'json', |
||||
error: function (data,type, err) { |
||||
alert('Could not log your visit!'); |
||||
} |
||||
}); |
||||
|
||||
|
||||
</script> |
||||
|
||||
<p id="playTime"></p> <p id="status"></p> |
||||
<p id="demo"></p> |
||||
|
||||
</body> |
||||
|
||||
</html> |
File diff suppressed because one or more lines are too long
@ -1,32 +0,0 @@ |
||||
var canvas = document.createElement('canvas');
|
||||
var ctx = canvas.getContext('2d');
|
||||
var txt = 'http://security.tencent.com/';
|
||||
ctx.textBaseline = "top";
|
||||
ctx.font = "14px 'Arial'";
|
||||
ctx.textBaseline = "tencent";
|
||||
ctx.fillStyle = "#f60";
|
||||
ctx.fillRect(125,1,62,20);
|
||||
ctx.fillStyle = "#069";
|
||||
ctx.fillText(txt, 2, 15);
|
||||
ctx.fillStyle = "rgba(102, 204, 0, 0.7)";
|
||||
ctx.fillText(txt, 4, 17);
|
||||
var b64 = canvas.toDataURL();
|
||||
b64 = b64.replace("data:image/png;base64,","");
|
||||
|
||||
var bin = atob(b64).slice(-16,-12);
|
||||
var simpleCanvas = bin2hex(bin);
|
||||
|
||||
function bin2hex(s) {
|
||||
var i, l, o = '',
|
||||
n;
|
||||
|
||||
s += '';
|
||||
|
||||
for (i = 0, l = s.length; i < l; i++) {
|
||||
n = s.charCodeAt(i)
|
||||
.toString(16);
|
||||
o += n.length < 2 ? '0' + n : n;
|
||||
}
|
||||
|
||||
return o;
|
||||
}
|
@ -0,0 +1,102 @@ |
||||
<!DOCTYPE html> |
||||
<?php |
||||
//if(!isset($_GET['_pjax'])) header("Location: https://cn.yimian.xyz/video/acg.php?class=".$_GET['class']); |
||||
?> |
||||
|
||||
<?php |
||||
include '../functions.php'; |
||||
header('content-type:text/html;charset=utf-8'); |
||||
$conn=db__connect(); |
||||
|
||||
$class=$_GET['class']; |
||||
|
||||
|
||||
//get row info form table blog with id |
||||
|
||||
|
||||
|
||||
$sql = "SELECT * FROM videoIndx where class=$class"; |
||||
|
||||
|
||||
$result = $conn->query($sql); |
||||
?> |
||||
|
||||
|
||||
|
||||
|
||||
<?php //declear function
|
||||
|
||||
|
||||
|
||||
|
||||
//fnct of get table row number::(data_cnnct var,table name) ::(row number) |
||||
function sql_rowNum($conn,$tableSql) |
||||
{ |
||||
$row_count = $conn->query("SELECT COUNT(*) FROM $tableSql"); |
||||
list($row_num) = $row_count->fetch_row(); |
||||
return ($row_num); |
||||
} |
||||
|
||||
//fnct of getting row data from database::(data_cnnct var, table name,column name, column value)::(row info) |
||||
function sql_data($conn,$table,$clmnName,$value) |
||||
{ |
||||
$sql = "SELECT * FROM $table where $clmnName=$value"; |
||||
|
||||
$result = $conn->query($sql); |
||||
///禁止非法访问 |
||||
if ($result->num_rows > 0) {}else{echo "<script>alert('Illegal Visit!');setTimeout(function(){top.location='/404.php';},0)</script>";} |
||||
|
||||
$row = $result->fetch_assoc(); |
||||
|
||||
return ($row); |
||||
|
||||
} |
||||
|
||||
function array_orderby() |
||||
{ |
||||
$args = func_get_args(); |
||||
$data = array_shift($args); |
||||
foreach ($args as $n => $field) { |
||||
if (is_string($field)) { |
||||
$tmp = array(); |
||||
foreach ($data as $key => $row) |
||||
$tmp[$key] = $row[$field]; |
||||
$args[$n] = $tmp; |
||||
} |
||||
} |
||||
$args[] = &$data; |
||||
call_user_func_array('array_multisort', $args); |
||||
return array_pop($args); |
||||
} |
||||
|
||||
?> |
||||
|
||||
|
||||
<div class="row"> |
||||
<div class="col-lg-8 col-lg-offset-2"> |
||||
<h1 class="page-header"><?php |
||||
if($class==1)echo 'ACG (动漫)'; |
||||
if($class==2)echo 'Movies (电影)'; |
||||
if($class==3)echo 'Documentary (纪录片)'; |
||||
if($class==4)echo 'TV Play (电视剧)'; |
||||
?></h1> |
||||
<p class="lead">Share video with the one you love!</p> |
||||
|
||||
<?php
|
||||
if ($result->num_rows > 0) { |
||||
// 输出数据 |
||||
while($row = $result->fetch_assoc()) { |
||||
echo '<h4><a href="./list.php?idd='.$row['idd'] |
||||
.'">' . $row['series'].'</a></h4><p>'.$row['comment'].'</p><br/>'; |
||||
|
||||
|
||||
} |
||||
} else { |
||||
echo "404 No Found!"; |
||||
}?> |
||||
|
||||
|
||||
</br></br><p><a href="index.php">Click here to go back~</a></p> |
||||
</br> |
||||
</div> |
||||
</div> |
@ -1,462 +0,0 @@ |
||||
<?php
|
||||
$id=$_GET['id']; |
||||
|
||||
$conn=database_cnnct(); |
||||
|
||||
//get row info form table blog with id |
||||
|
||||
|
||||
|
||||
$sql = "SELECT * FROM videoRedirect"; |
||||
|
||||
|
||||
$result = $conn->query($sql); |
||||
|
||||
|
||||
$sql3 = "SELECT * FROM videoToUrl"; |
||||
|
||||
$result2 = $conn->query($sql3); |
||||
?> |
||||
|
||||
|
||||
<?php //declear function
|
||||
|
||||
|
||||
//fnct of get usr ip::()::(ip) |
||||
function getip() |
||||
{ |
||||
if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) |
||||
{ |
||||
$ip = getenv("HTTP_CLIENT_IP"); |
||||
} |
||||
else |
||||
if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")) |
||||
{ |
||||
$ip = getenv("HTTP_X_FORWARDED_FOR"); |
||||
} |
||||
else |
||||
if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown")) |
||||
{ |
||||
$ip = getenv("REMOTE_ADDR"); |
||||
} |
||||
else |
||||
if (isset ($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")) |
||||
{ |
||||
$ip = $_SERVER['REMOTE_ADDR']; |
||||
} |
||||
else |
||||
{ |
||||
$ip = "unknown"; |
||||
} |
||||
return ($ip); |
||||
} |
||||
|
||||
|
||||
//fnct of connecting database::()::(database conn) |
||||
function database_cnnct () |
||||
{ |
||||
$servername = "114.116.65.152"; |
||||
$username = "yimian"; |
||||
$password = "Lymian0904@112"; |
||||
$dbname = "yimian"; |
||||
|
||||
// 创建连接 |
||||
$conn = new mysqli($servername, $username, $password, $dbname); |
||||
// Check connection |
||||
|
||||
|
||||
if ($conn->connect_error) |
||||
{ |
||||
die("连接失败: " . $conn->connect_error); |
||||
} |
||||
|
||||
return ($conn); |
||||
} |
||||
|
||||
|
||||
//fnct of get table row number::(data_cnnct var,table name) ::(row number) |
||||
function sql_rowNum($conn,$tableSql) |
||||
{ |
||||
$row_count = $conn->query("SELECT COUNT(*) FROM $tableSql"); |
||||
list($row_num) = $row_count->fetch_row(); |
||||
return ($row_num); |
||||
} |
||||
|
||||
//fnct of getting row data from database::(data_cnnct var, table name,column name, column value)::(row info) |
||||
function sql_data($conn,$table,$clmnName="",$value) |
||||
{ |
||||
$sql = "SELECT * FROM $table where $clmnName=$value"; |
||||
|
||||
$result = $conn->query($sql); |
||||
///禁止非法访问 |
||||
if ($result->num_rows > 0) {}else{echo "<script>alert('Illegal Visit!');setTimeout(function(){top.location='/404.php';},0)</script>";} |
||||
|
||||
$row = $result->fetch_assoc(); |
||||
|
||||
return ($row); |
||||
|
||||
} |
||||
|
||||
function array_orderby() |
||||
{ |
||||
$args = func_get_args(); |
||||
$data = array_shift($args); |
||||
foreach ($args as $n => $field) { |
||||
if (is_string($field)) { |
||||
$tmp = array(); |
||||
foreach ($data as $key => $row) |
||||
$tmp[$key] = $row[$field]; |
||||
$args[$n] = $tmp; |
||||
} |
||||
} |
||||
$args[] = &$data; |
||||
call_user_func_array('array_multisort', $args); |
||||
return array_pop($args); |
||||
} |
||||
|
||||
?> |
||||
|
||||
<!DOCTYPE html> |
||||
<html> |
||||
|
||||
<head> |
||||
<meta charset="UTF-8"> |
||||
<title>Yimian Video</title> |
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"> |
||||
|
||||
<style type="text/css">body{margin:0;padding:0px;font-family:"Microsoft YaHei",YaHei,"微软雅黑",SimHei,"黑体";font-size:14px}</style> |
||||
|
||||
<?php |
||||
echo "<script> var rdrctId1 = new Array();var rdrctId2 = new Array();var urlId = new Array();var urlUrl = new Array();"; |
||||
if ($result->num_rows > 0) { |
||||
// 输出数据 |
||||
while($row = $result->fetch_assoc()) { |
||||
|
||||
$tmp_id1=$row['id']; |
||||
$tmp_id2=$row['toid']; |
||||
echo "rdrctId1.push($tmp_id1);rdrctId2.push($tmp_id2);"; |
||||
|
||||
}} |
||||
if ($result2->num_rows > 0) { |
||||
// 输出数据 |
||||
while($row1 = $result2->fetch_assoc()) { |
||||
|
||||
$url_id=$row1['id']; |
||||
$url_url=$row1['url']; |
||||
echo "urlId.push($url_id);urlUrl.push(\"$url_url\");"; |
||||
|
||||
}} |
||||
|
||||
echo "</script>"; |
||||
?> |
||||
|
||||
|
||||
<script> |
||||
//alert(urlId);alert(urlUrl); |
||||
function isWeiXin(){ |
||||
var ua = window.navigator.userAgent.toLowerCase(); |
||||
if(ua.match(/MicroMessenger/i) == 'micromessenger'){ |
||||
return true; |
||||
}else{ |
||||
return false; |
||||
} |
||||
} |
||||
var isMobile = /applewebkit.*mobile.*/.test(window.navigator.userAgent.toLowerCase()); |
||||
|
||||
if (isMobile){window.location.href="./index_mobile.php?id=<?php echo $id?>"}
|
||||
|
||||
</script> |
||||
<script type="text/javascript" src="../video/js/jquery.min.js"></script> |
||||
<script src="js/simpleCanvas.js"></script> |
||||
</head> |
||||
|
||||
<body> |
||||
<div id="video" style="width: 100%; height: 400px;"> |
||||
<video id="videocontainer" src="http://img.ksbbs.com/asset/Mon_1703/eb048d7839442d0.mp4"></video> |
||||
</div> |
||||
<script type="text/javascript" src="ckplayer/ckplayer.js"></script> |
||||
<script type="text/javascript"> |
||||
|
||||
|
||||
|
||||
var id= <?php echo $id?>;
|
||||
var end= 0; |
||||
var series= ''; |
||||
var name= ''; |
||||
var url1= ''; |
||||
var url2= ''; |
||||
var idd= 0; |
||||
|
||||
for(var tmp_i=0;tmp_i<urlId.length;tmp_i++) |
||||
{ |
||||
if(id==urlId[tmp_i]) window.location.href=urlUrl[tmp_i]; |
||||
//alert('ddd'+id); |
||||
} |
||||
|
||||
$.post("./fp.php",{ |
||||
fp: simpleCanvas, |
||||
id: id |
||||
}, |
||||
function(){} |
||||
); |
||||
|
||||
var cookie = { |
||||
set: function(name, value) { |
||||
var Days = 30; |
||||
var exp = new Date(); |
||||
exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000); |
||||
document.cookie = name + '=' + escape(value) + ';expires=' + exp.toGMTString(); |
||||
}, |
||||
get: function(name) { |
||||
var arr, reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); |
||||
if(arr = document.cookie.match(reg)) { |
||||
return unescape(arr[2]); |
||||
} else { |
||||
return null; |
||||
} |
||||
}, |
||||
del: function(name) { |
||||
var exp = new Date(); |
||||
exp.setTime(exp.getTime() - 1); |
||||
var cval = getCookie(name); |
||||
if(cval != null) { |
||||
document.cookie = name + '=' + cval + ';expires=' + exp.toGMTString(); |
||||
} |
||||
} |
||||
}; |
||||
var videoID = <?php echo $id?>; //视频的区分ID,每个视频分配一个唯一的ID
|
||||
var cookieTime = cookie.get('time_' + videoID); //调用已记录的time |
||||
if(!cookieTime || cookieTime == undefined) { //如果没有记录值,则设置时间0开始播放 |
||||
cookieTime = 0; |
||||
} |
||||
if(cookieTime > 0) { |
||||
|
||||
tankuang('80%','本视频记录的上次观看时间(秒)为:' + cookieTime); |
||||
|
||||
} |
||||
var videoObject = { |
||||
container: '#video', //容器的ID或className |
||||
variable: 'player',//播放函数名称 |
||||
poster:'./f.jpg',//封面图片 |
||||
loaded:'loadHandler', |
||||
mobileCkControls:true,//是否在移动端(包括ios)环境中显示控制栏 |
||||
mobileAutoFull:false,//在移动端播放后是否按系统设置的全屏播放 |
||||
h5container:'#videocontainer',//h5环境中使用自定义容器 |
||||
video: [//视频地址列表形式 |
||||
['', 'video/mp4', 'FHD', 0], |
||||
] |
||||
}; |
||||
if(cookieTime > 0) { //如果记录时间大于0,则设置视频播放后跳转至上次记录时间 |
||||
videoObject['seek'] = cookieTime; |
||||
} |
||||
|
||||
cnnct(1); |
||||
|
||||
var player = new ckplayer(videoObject); |
||||
|
||||
function loadHandler() { |
||||
player.addListener('time', timeHandler); //监听播放时间 |
||||
//监听元数据 |
||||
player.addListener('ended', play_status); |
||||
} |
||||
|
||||
function timeHandler(t) { |
||||
cookie.set('time_' + videoID, t); |
||||
cookie.set('watching', videoID); //当前视频播放时间写入cookie |
||||
x = document.getElementById("playTime"); |
||||
x.innerHTML = 'PlayTime:'+t+'      <a href="/video/list.php?idd='+idd+'">Click here to go back~</a>'; |
||||
} |
||||
|
||||
function play_status(obj){ |
||||
console.log(obj); |
||||
end=1; |
||||
//在这里添加需要跳转衔接的视频 |
||||
//alert(id+'a'); |
||||
|
||||
for(var tmp_i=0;tmp_i<urlId.length;tmp_i++) |
||||
{ |
||||
if(id==urlId[tmp_i]) window.location.href=urlUrl[tmp_i]; |
||||
//alert('ddd'+id); |
||||
} |
||||
|
||||
$.post("./videocookie.php",{ |
||||
watching: id-1 |
||||
}, |
||||
function(){} |
||||
); |
||||
|
||||
$.post("./fp.php",{ |
||||
fp: simpleCanvas, |
||||
id: id-1 |
||||
}, |
||||
function(){} |
||||
); |
||||
cnnct(2); |
||||
|
||||
} |
||||
|
||||
|
||||
function loadedMetaDataHandler() { |
||||
var metaData = player.getMetaDate(); |
||||
var html = 'VideoName: '+series+' - '+name+' <a href="'+url2+'">(Download)</a>;</br>'; |
||||
html += 'VideoID: '+videoID+'</br>'; |
||||
html += 'Duration: ' + metaData['duration'] + 's;</br>'; |
||||
html += 'Volume: ' +metaData['volume']+ ';</br>'; |
||||
html += 'Player Width: ' + metaData['width'] + 'px;</br>'; |
||||
html += 'Player Height: ' + metaData['height'] + 'px;</br>'; |
||||
html += 'Stream Width: ' + metaData['streamWidth'] + 'px;</br>'; |
||||
html += 'Stream Height: ' + metaData['streamHeight'] + 'px;</br><a href="/video.php?id='+videoID+'">Cannot load successfully? Click here to try former version!</a>'; |
||||
console.log(html); |
||||
///log |
||||
$.post("/videolog.php",{ |
||||
video: series+'||'+name |
||||
}, |
||||
function(){} |
||||
); |
||||
|
||||
x = document.getElementById("demo"); |
||||
x.innerHTML = html;//改变内容 |
||||
} |
||||
|
||||
function tankuang(pWidth,content) |
||||
{ |
||||
$("#msg").remove(); |
||||
var html ='<div id="msg" style="position:fixed;top:50%;width:100%;height:30px;line-height:30px;margin-top:-15px;"><p style="background:#000;opacity:0.8;width:'+ pWidth +'px;color:#fff;text-align:center;padding:10px 10px;margin:0 auto;font-size:12px;border-radius:4px;">'+ content +'</p></div>' |
||||
$("body").append(html); |
||||
var t=setTimeout(next1,2000); |
||||
function next1() |
||||
{ |
||||
$("#msg").remove(); |
||||
|
||||
} |
||||
} |
||||
|
||||
|
||||
|
||||
|
||||
|
||||
function next(msg){ videoID=msg.id;series=msg.series;name=msg.name;url1=msg.url1;url2=msg.url2;idd=msg.idd; |
||||
if(end!=1) |
||||
{ |
||||
cookieTime = cookie.get('time_' + videoID); |
||||
if(cookieTime > 0) { |
||||
|
||||
tankuang('80%','本视频记录的上次观看时间(秒)为:' + cookieTime); |
||||
|
||||
} |
||||
player.newVideo({autoplay:true,video:msg.url1,seek:cookieTime,mobileAutoFull: true}); |
||||
}else{ |
||||
player.newVideo({autoplay:true,video:msg.url1}); |
||||
} |
||||
end=0; |
||||
player.addListener('loadedmetadata', loadedMetaDataHandler); //监听元数据 |
||||
player.addListener('ended', play_status); |
||||
|
||||
|
||||
|
||||
} |
||||
|
||||
function cnnct(i) { $.ajax({ |
||||
type: "GET", |
||||
url: './cnnct.php', |
||||
data: {"id": id++},//使用这种数组方式的,得加下一句才可以,使用传统方式 |
||||
dataType: 'json', |
||||
success: function(msg){ |
||||
for(var tmp_i=0;tmp_i<rdrctId1.length;tmp_i++) |
||||
{ |
||||
if(id-1==rdrctId1[tmp_i]) id=rdrctId2[tmp_i]; |
||||
//alert('ddd'+id); |
||||
} |
||||
|
||||
if(i==1){videoPHP1(msg);} |
||||
if(i==2){videoPHP2(msg);} |
||||
} |
||||
|
||||
}); |
||||
} |
||||
|
||||
function videoPHP1(msg){ |
||||
videoID=msg.id;series=msg.series;name=msg.name;url1=msg.url1;url2=msg.url2;idd=msg.idd; |
||||
player.newVideo({video:msg.url1,seek:cookieTime,mobileAutoFull: true}); |
||||
player.addListener('loadedmetadata', loadedMetaDataHandler); |
||||
player.addListener('time', timeHandler); //监听播放时间 |
||||
player.addListener('ended', play_status); |
||||
|
||||
} |
||||
|
||||
|
||||
function videoPHP2(msg){ |
||||
next(msg); |
||||
} |
||||
|
||||
function next1(){ $.ajax({ |
||||
type: "GET", |
||||
url: './cnnct.php', |
||||
data: {"id": id++},//使用这种数组方式的,得加下一句才可以,使用传统方式 |
||||
dataType: 'json', |
||||
success: function(msg){ |
||||
for(var tmp_i=0;tmp_i<rdrctId1.length;tmp_i++) |
||||
{ |
||||
if(id-1==rdrctId1[tmp_i]) id=rdrctId2[tmp_i]; |
||||
//alert('ccc'+id); |
||||
} |
||||
//在这里添加需要跳转衔接的视频 |
||||
//alert(id+'b'); |
||||
for(var tmp_i=0;tmp_i<urlId.length;tmp_i++) |
||||
{ |
||||
if(id-1==urlId[tmp_i]) window.location.href=urlUrl[tmp_i]; |
||||
//alert('ccc'+id); |
||||
} |
||||
|
||||
$.post("./videocookie.php",{ |
||||
watching: id-1 |
||||
}, |
||||
function(){} |
||||
); |
||||
|
||||
$.post("./fp.php",{ |
||||
fp: simpleCanvas, |
||||
id: id-1 |
||||
}, |
||||
function(){} |
||||
); |
||||
|
||||
|
||||
videoPHP2(msg); |
||||
} |
||||
|
||||
}); |
||||
|
||||
|
||||
} |
||||
|
||||
</script> |
||||
<script>//log visit |
||||
|
||||
var url=window.location.pathname+window.location.search; |
||||
var domain= document.domain; |
||||
|
||||
|
||||
$.ajax({ |
||||
type: "POST", |
||||
url: '/log.php', |
||||
data: { "url": url, |
||||
"domain": domain},//使用这种数组方式的,得加下一句才可以,使用传统方式 |
||||
traditional: true, |
||||
dataType: 'json', |
||||
error: function (data,type, err) { |
||||
alert('Could not log your visit!'); |
||||
} |
||||
}); |
||||
|
||||
|
||||
</script> |
||||
|
||||
|
||||
<p id="playTime"></p> <p id="status"></p> |
||||
<p id="demo"></p> |
||||
|
||||
</body> |
||||
|
||||
</html> |
@ -1,4 +0,0 @@ |
||||
<?php |
||||
$id=$_POST['watching']; |
||||
|
||||
setcookie("watching",$id, time()+3600*24*150); |
Loading…
Reference in new issue