用戶
 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

掃一掃,登錄網站

小程序社區 首頁 教程 查看內容

微信小程序實現去抖音視頻水印

Rolan 2019-11-11 00:52

先放效果圖可以掃碼或者微信搜索 “ 和水印說拜拜 ” 小程序體驗一下。有效再繼續往下看吧。實現原理抖音視頻上傳后,是有2個視頻地址,(長視頻還會多一個),一個是無水印的,一個是有水印的,萬能的網友經過爬蟲 ...

先放效果圖

可以掃碼或者微信搜索 “ 和水印說拜拜 ” 小程序體驗一下。有效再繼續往下看吧。

實現原理

抖音視頻上傳后,是有2個視頻地址,(長視頻還會多一個),一個是無水印的,一個是有水印的,萬能的網友經過爬蟲后,拿到了這個鏈接,那就可以實現保存無水印的視頻了(去水印)。

先上代碼

1、里面是一個PHP文件,把你輸入的抖音鏈接,轉為無水印的鏈接輸出。不建議把這個轉換算法寫死在本地,因為這個轉換算法隨時會變,所以用PHP實現,然后客戶端或者微信小程序調用。

  1. <?php
  2. header('Content-type: application/json');
  3. $_u = $_GET['_u'];
  4. function _g($_u, $_n = 0) {
  5. $_h = curl_init();
  6. curl_setopt($_h, CURLOPT_URL, $_u);
  7. curl_setopt($_h, CURLOPT_RETURNTRANSFER, 1);
  8. curl_setopt($_h, CURLOPT_HEADER, false);
  9. curl_setopt($_h, CURLOPT_HTTPHEADER, array(
  10. 'user-agent:Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Mobile Safari/537.36'
  11. ));
  12. if ($_n == 1) {
  13. curl_setopt($_h, CURLOPT_NOBODY, 1);
  14. curl_setopt($_h, CURLOPT_FOLLOWLOCATION, 1);
  15. curl_exec($_h);
  16. $_r = curl_getinfo($_h, CURLINFO_EFFECTIVE_URL);
  17. } else {
  18. $_r = curl_exec($_h);
  19. }
  20. curl_close($_h);
  21. return $_r;
  22. }
  23. if (strpos($_u, 'com') !== false) {
  24. $_u = _g(_g($_u, 1));
  25. preg_match('/class=\"video-player\" src=\"(.*?)\" preload/is', $_u, $_m);
  26. $_m = str_replace("line=0", "line=1", str_replace("playwm", "play", $_m[1]));
  27. $_v = _g($_m, 1);
  28. if ($_v == '') {
  29. $_c = 0701.1;
  30. $_s = 'error';
  31. } else {
  32. $_c = 0;
  33. $_s = 'success';
  34. }
  35. } else {
  36. $_c = 0701.2;
  37. $_s = 'url does not match';
  38. }
  39. echo json_encode(array(
  40. "code" => $_c,
  41. "errMsg" => $_s,
  42. "videoUrl" => $_v,
  43. "tmp" => time()
  44. ) , JSON_UNESCAPED_SLASHES);
  45. ?>

把這個PHP文件丟到你的服務器,然后訪問https://xxxx.com/douyin.php?_u=https://sss抖音鏈接 然后就會返回對應的信息,例如:

  1. {
  2. "code": 0,
  3. "errMsg": "success",
  4. "videoUrl": "https://aweme.snssdk.com/aweme/v1/play/?s_vid=93f1b41336a8b7a442dbf1c29c6bbc56827bba338da58fff9d414d5e0e891260a1c391d356de42072e5c7b4c15e93325052710f7923662532737d5c3f25a856e&amp;line=1",
  5. "tmp": 1568018629
  6. }

這個videoUrl就是無水印的視頻地址,可以直接在小程序 標簽里面播放,但是在小程序里面,這個是保存不了的,很奇怪,我試了很多次,都是提示類型無效。所以,我是直接讓用戶復制這個鏈接,然后在QQ瀏覽器打開,就能下載視頻。(如果有人知道小程序怎樣能保存這個視頻,請聯系我,我做了一個微信小程序的代碼片段,你們可以拿去試下。地址:https://developers.weixin.qq.com/s/f5e4RbmR7kbH

如果是客戶端使用的話,是可以直接保存的,后綴名為mp4,能直接下載保存。

核心代碼

  1. $_u = _g(_g($_u, 1));
  2. preg_match('/class=\"video-player\" src=\"(.*?)\" preload/is', $_u, $_m);
  3. $_m = str_replace("line=0", "line=1", str_replace("playwm", "play", $_m[1]));
  4. $_v = _g($_m, 1);

上面的PHP,其實主要就是這里,把接收的抖音鏈接,進行一個正則轉換替換字符,然后再輸出鏈接。

最后說幾句

這個轉換的算法,應該是抖音隨時更換的,不保證永遠有效,但截至發帖,都是有效的,建議大家去掃一下小程序,看看能不能轉換,能的話,即表明還能用。

鮮花
鮮花
雞蛋
雞蛋
分享至 : QQ空間
收藏
原作者: 在尋找雪見的景天 來自: 簡書
必中分分彩在线计划 澳洲幸运10开奖结 山东11选5查询 秒速赛车有没有做假 最好的十大理财平台 内蒙古11选5口诀 广西双彩开奖走势图 百度 内蒙古十一选五杀号定胆 广东十一选五爱彩乐 免费日韩a片网站 江苏11选5 甘肃十一选五分布图 pk10定位3码全 三级片女星梁晶晶赴 幸运11选5官网-完整版下载 股票大作手回忆录 广东快乐十分彩控网