错误:使用 youtube-dl 下载 YouTube 视频时无法提取信息部分

gwa*_*rah 1 video youtube downloads

恕我直言,我不认为这个问题与那个问题重复,原因如下:

\n\n
    \n
  1. 让我们首先考虑标题:如何更新 youtube-dl?,显然侧重于单个应用程序/更新过程,而不是仅关注一个应用程序的下载失败报告。
  2. \n
  3. 标签:这个问题:视频、下载、youtube。另一个:apt、updates、youtube。他们只有youtube标签的共同点。
  4. \n
  5. 这两个问题具有重叠的主题,但它们不是相同的问题,因为另一个问题的主题是本问题主题的子集。
  6. \n
\n\n

现在让我们看看更多的参数(在括号中):

\n\n
\n\n

我尝试先通过 Firefox + Video DownloadHelper 下载一些 YouTube 视频,然后通过 VLC,最后通过 youtube-dl 程序,但有东西阻止了它们。

\n\n

另一个:“我使用 youtube-dl 下载视频以便稍后离线观看”,这个问题再次关注 YouTube 中的下载阻止,无论应用程序如何,而另一个在单个应用程序(youtube-dl)中

\n\n

在描述屏幕上我没有看到任何有关下载的限制。

\n\n

这个在另一个问题中没有提到。

\n\n

举个例子:我正在尝试下载两个具有相同类别/许可证的视频,第一个工作正常,第二个返回异常:

