ОШИБКА: Не мог извлечь информационный раздел при загрузке видео YouTube youtube-dl

По моему скромному мнению, я не думаю, что этим вопросом является дубликат того, должного эти причины:

  1. Давайте начнем путем рассмотрения заголовков: Как я могу обновить youtube-dl?, ясно фокусирует на отдельном приложении / процедуру обновления вместо этого сообщение об отказе загрузки, не сфокусированном только на одном приложении.
  2. Теги: Этот вопрос: видео, загрузки, YouTube. Другой: склонный, обновления, YouTube. У них только есть общий тег YouTube.
  3. Эти два вопроса имеют перекрывающиеся темы, но они не идентичные вопросы, потому что темой другого вопроса является подмножество темы этого.

Теперь давайте посмотрим больше аргументов (в круглых скобках):


Я пытаюсь загрузить некоторые видео YouTube сначала Firefox + Видео DownloadHelper, затем VLC и наконец программой youtube-dl и существует что-то, что блокирует их.

(Другой: "Я использую youtube-dl для загрузки видео для наблюдения позже офлайн", снова этот вопрос фокусируется на загрузке, блокирующейся в YouTube независимо от приложения и другого в единственном приложении (youtube-dl)),

На экранах описания я не вижу ограничения о загрузке.

(Это не упоминается в другом вопросе.)

Пример: я пытаюсь загрузить 2 видео той же категорией/лицензией, первое хорошо работает и вторые возвраты исключение:

luis@jupiter:~$ youtube-dl "https://www.youtube.com/watch?v=wo6Sq1h2DI4"
[youtube] wo6Sq1h2DI4: Downloading webpage
[youtube] wo6Sq1h2DI4: Downloading video info webpage
[youtube] wo6Sq1h2DI4: Extracting video information
[youtube] wo6Sq1h2DI4: Downloading MPD manifest
WARNING: Requested formats are incompatible for merge and will be merged into mkv.
[download] Destination: SÂNSCRITO - Aula 6 (Consoantes Mudas Dentais) com Jonas Masetti-wo6Sq1h2DI4.f137.mp4
[download] 100% of 142.54MiB in 04:11
[download] Destination: SÂNSCRITO - Aula 6 (Consoantes Mudas Dentais) com Jonas Masetti-wo6Sq1h2DI4.f251.webm
[download] 100% of 8.75MiB in 00:16
[ffmpeg] Merging formats into "SÂNSCRITO - Aula 6 (Consoantes Mudas Dentais) com Jonas Masetti-wo6Sq1h2DI4.mkv"
Deleting original file SÂNSCRITO - Aula 6 (Consoantes Mudas Dentais) com Jonas Masetti-wo6Sq1h2DI4.f137.mp4 (pass -k to keep)
Deleting original file SÂNSCRITO - Aula 6 (Consoantes Mudas Dentais) com Jonas Masetti-wo6Sq1h2DI4.f251.webm (pass -k to keep)
luis@jupiter:~$ youtube-dl "https://www.youtube.com/watch?v=BbbhZl8xqVY"
[youtube] BbbhZl8xqVY: Downloading webpage
[youtube] BbbhZl8xqVY: Downloading video info webpage
[youtube] BbbhZl8xqVY: Extracting video information
[youtube] BbbhZl8xqVY: Downloading js player en_US-vflHuW2fm
ERROR: Signature extraction failed: Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 905, in _decrypt_signature
    video_id, player_url, s
  File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 820, in _extract_signature_function
    res = self._parse_sig_js(code)
  File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 883, in _parse_sig_js
    initial_function = jsi.extract_function(funcname)
  File "/usr/lib/python2.7/dist-packages/youtube_dl/jsinterp.py", line 241, in extract_function
    raise ExtractorError('Could not find JS function %r' % funcname)
