Video.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. namespace Content\V1;
  3. use Dever;
  4. class Video
  5. {
  6. # 从腾讯视频中解析mp4
  7. public function mp4_api($link)
  8. {
  9. if (!$link) {
  10. $link = 'https://v.qq.com/x/page/j0515xuxz37.html';
  11. }
  12. $key = str_replace(array('https://v.qq.com/x/page/', '.html'), '', $link);
  13. $api = 'http://vv.video.qq.com/getinfo?vids='.$key.'&platform=101001&charge=0&otype=json';
  14. $data = Dever::curl($api);
  15. $data = json_decode(str_replace(array('QZOutputJson=', ';'), '', $data), true);
  16. //print_r($data);die;
  17. $data = $data['vl']['vi'][0];
  18. $urls = $data['ul']['ui'];
  19. foreach ($urls as $k => $v) {
  20. if (strstr($v['url'], 'vhot2.qqvideo.tc.qq.com')) {
  21. $url = $v['url'];
  22. }
  23. }
  24. if (empty($url)) {
  25. return $this->mp4_api($link);
  26. }
  27. $link = $url . $data['fn'] . '?vkey=' . $data['fvkey'];
  28. return $link;
  29. }
  30. //docker run jrottenberg/ffmpeg -i http://125.39.7.23/vhot2.qqvideo.tc.qq.com/ABeZbme1SX8-pYwYN_hPTYHdjJsGJiLeTu6P2YfrUsto/j0515xuxz37.m701.mp4?vkey=3EA0D99319B7D7F439F387E804AE9C87C631D0AA8EEE639266754BF3CE14AD55F79CD0239AF29518DBAF415259976CE4767E1615F80CA41B1B12F67067E8A480A95EFD4A6B06767092DFA7252AE16CEE6AC09EBEE4525F423B840B128A7F6522902C1FA8BFC48D0D -stats $ffmpeg_options - > out.mp4
  31. }