\n\n
luis@jupiter:~$ youtube-dl "https://www.youtube.com/watch?v=wo6Sq1h2DI4"\n[youtube] wo6Sq1h2DI4: Downloading webpage\n[youtube] wo6Sq1h2DI4: Downloading video info webpage\n[youtube] wo6Sq1h2DI4: Extracting video information\n[youtube] wo6Sq1h2DI4: Downloading MPD manifest\nWARNING: Requested formats are incompatible for merge and will be merged into mkv.\n[download] Destination: S\xc3\x82NSCRITO - Aula 6 (Consoantes Mudas Dentais) com Jonas Masetti-wo6Sq1h2DI4.f137.mp4\n[download] 100% of 142.54MiB in 04:11\n[download] Destination: S\xc3\x82NSCRITO - Aula 6 (Consoantes Mudas Dentais) com Jonas Masetti-wo6Sq1h2DI4.f251.webm\n[download] 100% of 8.75MiB in 00:16\n[ffmpeg] Merging formats into "S\xc3\x82NSCRITO - Aula 6 (Consoantes Mudas Dentais) com Jonas Masetti-wo6Sq1h2DI4.mkv"\nDeleting original file S\xc3\x82NSCRITO - Aula 6 (Consoantes Mudas Dentais) com Jonas Masetti-wo6Sq1h2DI4.f137.mp4 (pass -k to keep)\nDeleting original file S\xc3\x82NSCRITO - Aula 6 (Consoantes Mudas Dentais) com Jonas Masetti-wo6Sq1h2DI4.f251.webm (pass -k to keep)\nluis@jupiter:~$ youtube-dl "https://www.youtube.com/watch?v=BbbhZl8xqVY"\n[youtube] BbbhZl8xqVY: Downloading webpage\n[youtube] BbbhZl8xqVY: Downloading video info webpage\n[youtube] BbbhZl8xqVY: Extracting video information\n[youtube] BbbhZl8xqVY: Downloading js player en_US-vflHuW2fm\nERROR: Signature extraction failed: Traceback (most recent call last):\n  File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 905, in _decrypt_signature\n    video_id, player_url, s\n  File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 820, in _extract_signature_function\n    res = self._parse_sig_js(code)\n  File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 883, in _parse_sig_js\n    initial_function = jsi.extract_function(funcname)\n  File "/usr/lib/python2.7/dist-packages/youtube_dl/jsinterp.py", line 241, in extract_function\n    raise ExtractorError(\'Could not find JS function %r\' % funcname)\nExtractorError: Could not find JS function u\'Ny\'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.\n (caused by ExtractorError(u"Could not find JS function u\'Ny\'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.",)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.\n
Run Code Online (Sandbox Code Playgroud)\n\n

是 YouTube 限制、视频编码问题还是 Ubuntu 签名问题?如果这是 YouTube 限制,那么这是针对所有 YouTube 视频的限制,还是有选择性地实施限制,例如针对新上传的视频,而不针对多年前上传的视频?

\n\n

另一个问题的输出:

\n\n
\n

ERROR: Unable to extract info section; please report this issue on https://yt-dl.org/bug . Be sure to call youtube-dl with the --verbose flag and include its complete output. Make sure you are using the latest version; type youtube-dl -U to update.

\n
\n\n

输出有点不同,不是吗?

\n\n
\n\n

最后还有两个问题需要考虑

\n\n
    \n
  • 虽然 youtube-dl 的升级帮助我解决了我的问题,但它并没有回答我的这个问题:我正在尝试下载具有相同类别/许可证的 2 个视频,第一个工作正常,第二个返回一个例外。
  • \n
  • 另一个问题是在 2013 年写的,我相信从那时起 YouTube 服务和应用程序的访问方式发生了一些变化
  • \n
\n

kar*_*rel 5

python pip install youtube-dl第一个视频使用最近更新的 youtube-dl 版本成功下载,我在 Python 虚拟环境 ( python-virtualenv ) 中使用 python-pip 安装了该版本。有关如何设置和使用 Python 虚拟环境的信息,请参阅如何在 Ubuntu 中设置和使用虚拟 Python 环境?

我用来显示可用视频格式的命令是:

youtube-dl -F "https://www.youtube.com/watch?v=wo6Sq1h2DI4"
Run Code Online (Sandbox Code Playgroud)

我用来下载第一个 YouTube 视频的命令是:

youtube-dl -f 18 "https://www.youtube.com/watch?v=wo6Sq1h2DI4"
Run Code Online (Sandbox Code Playgroud)

第二个视频无法使用youtube-dl下载,但我没有放弃。我通过运行以下命令将我的 youtube-dl 升级到最新版本:

pip install --upgrade youtube-dl  # inside the Python virtual environment
Run Code Online (Sandbox Code Playgroud)

我不需要使用sudo,因为我的Python虚拟环境安装在我自己的用户目录(~/my-Python-virtual-env)中。升级 youtube-dl 后,我运行此命令来下载第二个 YouTube 视频:

youtube-dl -f 18 "https://www.youtube.com/watch?v=BbbhZl8xqVY"
Run Code Online (Sandbox Code Playgroud)

为什么不简单地使用 sudo pip install --upgrade youtube-dl

我使用 Ubuntu 的原因之一是为了逃避 Windows 安装应用程序的疯狂方式。我尽可能从默认的 Ubuntu 存储库安装软件包。在本例中,我知道 youtube-dl 是一个 Python 程序,因此我可以在 Python 虚拟环境中本地安装最新版本的 youtube-dl,而不会弄乱我的文件系统。

另一种选择是安装 youtube-dl snap 包:

sudo snap install youtube-dl # start with snap run youtube-dl 
Run Code Online (Sandbox Code Playgroud)

我相信从现在开始,YouTube 的服务和应用程序的访问方式发生了一些变化。

真的。与三年前相比,谷歌现在更频繁地改变访问 YouTube 视频的方式,因此为了使 youtube-dl 保持最新,它也必须更频繁地更新。多年来我观察到,YouTube 视频被屏蔽的情况主要与上传日期有关。

在开始使用 youtube-dl 之前,我使用了一个名为 Video DownloadHelper 的 Firefox 扩展来下载 YouTube 视频。我开始更喜欢 youtube-dl,因为它在我使用过的所有下载器中成功抓取 YouTube 视频的概率最高。