ExtractorError: 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.
 (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.

Действительно ли это - ограничение YouTube, проблема кодирования видео или проблема подписи Ubuntu? Если это - ограничение YouTube, действительно ли это - ограничение для всех видео YouTube, или ограничение работает выборочно, например, для недавно загруженных видео, но не для видео, которые были несколько загруженных годы назад?

Вывод другого вопроса:

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.

(Немного отличающийся вывод, не так ли?)


Наконец существует еще две проблемы, которые рассмотрят:

  • Хотя обновление youtube-dl помогло мне решить свою проблему, оно не ответило на этот объект моего вопроса: я пытаюсь загрузить 2 видео той же категорией/лицензией, первое хорошо работает и вторые возвраты исключение.
  • Другой вопрос был записан в 2013, и я полагаю, что с тех пор некоторые вещи изменились в сервисе YouTube и способе приложений получить доступ к нему.
1
задан 13 April 2017 в 15:24

2 ответа

Первое видео загрузило успешно недавно обновленной версией youtube-dl, который я установил с зернышком Python с помощью python pip install youtube-dl внутренняя часть виртуальная среда Python ( python-virtualenv ). Для получения информации о том, как установить и использовать виртуальную среду Python, видят , Как настроить и использовать виртуальную среду Python в Ubuntu? .

команда я раньше показывал, что доступные форматы видео были:

youtube-dl -F "https://www.youtube.com/watch?v=wo6Sq1h2DI4"

команда я раньше загружал первое видео YouTube, был:

youtube-dl -f 18 "https://www.youtube.com/watch?v=wo6Sq1h2DI4"

второе видео не могло быть загружено с помощью youtube-dl, но я не сдавался. Я обновил свой youtube-dl до последней версии путем выполнения:

pip install --upgrade youtube-dl  # inside the Python virtual environment

я не должен был использовать sudo, потому что моя виртуальная среда Python была установлена в моем собственном пользовательском каталоге (~/my-Python-virtual-env). После обновления youtube-dl я выполнил эту команду для загрузки второго видео YouTube:

youtube-dl -f 18 "https://www.youtube.com/watch?v=BbbhZl8xqVY"

, Почему не просто используют sudo pip install --upgrade youtube-dl ?

Одна из причин я использую Ubuntu, должен выйти из безумия способа, которым Windows устанавливает приложения. Я устанавливаю пакеты из репозиториев Ubuntu по умолчанию, когда это возможно. В этом случае я знаю, что youtube-dl является программой Python, таким образом, я могу локально установить последнюю версию youtube-dl в виртуальной среде Python, не портя мою файловую систему.

Другая альтернатива должна установить пакет снимка youtube-dl:

sudo snap install youtube-dl # start with snap run youtube-dl 

я полагаю этому, так как с этого времени некоторые вещи изменились в сервисе YouTube и способе приложений получить доступ к нему.

Верный. Google изменял способ получить доступ к видео YouTube более часто теперь, чем имел место три года назад, поэтому для держания YouTube-dl в курсе, он должен быть обновлен более часто также. Я заметил за эти годы, что видео YouTube, кажется, заблокированы главным образом связанные с датой, когда они были загружены.

, Прежде чем я начал использовать youtube-dl, я использовал расширение Firefox под названием Видео DownloadHelper для загрузки видео YouTube. Я приехал для предпочтения youtube-dl, потому что это имеет самую высокую вероятность успешного захвата видео YouTube любого загрузчика, который я когда-либо использовал.

4
ответ дан 3 December 2019 в 06:31

Способность загрузить видео с YouTube является постоянным сражением, поскольку компания стремится ограничить доступ на сайт методами, которые они предпочитают. Из Условий предоставления услуг YouTube:

Вы соглашаетесь не получить доступ к Содержанию через любую технологию или средства кроме страниц воспроизведения видео самого Сервиса, Встраиваемый Плеер, или другой явно авторизованный подразумевает, что YouTube может определять.

производители youtube-dl лет постоянно пытаются соответствовать изменениям, внесенным YouTube, которые имеют целью регулировать пользователя назад к их предпочтительному методу доступа. Это - то, против чего Вы увеличили с Вашей собственной загрузкой.

версия репозитория youtube-dl в возрасте версии 2016.02.22, и линии фронта давно шли дальше оттуда с новый создание отчетов версии:

andrew@ilium~$ youtube-dl --version
2016.08.10

рекомендуемый метод для обновления youtube-dl прибывает из youtube-dl страница загрузки, измененная немного для удаления версии репозитория Ubuntu:

sudo apt-get remove youtube-dl
sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl
sudo chmod a+rx /usr/local/bin/youtube-dl

На этой той же странице загрузки Вы будете видеть инструкции для обновления с завихрением и зернышком, использовать, какой бы ни Вы предпочитаете, поскольку конечным результатом является то же. Важный для удаления версии репозитория, хотя, Вам только нужен один youtube-dl исполняемый файл.

Примечание: При тестировании на моем собственном обновлении системы этим способом решил Вашу проблему полностью и успешно загрузил оба видео.

, Если Вам любопытно, имеют взгляд здесь , где борьба ведется, извлекая адрес из страницы YouTube (эта страница, показывающая источник Вашей ошибки), и посмотрите, что усилия должны были обеспечить достойное соответствие для успешной загрузки.

Ссылки:

2
ответ дан 3 December 2019 в 06:31

Другие вопросы по тегам:

Похожие вопросы: