youtube-dl - Youtube-dl 错误:以 10 为基数的 int() 的无效文字:'7766645.83333'
问题描述
我正在尝试从 .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 可以处理的格式。我目前正在使用 youtube-dl 的2018.06.25版本。
解决方案
发生错误时阅读回溯。您会注意到它指向源代码/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
似乎可以暂时解决问题。
推荐阅读
- c# - 将按钮值添加到 For 循环中的所有文本框中
- solr - 使用 solr 流表达式导出数据随机不起作用
- django - 如何查询 db 以获取与参数列表匹配的所有对象,而不仅仅是列表中的最后一项
- hive - Hive 如何获得第二个最大值,小于最大值不起作用
- ios - 应用程序到达前台后呈现模态的最佳方法
- xamarin - Xamarin.Forms:安装 Sqlite-net-pcl 时 Plugin.Notifications 不起作用
- string - 在 Python 中反转字符串,我的两个代码有什么问题
- r - 使用 facet_wrap 时遇到问题
- java - Java:串行端口异常-端口忙
- sql - 显示每个唯一变量计数的选择语句