Youtube-dl 错误:以 10 为基数的 int() 的无效文字:'7766645.83333'
Posted
技术标签:
【中文标题】Youtube-dl 错误:以 10 为基数的 int() 的无效文字:\'7766645.83333\'【英文标题】:Youtube-dl error: invalid literal for int() with base 10: '7766645.83333'Youtube-dl 错误:以 10 为基数的 int() 的无效文字:'7766645.83333' 【发布时间】:2018-06-29 16:46:56 【问题描述】:我正在尝试从 .mpd 文件下载视频,但出现以下错误:
ValueError: invalid literal for int() with base 10: '7766645.83333'
当我查看 .mpd 文件时,它有这些 <S>
元素,其中一些包含浮点数。
<S t="636000000" d="6000000"/>
<S t="642000000" d="6000000"/>
<S t="648000000" d="7766645.83333"/>
程序似乎有一个问题,d
是一个浮点数。但是,如果分段显示如下:
<SegmentURL media="segment-1.m4s"/>
<SegmentURL media="segment-2.m4s"/>
<SegmentURL media="segment-3.m4s"/>
那么就没有问题了。有解决方法吗?有没有办法可以将此 .mpd 文件转换为 youtube-dl 可以处理的格式。我目前正在使用 2018.06.25 版本的 youtube-dl。
【问题讨论】:
您下载的是哪个网址?这应该只在 youtube-dl 中修复,但我和其他任何人都无法在无法重现问题的情况下真正做到这一点。 嘿,我也遇到了同样的问题,你找到解决方案了吗? 【参考方案1】:发生错误时读取回溯。你会注意到它指向源代码/usr/lib/python3.6/site-packages/youtube_dl/extractor/common.py
,或类似的东西。当您打开该文件:行时,您会看到类似
't': int(s.get('t', 0)),
# @d is mandatory (see [1, 5.3.9.6.2, Table 17, page 60])
'd': int(s.attrib['d']),
'r': r,
把2个int
改成float
好像可以暂时解决问题。
【讨论】:
以上是关于Youtube-dl 错误:以 10 为基数的 int() 的无效文字:'7766645.83333'的主要内容,如果未能解决你的问题,请参考以下文章
django ValueError:以 10 为基数的 int() 的无效文字:''