Douyin_TikTok_Download_API icon indicating copy to clipboard operation
Douyin_TikTok_Download_API copied to clipboard

[BUG] 部分视频下载清晰度只有720P或者更低 (原始视频为1080P)

Open YUDONGLING opened this issue 1 year ago • 5 comments

发生错误的平台?

抖音。

发生错误的端点?

API-V1/API-V2均可复现。

提交的输入值?

短视频链接或网页版长链接。 例如 https://www.douyin.com/video/7209483274043919677。 通过API-V1公共站点,获取的无水印链接为 https://aweme.snssdk.com/aweme/v1/play/?video_id=v0200fg10000cg6jlj3c77ub0opgksjg&ratio=1080p&line=0,实际下载获得的清晰度为720*1280即720P。 通过API-V2接口API,返回值中有关视频分辨率的部分为:{"height": 1920, "weight":1080, "ratio": "720p"},最终下载得到的是 ratio 对应的清晰度,包括直接使用返回值中的带有签名的链接或类似于 https://aweme.snssdk.com/aweme/v1/play/?video_id=v0200fg10000cg6jlj3c77ub0opgksjg&ratio=1080p&line=0 的API链接。 还存在部分视频使用https://aweme.snssdk.com/aweme/v1/play/?video_id=... 的API链接下载可能导致获得最低清晰度(540P)的情况。

YUDONGLING avatar Mar 12 '23 02:03 YUDONGLING

我晚点去检查一下,如果你已经有解决办法了,可以尝试提交一份PR至本仓库😃

Evil0ctal avatar Mar 12 '23 02:03 Evil0ctal

{"height": 1920, "weight":1080, "ratio": "720p"}返回值和实际宽高不一致的问题,目前主要可以分成3种情况:

  1. height 和 weight 的宽高大于 1080p,例如一个 4k 的原视频,在抖音观看的最高分辨率只是 1080p,应该是无法直接解决。这个我认为符合预期。
  2. height 和 weight 的宽高小于 1080p,返回值中的 ratio 为720p或更小(基于视频的实际宽高),这个我认为符合预期。
  3. height 和 weight 的宽高等于 1080p,部分返回值中的 ratio 为 720p 而不是 1080p。但是这种情况多数出现在个人账号/大量粉丝账号刚刚更新的视频,目测可能是根据观看人数等来提供最高清晰度?希望可以找到下载此类情况 1080p 的方法。

使用 https://aweme.snssdk.com/aweme/v1/play/?video_id=xxx&ratio=1080p&line=0 的API链接下载可能导致获得最低清晰度(540P)的情况。ratio=1080p 改为类似 {"height": 1920, "weight":1080, "ratio": "720p"} 的 ratio,例如 ratio=720p。这个问题是部分视频才会复现,并不是所有视频都会复现。

YUDONGLING avatar Mar 12 '23 03:03 YUDONGLING

好的,非常感谢你提供的数据和信息,我晚些时候会去测试一下,我们可以在这个issue中update进度👍🏻

Evil0ctal avatar Mar 12 '23 03:03 Evil0ctal

目测可能是根据观看人数/互动情况等来提供最高清晰度应该是对的,刚刚又测试了一下大量粉丝账号刚刚更新的视频(原始视频1920*1080)。第一次下载测试是发布5分钟左右,下载清晰度为 720p ;第二次下载测试是发布30分钟左右,下载清晰度为 1080p 。视频就5秒左右应该不存在还没转码完的情况,另外:两次获得的 video_id 值不同。

YUDONGLING avatar Mar 12 '23 03:03 YUDONGLING

嗯嗯,可能是的,我再去研究一下提交至 https://aweme.snssdk.com/aweme/v1/play/?video_id=xxx&ratio=1080p&line=0的参数。

Evil0ctal avatar Mar 12 '23 03:03 Evil0ctal