FortuneDayssss/BilibiliUploader

投稿视频报错

Closed this issue · 13 comments

视频已经上传完了.但是最后报错了
QQ截图20201004220033
uploader.login_by_access_token("xxx")用的token这个方式

这个问题可以复现吗?什么情况下会出现?

看报错应该是requests包里面的问题。

这个问题可以复现吗?什么情况下会出现?

看报错应该是requests包里面的问题。

from bilibiliuploader.bilibiliuploader import BilibiliUploader
from bilibiliuploader.core import VideoPart

if __name__ == '__main__':
    uploader = BilibiliUploader()
    
    # 登录
    uploader.login_by_access_token("")

    # 处理视频文件
    parts = []
    parts.append(VideoPart(
        path="/home/df2019/st/download/夏小芫/2020-10-04/夏小芫-2020-10-04-part-000.mp4",
        title="p1",
        desc=""
    ))
    parts.append(VideoPart(
        path="/home/df2019/st/download/夏小芫/2020-10-04/夏小芫-2020-10-04-part-001.mp4",
        title="p2",
        desc=""
    ))
    parts.append(VideoPart(
        path="/home/df2019/st/download/夏小芫/2020-10-04/夏小芫-2020-10-04-part-002.mp4",
        title="p3",
        desc=""
    ))
    parts.append(VideoPart(
        path="/home/df2019/st/download/夏小芫/2020-10-04/夏小芫-2020-10-04-part-003.mp4",
        title="p4",
        desc=""
    ))
    parts.append(VideoPart(
        path="/home/df2019/st/download/夏小芫/2020-10-04/夏小芫-2020-10-04-part-004.mp4",
        title="p5",
        desc=""
    ))
    parts.append(VideoPart(
        path="/home/df2019/st/download/夏小芫/2020-10-04/夏小芫-2020-10-04-part-005.mp4",
        title="p6",
        desc=""
    ))

    # 上传
    avid, bvid = uploader.upload(
        parts=parts,
        copyright=2,
        title='',
        tid=17,
        tag=",".join(["单机游戏"]),
        desc="斗鱼录像",
        source='douyu.com',
        thread_pool_workers=5,
    )
    

这个问题可以复现吗?什么情况下会出现?

看报错应该是requests包里面的问题。


from bilibiliuploader.bilibiliuploader import BilibiliUploader

from bilibiliuploader.core import VideoPart



if __name__ == '__main__':

    uploader = BilibiliUploader()

    

    # 登录

    uploader.login_by_access_token("")



    # 处理视频文件

    parts = []

    parts.append(VideoPart(

        path="/home/df2019/st/download/夏小芫/2020-10-04/夏小芫-2020-10-04-part-000.mp4",

        title="p1",

        desc=""

    ))

    parts.append(VideoPart(

        path="/home/df2019/st/download/夏小芫/2020-10-04/夏小芫-2020-10-04-part-001.mp4",

        title="p2",

        desc=""

    ))

    parts.append(VideoPart(

        path="/home/df2019/st/download/夏小芫/2020-10-04/夏小芫-2020-10-04-part-002.mp4",

        title="p3",

        desc=""

    ))

    parts.append(VideoPart(

        path="/home/df2019/st/download/夏小芫/2020-10-04/夏小芫-2020-10-04-part-003.mp4",

        title="p4",

        desc=""

    ))

    parts.append(VideoPart(

        path="/home/df2019/st/download/夏小芫/2020-10-04/夏小芫-2020-10-04-part-004.mp4",

        title="p5",

        desc=""

    ))

    parts.append(VideoPart(

        path="/home/df2019/st/download/夏小芫/2020-10-04/夏小芫-2020-10-04-part-005.mp4",

        title="p6",

        desc=""

    ))



    # 上传

    avid, bvid = uploader.upload(

        parts=parts,

        copyright=2,

        title='',

        tid=17,

        tag=",".join(["单机游戏"]),

        desc="斗鱼录像",

        source='douyu.com',

        thread_pool_workers=5,

    )

    



每次运行这段代码都会出现这个问题吗?

这个问题可以复现吗?什么情况下会出现?

看报错应该是requests包里面的问题。


from bilibiliuploader.bilibiliuploader import BilibiliUploader

from bilibiliuploader.core import VideoPart



