dever 4 years ago
parent
commit
cbf858f72c
4 changed files with 17 additions and 8 deletions
  1. 8 3
      assets/html/cover.html
  2. 3 1
      lib/View/Oss.php
  3. 4 2
      src/View.php
  4. 2 2
      src/Yun.php

+ 8 - 3
assets/html/cover.html

@@ -32,6 +32,7 @@
   <div class="layui-card-header">
     <input type="hidden" id="cover_key" value="<{$key}>">
     <input type="hidden" id="cover_cur" value="<{$cur}>">
+    <input type="hidden" id="cover_pic_url" value="<{$cover_pic_url}>">
     <div class="layui-inline">第几秒截图:<div class="layui-input-inline"><input type="text" style="width: 100%;" class="layui-input" id="cover_num" value="1" ></div></div>
 
     <div class="layui-inline" class="file-search" onclick="crop()"><div class="layui-input-inline"><button type="button" class="layui-btn"><i class="fa fa-save"></i> 生成</button></div></div>
@@ -42,12 +43,12 @@
     <div class="layui-row layui-col-space15">
       <div class="layui-col-md6">
         <div class="layui-panel">
-          <iframe src="<{$video}>" scrolling="no" style="border: medium none;overflow: hidden;" width="300"></iframe>
+          <iframe src="<{$video}>" scrolling="no" style="border: medium none;overflow: hidden;" height="200"></iframe>
         </div>   
       </div>
       <div class="layui-col-md6">
         <div class="layui-panel">
-          <img src="<{$cover_pic}>" id="cover_pic" width="300" />
+          <img src="<{$cover_pic}>" id="cover_pic" height="200" />
         </div>   
       </div>
     </div>    
@@ -57,8 +58,12 @@ function crop()
 {
     var num = $('#cover_num').val();
     var cur = $('#cover_cur').val();
+    var key = $('#cover_key').val();
 
-    $('#cover_pic').attr('src', cur + '?vframe/jpg/offset/' + num);
+    var url = $('#cover_pic_url').val() + '&json=1&callback=?';
+    $.getJSON(url, {num:num}, function(t) {
+        $('#cover_pic').attr('src', t.data);
+    })
 }
 crop();
 </script>

+ 3 - 1
lib/View/Oss.php

@@ -141,8 +141,10 @@ class Oss
     }
 
     # 视频截图
-    public function vocer()
+    public function cover($key, $video, $num = 1)
     {
+        $num = $num * 1000;
+        return $video . 'x-oss-process=video/snapshot,t_'.$num.',f_jpg,m_fast';
         //x-oss-process=video/snapshot,t_1000,f_jpg,m_fast 
     }
 }

+ 4 - 2
src/View.php

@@ -207,6 +207,7 @@ class View
         $data['cover_pic'] = Dever::load('upload/yun')->cover($data['key'], $data['cur']);
 
         $data['video'] = Dever::url('view.video?video=' . Dever::encode($data['cur']), 'upload');
+        $data['cover_pic_url'] = Dever::url('view.coverPic?key='.$data['key'].'&video=' . Dever::encode($data['cur']), 'upload');
         $data = Dever::render('cover', $data);
         Dever::out($data);
     }
@@ -216,15 +217,16 @@ class View
     {
         $video = Dever::decode(Dever::input('video'));
 
-        return '<video src="'.$video.'" width="300" controls="true"/>';
+        return '<video src="'.$video.'" height="200" controls="true"/>';
     }
 
     # 展示视频截图
     public function coverPic()
     {
+        $num = Dever::input('num');
         $key = Dever::input('key');
         $video = Dever::decode(Dever::input('video'));
-        $pic = Dever::load('upload/yun')->cover($key, $pic);
+        $pic = Dever::load('upload/yun')->cover($key, $video, $num);
 
         return $pic;
     }

+ 2 - 2
src/Yun.php

@@ -21,7 +21,7 @@ class Yun
 	}
 
     # 查看视频截图
-    public function cover($key, $video)
+    public function cover($key, $video, $num = 1)
     {
         $domain = parse_url($video);
         $host = $domain['scheme'] . '://' . $domain['host'] . '/';
@@ -29,7 +29,7 @@ class Yun
         $config = Dever::db('upload/yun')->one(array('host' => $host));
 
         if ($config) {
-            return $this->getMethod($config['type'])->cover($key, $video);
+            return $this->getMethod($config['type'])->cover($key, $video, $num);
         }
 
         return false;