LiveAutoRecord icon indicating copy to clipboard operation
LiveAutoRecord copied to clipboard

抖音在较频繁检查的情况下会 ban ip

Open WhiteMinds opened this issue 1 year ago • 15 comments

~~登录状态则不会,考虑实现登录支持~~

临时的解决方案是将检查时间调整为抖音数量 * 1 秒,比如 10 个抖音直播间就调整为 10 秒

每个 provider 需要提供鉴权函数(或留空),douyin-recorder 内部的鉴权考虑通过 Playwright 来做。

10/22/2023 Updated: 测试了下,登录后看起来也会被 live.douyin.com ban,只是能访问 www.douyin.com

WhiteMinds avatar Aug 19 '23 03:08 WhiteMinds

市面上同类型的现在间隔一般是15s往上 30s居多 达到这个值就行了 即使是登录的话 应该也会触发验证码吧

OriX0 avatar Aug 20 '23 17:08 OriX0

市面上同类型的现在间隔一般是15s往上 30s居多 达到这个值就行了

这个可以作为用户手动配置的临时方案,为 provider 添加鉴权能力是一个比较通用的功能。

即使是登录的话 应该也会触发验证码吧

目前测试来看不会。

WhiteMinds avatar Aug 21 '23 02:08 WhiteMinds

市面上同类型的现在间隔一般是15s往上 30s居多 达到这个值就行了

这个可以作为用户手动配置的临时方案,为 provider 添加鉴权能力是一个比较通用的功能。

我突然反应过来 以目前的代码设计来看 好像间隔也不管用 比如我有10个直播间在监控 实际上是一起发出这个请求的 还是会触发频繁 除非改为检测完休息一段时间再检测 从风控角度来看 多线程检测 其实不太合理

OriX0 avatar Aug 23 '23 05:08 OriX0

我遇到这种都是重启光猫,一分钟解决问题,但是还是希望可以优化一下

wwkk2580 avatar Nov 06 '23 05:11 wwkk2580

我遇到这种都是重启光猫,一分钟解决问题,但是还是希望可以优化一下

似乎只能挂代理,这样需要做一个代理池管理的逻辑,有点太麻烦了。

或者是允许每个频道配置里去设置代理,不过实现的时候要考虑如何将代理传递给 ffmpeg,不知道它是否有对应的参数。

WhiteMinds avatar Nov 06 '23 05:11 WhiteMinds

https://developer.open-douyin.com/docs/resource/zh-CN/dop/develop/openapi/data-open-service/live-data/live-base-data

官方的openapi,大佬研究一下

wwkk2580 avatar Nov 06 '23 06:11 wwkk2580

我遇到这种都是重启光猫,一分钟解决问题,但是还是希望可以优化一下

似乎只能挂代理,这样需要做一个代理池管理的逻辑,有点太麻烦了。

或者是允许每个频道配置里去设置代理,不过实现的时候要考虑如何将代理传递给 ffmpeg,不知道它是否有对应的参数。

代理参数不需要传入ffmpeg啊,开播查询和录制走两个路线就好了

wwkk2580 avatar Nov 06 '23 06:11 wwkk2580

代理参数不需要传入ffmpeg啊,开播查询和录制走两个路线就好了

这个要做的通用一点的话,就要假设任意某个平台可能会出现录制时单 IP 也会受限的情况。 现在也不好确定抖音是否已经有这种限制了,可能只是因为开播检查时就被 ban 了没录上所以没看到后面那一层限制。

WhiteMinds avatar Nov 06 '23 06:11 WhiteMinds

官方的openapi,大佬研究一下

这个要 token 的吧,我不太可能自己申请一个给所有软件使用者用,如果用这个 openapi 来实现那应该还得每个用户自己配置一下 openapi token,感觉也挺麻烦的。

不过在成本上比代理池要好一些,代理池一般是要花钱的。缺点是不太通用,只能针对抖音。不过几方面成本对比下来可能确实 openapi 好一些。

