我正试图用以下代码在python中使用youtube dl API保存livestreams。因为它是一个连续的实时流,视频没有尽头,所以我使用hls-use-mpegts
作为一种定期读取视频进行处理的方式,该标志使.mp4.part
文件可以播放
尽管hls-use-mpegts
选项与命令行配合良好,但是:
youtube-dl -f worst <some URL> --retries infinite --continue --hls-use-mpegts
它似乎不适用于此代码。我没有看到任何错误,但没有看到文件以mpegts格式保存。选项设置是否正确
ydl_opts = {
'format': 'worst',
'retries': 99,
'continue': True,
'hls-use-mpegts': True
}
with youtube_dl.YoutubeDL(ydl_opts) as ydl:
ydl.download([url])
这是因为(很抱歉这么说)文档有点好&;希特*同时。 我发现Python中要使用的每个开关/cli选项都必须将-(dash)替换为(子dash)
解决方案
在您的情况下,hls\u use\u mpegts是解决方案
为什么?
在这里阅读/探索:https://github.com/ytdl-org/youtube-dl/blob/5208ae92fc3e2916cdccae45c6b9a516be3d5796/youtube_dl/downloader/common.py#L50 和 这里:https://github.com/ytdl-org/youtube-dl/blob/5208ae92fc3e2916cdccae45c6b9a516be3d5796/youtube_dl/__init__.py#L428
或者像我通常那样浏览一下,以避免这些不便:https://github.com/ytdl-org/youtube-dl/search?q=hls_use_mpegts%3A(幸运的是GitHub在这方面做得非常好,您不必下载src代码进行搜索)
否则使用yt dl很有趣,谢谢
相关问题 更多 >
编程相关推荐