(新)最新抖音无水印解析原理再分析过程,柳暗花明又一村

news/2023/12/9 16:07:55

问题越是百思不得其解的时候,往往答案就越是近在眼前

在这里将这个软件免费分享给大家 传送门

之前的文章最新抖音视频无水印解析接口及原理中提到的方法,利用了抖音detail接口,被频率限制,已经作古。最近通过分析,发现了5种新的去水印解析的方法。今天先公布其中一种,希望朋友们看完可以有一些启发。

1.不要只是相信别人给你看到的

每一个抖音视频,被分享后,会得到一个链接。就像下面这样:

https://v.douyin.com/Du2M7R

当你用浏览器打开时,页面提供给你一个有水印的视频。你可以尽情下载播放。
在这里插入图片描述
我们条件反射般地打开源代码,看看,sorry了,感到无能为力了,但是事情真的如你的感觉这样子吗?不要只是相信别人给你看到的!

2.换种方式去分析

开发者模式,我们用移动设备的UA去访问它,然后播放,你会看到下面这样。
在这里插入图片描述
仍然是有水印的视频,你绝望吗。但是有一根及其敏感的神经却仿佛告诉我:有戏!因为这里我们竟然拿到了点赞,评论,分享!这意味着,此次的请求与之前的请求大相径庭!

3.去抓接口

如愿以偿,我们搞到了它!
在这里插入图片描述

curl 'https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=6722308029779332359&dytk=ebc1a7ace35a5e0054230e07a42ddb9cef82f15caf765f8376a424bf15d2f8ad' 
-H 'pragma: no-cache' 
-H 'cookie: tt_webid=6732009422643807756; _ga=GA1.2.1711193946.1567418091; _ba=BA0.2-20190823-5199e-6g17gEvH0dutXmdoVzfk; _gid=GA1.2.248720943.1570861696'
-H 'accept-encoding: gzip, deflate, br' 
-H 'accept-language: zh-CN,zh;q=0.9' 
-H 'user-agent: Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1' -H 'accept: */*' 
-H 'cache-control: no-cache' 
-H 'authority: www.iesdouyin.com' 
-H 'x-requested-with: XMLHttpRequest' 
-H 'referer: https://www.iesdouyin.com/share/video/6722308029779332359/?region=CN&mid=6701275998849092360&u_code=1613ld41c&titleType=title&utm_source=copy_link&utm_campaign=client_share&utm_medium=android&app=aweme&timestamp=1565234977' --compressed

此接口返回的数据如下

{"status_code": 0,"item_list": [{"desc": "这也算非物质文化遗产了吧?#七彩七夕 #女人最迷人的动作 @抖音小助手","statistics": {"aweme_id": "6722308029779332359","comment_count": 14517,"digg_count": 187764},"video_labels": null,"duration": 13600,"image_infos": null,"long_video": null,"aweme_id": "6722308029779332359","video_text": null,"video": {"cover": {"uri": "tos-cn-p-0015/0d8b20890aed49d5a8f92ca857d07a44","url_list": ["https://p9-dy.byteimg.com/img/tos-cn-p-0015/0d8b20890aed49d5a8f92ca857d07a44~c5_300x400.jpeg", "https://p1-dy.byteimg.com/img/tos-cn-p-0015/0d8b20890aed49d5a8f92ca857d07a44~c5_300x400.jpeg", "https://p3-dy.byteimg.com/img/tos-cn-p-0015/0d8b20890aed49d5a8f92ca857d07a44~c5_300x400.jpeg"]},"height": 1280,"origin_cover": {"uri": "large/tos-cn-p-0015/22b8a64040ab4ed8908823b8c6007ea9","url_list": ["http://p9-dy.byteimg.com/large/tos-cn-p-0015/22b8a64040ab4ed8908823b8c6007ea9.jpeg", "http://p1-dy.byteimg.com/large/tos-cn-p-0015/22b8a64040ab4ed8908823b8c6007ea9.jpeg", "http://p3-dy.byteimg.com/large/tos-cn-p-0015/22b8a64040ab4ed8908823b8c6007ea9.jpeg"]},"has_watermark": true,"play_addr_lowbr": {"uri": "v0200fee0000bl59elet8ah4rl1hnqa0","url_list": ["https://aweme.snssdk.com/aweme/v1/play/?video_id=v0200fee0000bl59elet8ah4rl1hnqa0&line=0&ratio=540p&media_type=4&vr_type=0&improve_bitrate=0&is_play_url=1", "https://api.amemv.com/aweme/v1/play/?video_id=v0200fee0000bl59elet8ah4rl1hnqa0&line=1&ratio=540p&media_type=4&vr_type=0&improve_bitrate=0&is_play_url=1"]},"bit_rate": null,"vid": "v0200fee0000bl59elet8ah4rl1hnqa0","play_addr": {"uri": "v0200fee0000bl59elet8ah4rl1hnqa0","url_list": ["https://aweme.snssdk.com/aweme/v1/play/?video_id=v0200fee0000bl59elet8ah4rl1hnqa0&line=0&ratio=540p&media_type=4&vr_type=0&improve_bitrate=0&is_play_url=1", "https://api.amemv.com/aweme/v1/play/?video_id=v0200fee0000bl59elet8ah4rl1hnqa0&line=1&ratio=540p&media_type=4&vr_type=0&improve_bitrate=0&is_play_url=1"]},"width": 720,"dynamic_cover": {"url_list": ["https://p1-dy.byteimg.com/obj/tos-cn-p-0015/e2993909e165470794f93d5f66c24b4b", "https://p3-dy.byteimg.com/obj/tos-cn-p-0015/e2993909e165470794f93d5f66c24b4b", "https://p9-dy.byteimg.com/obj/tos-cn-p-0015/e2993909e165470794f93d5f66c24b4b"],"uri": "tos-cn-p-0015/e2993909e165470794f93d5f66c24b4b"},"ratio": "540p","download_addr": {"uri": "v0200fee0000bl59elet8ah4rl1hnqa0","url_list": ["https://aweme.snssdk.com/aweme/v1/play/?video_id=v0200fee0000bl59elet8ah4rl1hnqa0&line=0&ratio=540p&watermark=1&media_type=4&vr_type=0&improve_bitrate=0&logo_name=aweme", "https://api.amemv.com/aweme/v1/play/?video_id=v0200fee0000bl59elet8ah4rl1hnqa0&line=1&ratio=540p&watermark=1&media_type=4&vr_type=0&improve_bitrate=0&logo_name=aweme"]},"duration": 13600},"text_extra": null,"position": null,"uniqid_position": null,"promotions": null,"cha_list": null,"comment_list": null,"geofencing": null,"label_top_text": null}],"extra": {"now": 1570862145000,"logid": "201910121435450100140460120C0A186B"}
}

以下是关键信息简介

字段类型含义
item_listarray视频列表,由于只有一个视频,所以它的长度为1 ,里面这个就是视频详情
statisticsjson包括评论点赞等信息
videojson这不就是我们朝思暮想的好朋友么
download_addrjson这不就是我们朝思暮想的好朋友么×2
play_addrjson这不就是我们朝思暮想的好朋友么×3

值得注意的是,此处的download_addr和play_addr与抖音app端的返回是一致的,play_addr为无水印源,download_addr为有水印源。有可能是屏幕对面的程序员老哥copy代码写的接口。又或者此处的数据也只是一个抖音的RMI。

Anywey,video.play_addr.url_list 就存放着大家感兴趣的东西。在发光。

4.接口参数

上面我们已经得到了接口

curl 'https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=6722308029779332359&dytk=ebc1a7ace35a5e0054230e07a42ddb9cef82f15caf765f8376a424bf15d2f8ad' 
-H 'pragma: no-cache' 
-H 'cookie: tt_webid=6732009422643807756; _ga=GA1.2.1711193946.1567418091; _ba=BA0.2-20190823-5199e-6g17gEvH0dutXmdoVzfk; _gid=GA1.2.248720943.1570861696'
-H 'accept-encoding: gzip, deflate, br' 
-H 'accept-language: zh-CN,zh;q=0.9' 
-H 'user-agent: Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1' -H 'accept: */*' 
-H 'cache-control: no-cache' 
-H 'authority: www.iesdouyin.com' 
-H 'x-requested-with: XMLHttpRequest' 
-H 'referer: https://www.iesdouyin.com/share/video/6722308029779332359/?region=CN&mid=6701275998849092360&u_code=1613ld41c&titleType=title&utm_source=copy_link&utm_campaign=client_share&utm_medium=android&app=aweme&timestamp=1565234977' --compressed

其中最重要的一个参数就是 dytk
这个参数,在短链重定向页面中直接返回了
在这里插入图片描述
至于item_ids,在短链重定向地址里你可以轻松获取到。

5.结尾

至此,你可以直接通过短链获取到 item_idsdytk ,并通过 iteminfo接口获取到无水印链接。
在这里我要作一点申明:这篇文章分享给大家,是为了让大家学习分析的过程,不得用于非法用途。
其实像这种api的分析,一个关键所在便是:屏幕对面的程序员也是人,他也会有和你很像的习惯,他也会偷懒。如果是你在写抖音的接口,你会怎么写?

去水印的办法绝对还有很多,光我知道的还行的通的就还有4种,有的十分暴力,有的十分巧妙。
如果你能读到这结尾,说明你是一个有心的人,我有一个群,里面都是对这方面感兴趣的程序员,欢迎你加入我们群:

695623459

http://www.ppmy.cn/news/735660.html

相关文章

主流的第三方直播SDK对比(腾讯云、即构、阿里云、声网、网易云信、网宿)

直播业务概述 大家所熟知的直播平台虎牙、斗鱼、快手、抖音、B站,直播功能看似普遍,但从零到一开发却不简单。直播中运用到的技术难点非常之多,音频视频处理/编解码,前后处理,直播分发,即时通讯等技术&…

业界首家720p/1080p移动端实时超分,打造抖音极致画质体验

前言 2021年5月,字节跳动智能创作团队精心打磨的移动端实时视频超分技术上线,并在抖音、头条、西瓜等多个业务场景大规模落地。该超分技术在性能和功耗维度取得了巨大突破,通过极致的高性能优化和算法改良设计,跨越超分算法极高的…

如何实现低延时直播——支持多终端H5播放的超低延时直播方案

【摘要】 随着互联网视频应用的普及,各行各业对直播的应用需求越来越多,作为一名流媒体行业的从业者,本人亲眼目睹了视频行业的发展轨迹。 当前,全球遭受新冠疫情的冲击,导致视频通信的需求量大增,视频直…

RTC 技术的试金石:火山引擎视频会议场景技术实践

视频会议场景一直被认为是 RTC 最具挑战性的场景,一方面,它对抗弱网、低端机适配、降噪、多人上麦等都有极高的要求,对 Web 端的要求也远高于其他场景;另一方面,有很多孵化自会议场景的技术能力最终都被复制到了其他场…

最新抖音视频无水印解析接口及原理

1.无水印解析原理 用户将抖音视频分享给另外一个人的时候,可以直接复制链接。用户将得到一个类似下面的短链接 https://v.douyin.com/Du2M7R如果你对这方面有兴趣,可以和我们一群程序员交流学习,共同进步 695623459用户将短链口令复制&…

线程池的状态

(1) RUNNING 状态说明:线程池处于RUNNING状态时,能够接收新任务以及对已经添加的任务进行处理。 状态切换:线程池的初试状态为RUNNING,换句话说线程池一旦被创建,就处于RUNNING状态,…

实时渲染技术和DLSS 2.0技术

本文是在计算机图形学期末考察的背景下,通过一周的调查并按个人理解整理得出的。虽说文章也是总结的精华,但个人以为还颇有粗糙之处(如有错误欢迎指正)。在此,笔者把参考资源放于文章之前——相比于本文,参…

小红书携手HMS Core,畅玩高清视界,种草美好生活

在相同流量消耗的情况下,540p可秒变1080p?这不是魔法,通过视频超分辨率技术(简称视频超分),就能让视频变得更清晰。 7月20日,在小红书最新版本7.48的App中,用户就能体验到这项技术带…

vue在网页上播放h265编码的视频(内附github不能访问的解决办法)

需求 要使用vue进行h265编码的视频播放,包括m3u8格式的文件、mkv格式视频和av1封装的MP4视频 但是对于vue常用的播放插件如vue-video-player或者videojs,只支持h264编码的视频 解决过程 1、EasyPlayer.js 这个插件感觉应该是挺常用的,随便…

HMS Core Discovery直播预告 | AI画质增强 ,开启超清视界

【直播入口】 B站华为开发者联盟:http://live.bilibili.com/22551651 4K、8K视频屡见不鲜,HD、FHD分辨率成小屏标配,当网络卡顿、视频自动切换到较低画质时,用户最迫切需要的莫过于将“马赛克视频”变得清晰流畅。 致力于打造“…

视频画质如何提高?视频画质主要由哪些因素决定?

网络、屏幕素质以及视频成像技术的突飞猛进让用户对视频画质的要求越来越高。视频的画质究竟取决于哪些因素,以及如何改善和提高视频画质? 视频画质的影响因素主要有片源质量、视频码率、视频的编码协议、视频分辨率等等。 视频分辨率 目前绝大多数正…

挑选几款开源的、优秀的H.265网页播放器,进行特征整理及使用评价

H265和H264都是视频编码规范,H265是新一代视频编码规范,与H264相比压缩比更高,同样的码率下视频质量更高,或者说同样质量的视频占用的带宽和存储更少。之前由于终端支持有限,h265的推广使用一直较为缓慢,最…

540p秒变1080p!小红书端侧实时超分带你免流量玩嗨短视频

小红书在短视频领域首次联合华为HMS Core大规模运用端侧超分技术实现了“同等网络环境下高画质”、“同等画质下省带宽、降卡顿”的体验效果。 在整个落地的过程中小红书与HMS Core做到了联合共建,先后解决了多实例超分、不同View类型(SurfaceView、Text…

关于程序员必备的算法

关于程序员必备的算法 在程序员的职业生涯中,他们会邂逅无数种算法,每种算法都有其独特的用途和应用场景。但是,有一些算法是必备的,它们在程序员的日常工作中起着至关重要的作用。本文将介绍五个十分重要的“必抓!”算…

相交区间合并

校门外的树 #include<iostream> #include<algorithm>using namespace std;typedef pair<int, int> PII; #define x first #define y secondconst int N 110;int n, m; PII q[N];int main() {cin >> n >> m;for(int i0; i<m; i) cin >>…

螺丝钉拧不下来了怎么办

如果螺丝钉拧不下来&#xff0c;可以尝试以下方法&#xff1a; 使用加力工具&#xff1a;如扳手或钳子&#xff0c;加大力量。 涂抹润滑剂&#xff1a;如油剂或锯末&#xff0c;让螺丝钉更容易拧下。 用锤敲打&#xff1a;用轻锤敲打螺丝钉周围的物体&#xff0c;增加螺丝钉的容…

面试造飞机,工作拧螺丝

来自&#xff1a;菜鸟教程 不知道大家有没这样的经历&#xff0c;面试的时候各种高深的提问&#xff0c;算法&#xff0c;数据结构、服务器架构&#xff0c;是否有高并发经验&#xff0c;入职后做的工作&#xff0c;就是做一个登陆功能&#xff0c;后台添加几个表单&#xff0c…

【前端】报错:Error:Cannot find module ‘babel-plugin-component‘

当时自己是拿别人的项目在自己的电脑运行&#xff0c;然后出现了报错&#xff1a;Error:Cannot find module babel-plugin-component。在CSDN上找了一圈&#xff0c;总算解决了&#xff0c;所以浅浅的记录一下吧。 报错&#xff1a; 最开始&#xff0c;我试着删除node_modules…

为什么面试造火箭,工作拧螺丝

文章目录 1 问题背景2 自我介绍3 为什么面试造火箭&#xff0c;工作拧螺丝3.1 业务方面3.2 技术调优方面 1 问题背景 笔者拿到一个给谷歌数据上报、Facebook数据上报做IP代理的需求&#xff0c;说白了就是发请求给谷歌、Facebook的时候用别的IP来发起。 2 自我介绍 未毕业实习半…

我是如何费力成为职场“螺丝钉”,然后被裁的

点击上方“程序人生”&#xff0c;选择“置顶公众号” 第一时间关注程序猿&#xff08;媛&#xff09;身边的故事 图片源自&#xff1a;视觉中国 找了三个月仍未找到工作的亚希抱怨道&#xff0c;刚才去面试的小公司在一个居民楼里&#xff0c;连招牌都没有&#xff1b;只面了一…
最新文章