auqhjjqdo / LiveRecorder

基于Streamlink的全自动直播录制工具,已支持哔哩哔哩、斗鱼、虎牙、抖音、YouTube、Twitch等
MIT License
536 stars 57 forks source link

抖音录制时报报错 #76

Closed zxp3721 closed 6 months ago

zxp3721 commented 8 months ago

运行环境

版本号:v2.30 运行平台:debian11 运行架构:x64 Python版本:Python 3.9.2

配置文件

{
  "output": "output",
  "user": [
    {
      "platform": "Douyin",
      "id": "851327597359",
      "name": "静雅"
    }
  ]
}

复现步骤(可选)

1.通过git安装最新版源码 2.config.json写入配置文件 3.运行live_recorder.py报错 ...

错误描述

运行后出现 json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0) 错误,config.json 使用的是uft8编码,校验后证明是正确的json,不知道问题出在哪

错误日志

root@debian:~/LiveRecorder# python3 live_recorder.py
2023-12-26 13:33:13.572 | INFO     | __main__:start:47 - [Douyin][静雅]正在检测直播状态
2023-12-26 13:33:13.835 | ERROR    | __main__:start:58 - [Douyin][静雅]直播检测错误
JSONDecodeError('Expecting value: line 1 column 1 (char 0)')
Traceback (most recent call last):

  File "/root/LiveRecorder/live_recorder.py", line 483, in <module>
    asyncio.run(run())
    │       │   └ <function run at 0x7f02a32cbf70>
    │       └ <function run at 0x7f02a32e3550>
    └ <module 'asyncio' from '/usr/lib/python3.9/asyncio/__init__.py'>

  File "/usr/lib/python3.9/asyncio/runners.py", line 44, in run
    return loop.run_until_complete(main)
           │    │                  └ <coroutine object run at 0x7f02a0ca0d40>
           │    └ <function BaseEventLoop.run_until_complete at 0x7f02a2bbe940>
           └ <_UnixSelectorEventLoop running=True closed=False debug=False>
  File "/usr/lib/python3.9/asyncio/base_events.py", line 629, in run_until_complete
    self.run_forever()
    │    └ <function BaseEventLoop.run_forever at 0x7f02a2bbe8b0>
    └ <_UnixSelectorEventLoop running=True closed=False debug=False>
  File "/usr/lib/python3.9/asyncio/base_events.py", line 596, in run_forever
    self._run_once()
    │    └ <function BaseEventLoop._run_once at 0x7f02a2bc1430>
    └ <_UnixSelectorEventLoop running=True closed=False debug=False>
  File "/usr/lib/python3.9/asyncio/base_events.py", line 1890, in _run_once
    handle._run()
    │      └ <function Handle._run at 0x7f02a2c2e3a0>
    └ <Handle <TaskStepMethWrapper object at 0x7f02a034ea00>()>
  File "/usr/lib/python3.9/asyncio/events.py", line 80, in _run
    self._context.run(self._callback, *self._args)
    │    │            │    │           │    └ <member '_args' of 'Handle' objects>
    │    │            │    │           └ <Handle <TaskStepMethWrapper object at 0x7f02a034ea00>()>
    │    │            │    └ <member '_callback' of 'Handle' objects>
    │    │            └ <Handle <TaskStepMethWrapper object at 0x7f02a034ea00>()>
    │    └ <member '_context' of 'Handle' objects>
    └ <Handle <TaskStepMethWrapper object at 0x7f02a034ea00>()>