WhiteMinds avatar Nov 06 '23 06:11 WhiteMinds

我遇到这种都是重启光猫,一分钟解决问题,但是还是希望可以优化一下

似乎只能挂代理,这样需要做一个代理池管理的逻辑,有点太麻烦了。

或者是允许每个频道配置里去设置代理,不过实现的时候要考虑如何将代理传递给 ffmpeg,不知道它是否有对应的参数。

要在ffmpeg中传入代理IP参数,可以使用以下命令行选项:

ffmpeg -http_proxy http://your_proxy_ip:your_proxy_port -i input.mp4 output.mp4

其中,your_proxy_ip是代理服务器的IP地址,your_proxy_port是代理服务器的端口号。请将其替换为实际的代理IP和端口。

请注意,这个命令只会将代理应用于HTTP请求,对于其他协议(如HTTPS)可能需要使用其他选项。

wwkk2580 avatar Nov 06 '23 07:11 wwkk2580

官方的openapi,大佬研究一下

这个要 token 的吧,我不太可能自己申请一个给所有软件使用者用,如果用这个 openapi 来实现那应该还得每个用户自己配置一下 openapi token,感觉也挺麻烦的。

不过在成本上比代理池要好一些,代理池一般是要花钱的。缺点是不太通用,只能针对抖音。不过几方面成本对比下来可能确实 openapi 好一些。

那个openapi不行,官方把推送的接口关闭了,这个方案感觉不行了

wwkk2580 avatar Nov 06 '23 08:11 wwkk2580

那个openapi不行,官方把推送的接口关闭了,这个方案感觉不行了

应该不用推送吧,就是检查下开播状态,这种 openapi 限制的频率上限应该挺高的

WhiteMinds avatar Nov 06 '23 09:11 WhiteMinds

抖音录制多个主播同时开播 至少一个能稳定录制 其他就比较随机 有时候其他只有js文件 没有mkv文件 有mkv也是空的 也是这个原因导致的吗?如何解决?目前设置的间隔是15s

popularhoney avatar Feb 27 '24 12:02 popularhoney

有时候其他只有js文件 没有mkv文件 有mkv也是空的

有 json 文件或者 mkv 文件就代表已经检测到开播了,被 ban ip 是无法检测到的,这应该是其他问题。

有没有什么稳定复现的方式?比如某几个直播间经常出现这个问题?

WhiteMinds avatar Feb 28 '24 08:02 WhiteMinds

有时候其他只有js文件 没有mkv文件 有mkv也是空的

有 json 文件或者 mkv 文件就代表已经检测到开播了,被 ban ip 是无法检测到的,这应该是其他问题。

有没有什么稳定复现的方式?比如某几个直播间经常出现这个问题?

我昨晚凌晨2、3点测试了下

我检测的抖音直播间增加到了15个,设置1-10秒的录制间隔会封ip,11-14没测试,现在下午2、3我设置15秒没封ip

如果你软件的逻辑是每隔15秒就同时检测所有直播间,那可能避免抖音封ip是5个直播间需要设置间隔5秒?15个直播间就需要设置间隔15秒?每多1个直播间间隔就需要多1秒?

所以能不能加个功能,给抖音录制内置个单独间隔,每多添加1个直播间就自动多1秒间隔,少1个直播间就自动少1秒间隔?

或者可能避免抖音封ip是不能同时检测多个直播间?那能不能增加个单独的抖音录制间隔选项,比如设置成1秒间隔,就1秒间隔就检测1个直播间再间隔1秒检测下1个直播间,不同时检测

当然了,也可能时间段不同,抖音封ip严格程度也不同,我测试的也不一定准

我不知道抖音封ip的逻辑,也不知道你软件的检测间隔逻辑,所以具体怎么样才能解决好,还得你来测试

fgo1212 avatar Mar 03 '24 07:03 fgo1212