Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

请问是否有办法下载2k和4k无水印的抖音视频? #529

Closed
Kavka-7 opened this issue Dec 28, 2024 · 4 comments
Closed

请问是否有办法下载2k和4k无水印的抖音视频? #529

Kavka-7 opened this issue Dec 28, 2024 · 4 comments

Comments

@Kavka-7
Copy link

Kavka-7 commented Dec 28, 2024

已经添加了cookies,但是下载下来的画质还是只有1080p,网页版显示原视频有2k和4k的画质,但直接网页解析下载的码率和大小都很差,有没有办法解析到2k/4k的高码率无水印视频呢?

@Evil0ctal
Copy link
Owner

应该是有的 但是我目前没有找到这个对应的方法 不过你可以研究一下

@KongJin7
Copy link

已经添加了cookies,但是下载下来的画质还是只有1080p,网页版显示原视频有2k和4k的画质,但直接网页解析下载的码率和大小都很差,有没有办法解析到2k/4k的高码率无水印视频呢?

老哥你是咋获取到1080p的,我获取到的都是540p,糊成麻瓜了

@qingmou
Copy link

qingmou commented Dec 30, 2024

应该可以自己写 ,使用接口**/api/douyin/web/fetch_one_video**,返回的JSON数据/data/video/bit_rate里面就有全部画质

@Jeffrey-deng
Copy link
Contributor

Jeffrey-deng commented Feb 13, 2025

bit_rate里面找h265编码的就有4k了,最简单方法取bit_rate里面第一个就是了

我查看下来一般其他分辨率也是h265编码的画质最高,所以也可以参考我的代码

# 默认是按照bit_rate排序的
# 但有些视频这样排序后,最前面的不是最大分辨率(h264低分辨率文件大小可能大于h265高分辨率文件大小)
# 所以调整为 二次排序
new_sort_bit_rate_videos = sorted(video_data['video']['bit_rate'], key=lambda x: (x['play_addr']['width'], x["bit_rate"]), reverse=True)

defalut_video_element = new_sort_bit_rate_videos[0]
defalut_video_url = defalut_video_element['play_addr']['url_list'][0]

## 获取hevc编码的最佳质量

nwm_aiq_video_url = defalut_video_url
nwm_h265_video_url = None

# 1. 筛选出以 "adapt_lowest" 开头的元素
adapt_lowest_attr = [element for element in video_data['video']['bit_rate'] if element["gear_name"].startswith("adapt_lowest")] 

# 2. 按照 bit_rate 降序排序
adapt_lowest_attr = sorted(adapt_lowest_attr, key=lambda x: x["bit_rate"], reverse=True)
if (len(adapt_lowest_attr) > 0):
    nwm_h265_video_url = adapt_lowest_attr[0]['play_addr']['url_list'][0]
    # 如果h265的分辨率是最大的
    if min(adapt_lowest_attr[0]['play_addr']['width'], adapt_lowest_attr[0]['play_addr']['height']) >= min(defalut_video_element['play_addr']['width'], defalut_video_element['play_addr']['height']):
        nwm_aiq_video_url = nwm_h265_video_url

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants