youtube_dl - 无法阻止错误日志发布
Posted
技术标签:
【中文标题】youtube_dl - 无法阻止错误日志发布【英文标题】:youtube_dl - Cannot prevent error logs from posting 【发布时间】:2021-11-29 13:42:00 【问题描述】:如何防止打印youtube_dl
错误日志?
[tls @ 0x5599ebcc8d00] Error in the pull function.
[https @ 0x5599ebcc65c0] Will reconnect at 98304 in 0 second(s), error=Input/output error.
[tls @ 0x5599ebff9cc0] Error in the pull function.
[https @ 0x5599ebcc65c0] Will reconnect at 2523120 in 0 second(s), error=Input/output error.
[tls @ 0x55e262434d00] Error in the pull function.
[https @ 0x55e2624325c0] Will reconnect at 131072 in 0 second(s), error=Input/output error.
[tls @ 0x556d70c28d00] Error in the pull function.
[https @ 0x556d70c265c0] Will reconnect at 131072 in 0 second(s), error=Input/output error.
[tls @ 0x5609e85e4d00] Error in the pull function.
[https @ 0x5609e85e25c0] Will reconnect at 131072 in 0 second(s), error=Input/output error.
[tls @ 0x555649486d00] Error in the pull function.
[https @ 0x5556494845c0] Will reconnect at 131072 in 0 second(s), error=Input/output error.
[tls @ 0x5647e561dd00] Error in the pull function.
我尝试了'ignoreerrors': True
,但它不起作用。
youtube_dl.utils.bug_reports_message = lambda: ''
YT_OPTIONS =
'format': 'bestaudio/best',
'extractaudio': True,
'audioformat': 'mp3',
'outtmpl': '%(extractor)s-%(id)s-%(title)s.%(ext)s',
'restrictfilenames': True,
'noplaylist': True,
'nocheckcertificate': True,
'ignoreerrors': True,
'logtostderr': False,
'quiet': True,
'no_warnings': True,
'default_search': 'auto',
'source_address': '0.0.0.0',
我正在使用this bot
【问题讨论】:
你在哪里使用YT_OPTIONS
?
如果可能的话,分享你到目前为止尝试过的代码
@Benjin 我正在使用this bot
@Sabil 我正在使用this bot
【参考方案1】:
The quiet
keyword is what you want,将消息抑制到标准输出。
确保您在调用 youtube_dl 时实际应用了这些选项。
YT_OPTIONS =
...
'quiet': True,
...
youtube_dl_manager = youtube_dl.YoutubeDL(YT_OPTIONS)
【讨论】:
我已经加了'quiet': True
不行
那么你的问题不是选项,而是你没有应用这些选项。您需要显示其余代码。
我正在使用this bot【参考方案2】:
防止打印错误的一种方法是提供一个logger
,它像this example 一样被禁用。
import logging
import youtube_dl
url = "..."
ytdl_logger = logging.getLogger("ytdl-ignore")
ytdl_logger.disabled = True
ydl_opts =
"logger": ytdl_logger,
with youtube_dl.YoutubeDL(ydl_opts) as ydl:
ydl.download([url])
其他参数的问题是:
quiet
不会阻止记录错误消息
ignoreerrors
将防止引发错误(我仍然想捕捉,只是不打印)
【讨论】:
等你创建ytdl
?
不,我最近在使用 ytdl
下载计算机视觉数据集的包装器时遇到了同样的问题【参考方案3】:
这不是youtube_dl
产生的错误,它来自 ffmpeg,因为您的会话已过期。尝试流式传输音频而不从 YouTube 下载视频的每个人都会发生这种情况。
要么通过删除 YouTube_dl 选项中的音频选项来下载视频,要么将其添加到 ffmpeg 选项中。
https://github.com/Rapptz/discord.py/issues/671
'before_options': '-reconnect 1 -reconnect_streamed 1 -reconnect_delay_max 5'
在复制开源代码之前,记得检查他们给出的问题、限制等。
【讨论】:
我也给了这些选项以上是关于youtube_dl - 无法阻止错误日志发布的主要内容,如果未能解决你的问题,请参考以下文章
Mac 上 ffprobe/avprobe 和 youtube_dl 的 Python 问题
SELinux 阻止 php 的 exec('kill pid') 日志中没有任何错误