很多时候你在douyin里看到了一个短视频,想复制下来自己编辑文字来发布,可是视频里的水印却是原者的。这个时候你想把水印去掉,你要如何做呢?这里提供PHP实现去除水印的主要方法,其实很简单。

使用方法:

在php后加上 ?url= 抖音的url 。

点击跳转后的网页一个是标题 一个是视频无水印的链接。

下面来看看具体的源码操作方法

header("Content-Type: text/json;charset=utf-8");

$url=$_GET["url"];

$UserAgent = 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; .NET CLR 3.5.21022; .NET CLR 1.0.3705; .NET CLR 1.1.4322)';

$curl = curl_init();

curl_setopt($curl, CURLOPT_URL, $url);

curl_setopt($curl, CURLOPT_HEADER, 0);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);

curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);

curl_setopt($curl, CURLOPT_ENCODING, '');

curl_setopt($curl, CURLOPT_USERAGENT, $UserAgent);

curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);

$data = curl_exec($curl);

curl_close($curl);

//获取

preg_match('/

(?[^<>]*)/i', $data, $name);

preg_match('/playAddr: "(?[^"]+)"/i', $data, $url);

//正则匹配

if (empty($url['url'])) {

echo '请输入正确网址,格式为:https://xxx.com/douyin.php?url=视频地址';

}else{

$array = ['name' => $name['desc'],'url' => $url['url'],];

$json = json_encode($array,JSON_UNESCAPED_SLASHES|JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT);

echo $json;

}

效果截图如下,url就是原视频链接,不带水印。

这里还有另外一个版本

header("Content-type: text/html; charset=utf-8");

$url_g=@$_GET['url'];//抖音视频地址

$api="https://api-hl.amemv.com/aweme/v1/aweme/detail/?retry_type=no_retry&iid=43619087057&device_id=57318346369&ac=wifi&channel=update&aid=1128&app_name=aweme&version_code=251&version_name=2.5.1&device_platform=android&ssmix=a&device_type=MI+8&device_brand=xiaomi&language=zh&os_api=22&os_version=5.1.1&uuid=865166029463703&openudid=ec6d541a2f7350cd&manifest_version_code=251&resolution=1080*1920&dpi=480&update_version_code=2512&_rticket=1559206461097&ts=1559206460&as=a115996edcf39c7adf4355&cp=9038c058c7f6e4ace1IcQg&mas=01af833c02eb8913ecc7909389749e6d89acaccc2c662686ecc69c&aweme_id=";//6691388713936653576

$cookie="##";//header请求头和cookie,请自己获取(涉及个人隐私,故不放出来),我可以帮你抓取.你也可以直接使用我的接口 [url=https://api.isoyu.com/ckplayer/douyin.jsp?url=]https://api.isoyu.com/ckplayer/douyin.jsp?url=[/url]

$user_agent="Mozilla/5.0 (Linux; Android 8.0.0; MI 6 Build/OPR1.170623.027; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/62.0.3202.84 Mobile Safari/537.36";

function getLinkFromDouyinShareText($shareOrUrl){

$url="http".explode("http",$shareOrUrl)[1];

$url=explode("复制此链接,",$url)[0];

return $url;

}

function getAwemeId($link,$UA){

$context=stream_context_create(array('http'=>array('header'=>'User-Agent:'.$UA)));

$html_text= file_get_contents($link,0,$context);

$str=explode("itemId: \"",$html_text)[1];

$str=explode("\",",$str)[0];

return $str;

}

function doCurlGetRequest($url,$headers,$timeout = 5){

if($url == '' || $timeout <=0){

return false;

}

$con = curl_init((string)$url);

curl_setopt($con, CURLOPT_HEADER, false);

curl_setopt($con, CURLOPT_RETURNTRANSFER,true);

curl_setopt($con,CURLOPT_HTTPHEADER,$headers);

curl_setopt($con, CURLOPT_TIMEOUT,(int)$timeout);

return curl_exec($con);

}

function getVideoData($api,$cookie,$awemeId){

$header=array("Accept-Encoding: utf-8",

"Cookie: ".$cookie,

"Host: api-hl.amemv.com",

"Connection: Keep-Alive",

"User-Agent: okhttp/3.10.0.1");

$data=json_decode(doCurlGetRequest($api.$awemeId,$header),true);

$info=$data['aweme_detail']['share_info'];//视频描述

$user_name=$data['aweme_detail']['author']['nickname'];//作者昵称

$user_headImg=$data['aweme_detail']['author']['avatar_medium']['url_list'][0];//作者头像

$image=$data['aweme_detail']['video']['origin_cover']['url_list'][0];//封面图片

$urls=$data['aweme_detail']['video']['play_addr']['url_list'];//无水印地址

$music_urls=$data['aweme_detail']['music']['play_url']['url_list'];//音乐地址

$douyin=[

'status'=>true,

'nickname'=>$user_name,

'awemeId'=>$awemeId,

'headImage'=>$user_headImg,

'image'=>$image,

'videoUrl'=>$urls,

'music_urls'=>$music_urls,

'info'=>$info,

'time'=>time()

];

return json_encode($douyin);

}

if(strstr($url_g,'http://v.douyin.com/')) {

$url_g = getLinkFromDouyinShareText($url_g);

$awemeId=getAwemeId($url_g,$user_agent);

echo getVideoData($api,$cookie,$awemeId);

}else{

echo json_encode(["status"=>false,"message"=>"地址无效"]);

}

返回:

{

"status":true,

"nickname":"陳奕迅所長",

"awemeId":"6629588912228535555",

"headImage":"https://p9-dy.byteimg.com/aweme/720x720/c7a50016c177b8d83b6e.jpeg",

"image":"http://p1-dy.byteimg.com/large/129e100017985e14f90e6.jpeg",

"videoUrl":[

"http://v6-dy.ixigua.com/1bfeb00063e024eb6b0a1c5c1ccf461f/5cf72e65/video/m/220f880b47b03d54a789c8caed4897ab5f711610bbb50000474b6680d20e/?rc=anRmbjxrNGxqajMzO2kzM0ApQHRAb0ZHNDUzMzczNDQ1PDg5PDNAKXUpQGczdSlAZjN2KUBmaHV5cTFmc2hoZGY7NEBgY2hnbl5sYy1fLS1fLS9zcy1vI28jMTMwLjEuLy0tLjItLS0uL2k6Yi5wIzphLXEjOmAtbyNwYmZyaF4ranQ6Iy8uXg==",

"http://v9-dy.ixigua.com/8a340ec9e22bbe529f779171175d0852/5cf72e65/video/m/220f880b47b03d54a789c8caed4897ab5f711610bbb50000474b6680d20e/",

"https://aweme-hl.snssdk.com/aweme/v1/play/?video_id=v0200fb80000bg0gfio1ahq9jkkcfqcg&line=0&ratio=540p&media_type=4&vr_type=0&improve_bitrate=0",

"https://api-hl.amemv.com/aweme/v1/play/?video_id=v0200fb80000bg0gfio1ahq9jkkcfqcg&line=1&ratio=540p&media_type=4&vr_type=0&improve_bitrate=0"

],

"music_urls":[

"http://p3-dy.byteimg.com/obj/a02a0001f6153c8784e3"

],

"info":{

"share_weibo_desc":"#在抖音,记录美好生活##明日之后明日之后 游戏人生,钢琴",

"share_desc":"在抖音,记录美好生活",

"share_title":"#明日之后明日之后 游戏人生,钢琴",

"bool_persist":0,

"share_title_myself":"",

"share_title_other":"",

"share_link_desc":"#在抖音,记录美好生活##明日之后明日之后 游戏人生,钢琴 %s 复制此链接,打开【抖音短视频】,直接观看视频!",

"share_url":"https://www.iesdouyin.com/share/video/6629588912228535555/?region=CN&mid=6582505245845392141&u_code=gj49fkd1&titleType=title",

"share_quote":"",

"share_signature_desc":"TikTok: Make Every Second Count",

"share_signature_url":"https://tiktokv.com/"

},

"time":1559699531

}phper在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提升,对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货需要的可以免费分享给大家,

最后,祝所有大家在面试中过关斩将,拿到心仪offer。如果想与一群3-8年资深开发者一起交流学习的话,需要请戳这里​shimo.im

yy神曲url解析php_用PHP如何实现解析抖音无水印视频相关推荐

  1. 抖音提取封面php,PHP 解析抖音无水印视频

    PHP解析抖音无水印视频后端代码 QQ截图20190329052258.png 20190329052336.png /* author 刘明野 site www.liumingye.cn */ fu ...

  2. 试验解析抖音无水印视频【PHP版】

    试验了网上很多抖音解析无水印视频的API,发现很多都是不稳定的.连今天要分享的这个api也是,总是那么不稳定.不过还好,总算是解析出了无水印视频.很多东西还是要自己调试一下才会知道哪里出bug了! 看 ...

  3. curl取跳转地址 php_用PHP如何实现解析抖音无水印视频

    很多时候你在douyin里看到了一个短视频,想复制下来自己编辑文字来发布,可是视频里的水印却是原者的.这个时候你想把水印去掉,你要如何做呢?这里提供PHP实现去除水印的主要方法,其实很简单. 使用方法 ...

  4. 用PHP如何实现解析抖音无水印视频

    很多时候你在douyin里看到了一个短视频,想复制下来自己编辑文字来发布,可是视频里的水印却是原者的.这个时候你想把水印去掉,你要如何做呢?这里提供PHP实现去除水印的主要方法,其实很简单. 使用方法 ...

  5. 抖音无水印视频解析源码

    原理如下: <?php /* Author 5G云源码分享网 DateTime 2019-12-26 */function GetVideos($url) {$ch = curl_init(); ...

  6. php源码 视频通讯,抖音无水印视频解析php源码

    [Code] /* 雪自纯阳落白衫:https://www.cnblogs.com/L1079991001/ */ if (!empty($_GET['url'])) { $url = $_GET[' ...

  7. php 记事本源代码_抖音无水印解析PHP源码

    抖音无水印解析PHP源码 仅限学习使用 输出为标准的格式化json数据 ajax直接调用即可 原生的ajax的调用方法看底部 $url = @$_GET['url']; if (strstr($url ...

  8. 怎么在腾讯云函数抖音无水印解析接口部署

    使用腾讯云函数(SCF)部署抖音无水印接口调用代码,无需服务器,稳定安全可靠! 示例接口返回数据请求: https://service-eu6l8yx0-1256101469.gz.apigw.ten ...

  9. 最新抖音无水印解析PHP源码

    源码介绍: 最新抖音无水印解析PHP源码 网盘下载地址: http://www.bytepan.com/hQuJxMu7aaG 图片:

  10. delphi 通过TNetHTTPClient解析抖音无水印高清视频原理及解决X-Bogus签名验证2023-5-1

    一.杂谈         最近有很多热心网友反馈抖音去水印又不行了,之前是时不时被blocked,现在直接连内容都没有了,返回直接就是空了,我们今天简要给大家分析一下请求过程,附上delphi 源码, ...

最新文章

  1. 一些重要的 XML DOM 方法概述
  2. python神奇时钟项目_Python Tkinter 数字时钟小项目
  3. 实习小白::(转) Cocos2d-x 3.0开发(十三)使用CocoStudio编辑帧事件并关联到程序...
  4. 在Servlet中向客户端写Cookie信息
  5. Android SDK 2.3/3.0/4.0/4.2 下载与安装教程
  6. SQL Server【三】连接查询
  7. 如何用R语言做词云图,以某部网络小说为例
  8. Code Review中的几个提示
  9. Python分词、情感分析工具SnowNLP使用方法
  10. 关于自走棋类游戏棋子搜索算法分析
  11. Ego的JavaWeb笔记
  12. [渝粤教育] 中国地质大学(武汉) 走近国粹 中国陶瓷 参考 资料
  13. Mackdown 编辑器-马克飞象
  14. Excel简单使用宏
  15. 黑苹果 MacOS 10.15 Catalina 安装详细教程带工具资料
  16. 何恺明一作论文 MAE 已有人复现!PyTorch 版!
  17. c语言程序设计基础广西师范大学出版社答案,附录Ⅰ全国高校计算机等级考试广西考区二级考试大纲.DOC...
  18. 小白都能懂的设计模式 java版 抽象工厂模式 实战练习(超详细)
  19. 制造企业使用APS计划排产需要的条件
  20. 【自然语言处理】详说中文自动分词

热门文章

  1. 程序员的自我修养 - 符号修饰 函数签名 以及一个引申的问题: extern c
  2. 如何访问嵌套母版页中的控件
  3. J2EE项目风险(翻译)
  4. vlookup+match高亮显示行
  5. 80.共享内存实现进程通信
  6. IC卡插入与触点激活时序
  7. 安装好的虚拟机,外部通过ssh工具连接,报connection failed
  8. UGUI Scrollbar控件
  9. 利用Nginx+Mono+Fastcgi代替IIS对Asp.Net进行反向代理
  10. SQLSERVER中判断表中的某列是否存在两个方法