> File "/root/LiveRecorder/live_recorder.py", line 50, in start
    await self.run()
          │    └ <function Douyin.run at 0x7f02a0c51ee0>
          └ <__main__.Douyin object at 0x7f02a0c53550>

  File "/root/LiveRecorder/live_recorder.py", line 259, in run
    response = (await self.request(
                      │    └ <function LiveRecoder.request at 0x7f02a0c51820>
                      └ <__main__.Douyin object at 0x7f02a0c53550>

  File "/usr/local/lib/python3.9/dist-packages/httpx/_models.py", line 761, in json
    return jsonlib.loads(self.content, **kwargs)
           │       │     │    │          └ {}
           │       │     │    └ <property object at 0x7f02a2474c20>
           │       │     └ <Response [200 OK]>
           │       └ <function loads at 0x7f02a2b10b80>
           └ <module 'json' from '/usr/lib/python3.9/json/__init__.py'>

  File "/usr/lib/python3.9/json/__init__.py", line 346, in loads
    return _default_decoder.decode(s)
           │                │      └ ''
           │                └ <function JSONDecoder.decode at 0x7f02a2b10550>
           └ <json.decoder.JSONDecoder object at 0x7f02a32e9e80>
  File "/usr/lib/python3.9/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
               │    │          │      │  └ ''
               │    │          │      └ <built-in method match of re.Pattern object at 0x7f02a2b7b4b0>
               │    │          └ ''
               │    └ <function JSONDecoder.raw_decode at 0x7f02a2b105e0>
               └ <json.decoder.JSONDecoder object at 0x7f02a32e9e80>
  File "/usr/lib/python3.9/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
          │                                  └ ''
          └ <class 'json.decoder.JSONDecodeError'>

json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

错误截图(可选)

2023-12-26_133437

AvrilL161 commented 8 months ago

I have the same problem. if you add an ID from letters (for example "shentaototo") then everything will work fine. but if you add an ID from numbers (for example "476616721907") there will be an error.

KKCAT-77 commented 8 months ago

手动输入,不要直接复制

AvrilL161 commented 8 months ago

手动输入,不要直接复制

please explain in more detail.

For example https://live.douyin.com/352593585494

this does not work { "output": "vid", "user": [ { "platform": "Douyin", "id": "352593585494", "name": "tst" } ] }

this does not work { "output": "vid", "user": [ { "platform": "Douyin", "id": "71548300543", "name": "tst" } ] }

but if the ID is made up of letters, it works { "output": "vid", "user": [ { "platform": "Douyin", "id": "gezi6668888", "name": "tst" } ] }

auqhjjqdo commented 8 months ago

v2.31已修复抖音直播录制报错

xbclub commented 8 months ago

v2.31已修复抖音直播录制报错

image v2.31 照常报错

auqhjjqdo commented 8 months ago

v2.31已修复抖音直播录制报错

image v2.31 照常报错

我这边测试录制没问题,你的直播间id写对了吗,是一串数字那个id

xbclub commented 8 months ago

v2.31已修复抖音直播录制报错

image v2.31 照常报错

我这边测试录制没问题,你的直播间id写对了吗,是一串数字那个id

{
  "user": [
    {
      "platform": "Douyin",
      "id": "965952812349",
      "name": "ax-1001",
      "output": "/data/lubo/ax-1001"
    }
  ]
}
auqhjjqdo commented 8 months ago

v2.31已修复抖音直播录制报错

image v2.31 照常报错

我这边测试录制没问题,你的直播间id写对了吗,是一串数字那个id

{
  "user": [
    {
      "platform": "Douyin",
      "id": "965952812349",
      "name": "ax-1001",
      "output": "/data/lubo/ax-1001"
    }
  ]
}

macos系统没测试不知道是不是打包原因导致的,报错是在解析抖音请求返回的数据出现的,我随机找了几个直播间都能正常录制,尝试一下添加cookies后是否正常录制

espoir1989 commented 7 months ago

我也遇到类似的问题了,换了一个ip,正常了

stale[bot] commented 6 months ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

xbclub commented 6 months ago

v2.31已修复抖音直播录制报错

image v2.31 照常报错

我这边测试录制没问题,你的直播间id写对了吗,是一串数字那个id

{
  "user": [
    {
      "platform": "Douyin",
      "id": "965952812349",
      "name": "ax-1001",
      "output": "/data/lubo/ax-1001"
    }
  ]
}

macos系统没测试不知道是不是打包原因导致的,报错是在解析抖音请求返回的数据出现的,我随机找了几个直播间都能正常录制,尝试一下添加cookies后是否正常录制

v2.32测试正常 没有添加cookie