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 问题

如何阻止谷歌云 sql 损坏数据库表

SELinux 阻止 php 的 exec('kill pid') 日志中没有任何错误

SonarQube 8.9 无法启动,登录后加载页面被阻止

VS Code Python youtube_dl 不会导入

如何阻止 Chrome 重定向到 HTTPS?