if __name__ == '__main__':

    uploader = BilibiliUploader()

    

    # 登录

    uploader.login_by_access_token("")



    # 处理视频文件

    parts = []

    parts.append(VideoPart(

        path="/home/df2019/st/download/夏小芫/2020-10-04/夏小芫-2020-10-04-part-000.mp4",

        title="p1",

        desc=""

    ))

    parts.append(VideoPart(

        path="/home/df2019/st/download/夏小芫/2020-10-04/夏小芫-2020-10-04-part-001.mp4",

        title="p2",

        desc=""

    ))

    parts.append(VideoPart(

        path="/home/df2019/st/download/夏小芫/2020-10-04/夏小芫-2020-10-04-part-002.mp4",

        title="p3",

        desc=""

    ))

    parts.append(VideoPart(

        path="/home/df2019/st/download/夏小芫/2020-10-04/夏小芫-2020-10-04-part-003.mp4",

        title="p4",

        desc=""

    ))

    parts.append(VideoPart(

        path="/home/df2019/st/download/夏小芫/2020-10-04/夏小芫-2020-10-04-part-004.mp4",

        title="p5",

        desc=""

    ))

    parts.append(VideoPart(

        path="/home/df2019/st/download/夏小芫/2020-10-04/夏小芫-2020-10-04-part-005.mp4",

        title="p6",

        desc=""

    ))



    # 上传

    avid, bvid = uploader.upload(

        parts=parts,

        copyright=2,

        title='',

        tid=17,

        tag=",".join(["单机游戏"]),

        desc="斗鱼录像",

        source='douyu.com',

        thread_pool_workers=5,

    )

    

每次运行这段代码都会出现这个问题吗?

对.每次运行都会报那个错误

我从这个报错里面没有办法定位到我这个项目的出错代码。。可以发一下完整的报错信息吗?
完整报错信息的调用栈里面应该能追踪到bilibiliuploader的代码出错行

我从这个报错里面没有办法定位到我这个项目的出错代码。。可以发一下完整的报错信息吗?
完整报错信息的调用栈里面应该能追踪到bilibiliuploader的代码出错行

找到错误了...原来是我标题没写.报错了

我从这个报错里面没有办法定位到我这个项目的出错代码。。可以发一下完整的报错信息吗?
完整报错信息的调用栈里面应该能追踪到bilibiliuploader的代码出错行

Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/urllib3-1.25.10-py3.8.egg/urllib3/connectionpool.py", line 670, in urlopen
    httplib_response = self._make_request(
  File "/usr/local/lib/python3.8/dist-packages/urllib3-1.25.10-py3.8.egg/urllib3/connectionpool.py", line 392, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "/usr/lib/python3.8/http/client.py", line 1240, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.8/http/client.py", line 1286, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.8/http/client.py", line 1235, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.8/http/client.py", line 1045, in _send_output
    self.send(chunk)
  File "/usr/lib/python3.8/http/client.py", line 967, in send
    self.sock.sendall(data)
BrokenPipeError: [Errno 32] Broken pipe

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/requests-2.24.0-py3.8.egg/requests/adapters.py", line 439, in send
    resp = conn.urlopen(
  File "/usr/local/lib/python3.8/dist-packages/urllib3-1.25.10-py3.8.egg/urllib3/connectionpool.py", line 726, in urlopen
    retries = retries.increment(
  File "/usr/local/lib/python3.8/dist-packages/urllib3-1.25.10-py3.8.egg/urllib3/util/retry.py", line 403, in increment
    raise six.reraise(type(error), error, _stacktrace)
  File "/usr/local/lib/python3.8/dist-packages/urllib3-1.25.10-py3.8.egg/urllib3/packages/six.py", line 734, in reraise
    raise value.with_traceback(tb)
  File "/usr/local/lib/python3.8/dist-packages/urllib3-1.25.10-py3.8.egg/urllib3/connectionpool.py", line 670, in urlopen
    httplib_response = self._make_request(

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/requests-2.24.0-py3.8.egg/requests/adapters.py", line 439, in send
    resp = conn.urlopen(
  File "/usr/local/lib/python3.8/dist-packages/urllib3-1.25.10-py3.8.egg/urllib3/connectionpool.py", line 726, in urlopen
    retries = retries.increment(
  File "/usr/local/lib/python3.8/dist-packages/urllib3-1.25.10-py3.8.egg/urllib3/util/retry.py", line 403, in increment
    raise six.reraise(type(error), error, _stacktrace)
  File "/usr/local/lib/python3.8/dist-packages/urllib3-1.25.10-py3.8.egg/urllib3/packages/six.py", line 734, in reraise
    raise value.with_traceback(tb)
  File "/usr/local/lib/python3.8/dist-packages/urllib3-1.25.10-py3.8.egg/urllib3/connectionpool.py", line 670, in urlopen
    httplib_response = self._make_request(
  File "/usr/local/lib/python3.8/dist-packages/urllib3-1.25.10-py3.8.egg/urllib3/connectionpool.py", line 392, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "/usr/lib/python3.8/http/client.py", line 1240, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.8/http/client.py", line 1286, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.8/http/client.py", line 1235, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.8/http/client.py", line 1045, in _send_output
    self.send(chunk)
  File "/usr/lib/python3.8/http/client.py", line 967, in send
    self.sock.sendall(data)
urllib3.exceptions.ProtocolError: ('Connection aborted.', BrokenPipeError(32, 'Broken pipe'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "up.py", line 54, in <module>
    avid, bvid = uploader.upload(
  File "/usr/local/lib/python3.8/dist-packages/bilibiliuploader-0.0.4-py3.8.egg/bilibiliuploader/bilibiliuploader.py", line 57, in upload
  File "/usr/local/lib/python3.8/dist-packages/bilibiliuploader-0.0.4-py3.8.egg/bilibiliuploader/core.py", line 504, in upload
  File "/usr/lib/python3.8/concurrent/futures/_base.py", line 432, in result
    return self.__get_result()
  File "/usr/lib/python3.8/concurrent/futures/_base.py", line 388, in __get_result
    raise self._exception
  File "/usr/lib/python3.8/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/local/lib/python3.8/dist-packages/bilibiliuploader-0.0.4-py3.8.egg/bilibiliuploader/core.py", line 413, in upload_video_part
  File "/usr/local/lib/python3.8/dist-packages/bilibiliuploader-0.0.4-py3.8.egg/bilibiliuploader/util/retry.py", line 11, in run
  File "/usr/local/lib/python3.8/dist-packages/bilibiliuploader-0.0.4-py3.8.egg/bilibiliuploader/core.py", line 354, in upload_chunk
  File "/usr/local/lib/python3.8/dist-packages/requests-2.24.0-py3.8.egg/requests/api.py", line 119, in post
    return request('post', url, data=data, json=json, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/requests-2.24.0-py3.8.egg/requests/api.py", line 61, in request
    return session.request(method=method, url=url, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/requests-2.24.0-py3.8.egg/requests/sessions.py", line 530, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/local/lib/python3.8/dist-packages/requests-2.24.0-py3.8.egg/requests/sessions.py", line 643, in send
    r = adapter.send(request, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/requests-2.24.0-py3.8.egg/requests/adapters.py", line 498, in send
    raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', BrokenPipeError(32, 'Broken pipe'))

又出现新的报错了...

上传视频分片post时候出的问题,报connection aborted,我怀疑是不是线程开多了
你先试试把多线程数量改成1试试看下能不能解决

不能解决的话可以发我一下你的视频和代码吗?我复现一下debug

上传视频分片post时候出的问题,报connection aborted,我怀疑是不是线程开多了
你先试试把多线程数量改成1试试看下能不能解决

不能解决的话可以发我一下你的视频和代码吗?我复现一下debug

能不能增加一个目录上传的功能啊,每次选都需要复制几次

上传视频分片post时候出的问题,报connection aborted,我怀疑是不是线程开多了

你先试试把多线程数量改成1试试看下能不能解决

不能解决的话可以发我一下你的视频和代码吗?我复现一下debug

能不能增加一个目录上传的功能啊,每次选都需要复制几次

报错的问题解决了吗?是多线程的问题吗?

目录上传功能我认为你可以在自己的项目里实现,用os.path模块可以很轻松完成。

这个项目我的本意是想提供一个bilibili投稿工具的操作集合的python包,遍历文件夹集成进包里其实和直接用os.path没啥两样,没什么必要。

问题解决了..很奇怪..以前5线程上传也没出现问题啊

问题解决了..很奇怪..以前5线程上传也没出现问题啊

你是在windows平台跑的吗?我从网上查这个错误代码有帖子说windows用python的多线程可能会出现这个问题

还有种可能我猜测是两个不同chunk被分配给同一个上传服务器url的情况可能会有冲突,这个我过几天有空的时候试验一下

问题解决了..很奇怪..以前5线程上传也没出现问题啊

你是在windows平台跑的吗?我从网上查这个错误代码有帖子说windows用python的多线程可能会出现这个问题

还有种可能我猜测是两个不同chunk被分配给同一个上传服务器url的情况可能会有冲突,这个我过几天有空的时候试验一下

乌班图.不是win系统