Как скачать видео с Facebook из командной строки?
Я пытаюсь скачать видео с Facebook из командной строки. Это то, что я использовал:
youtube-dl https://www.facebook.com/Roscosmos/videos/2032700800317930
И в результате я получаю это сообщение об ошибке:
[generic] 2032700800317930: Requesting header
WARNING: Falling back on generic information extractor.
[generic] 2032700800317930: Downloading webpage
ERROR: Unable to download webpage: <urlopen error [Errno 8] _ssl.c:510: EOF occurred in violation of protocol>
Я пытался следовать инструкциям отсюда. Более подробно я использовал:
youtube-dl https://www.facebook.com/videos.php?v=2032700800317930
Но у меня все та же проблема. Помещение URL в кавычки также не помогает.
1 ответ
Какую версию Ubuntu & youtube-dl вы используете?
Чтобы убедиться, что вы используете последнюю версию youtube-dl
доступно, сделайте следующее:
sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install youtube-dl
После выполнения вышесказанного в Ubuntu 14.04 Trusty я получил 2018.01.07
версия youtube-dl
и был в состоянии загрузить рассматриваемое видео:
youtube-dl 'https://www.facebook.com/Roscosmos/videos/2032700800317930'
WARNING: Assuming --restrict-filenames since file system encoding cannot encode all characters. Set the LC_ALL environment variable to fix this.
[facebook] 2032700800317930: Downloading webpage
WARNING: Your copy of avconv is outdated and unable to properly mux separate video and audio files, youtube-dl will download single file media. Update avconv to version 10-0 or newer to fix this.
[download] Destination: _-2032700800317930.mp4
[download] 100% of 3.36MiB in 00:01
Однако загрузка видео не удалась по другой причине. Он загрузит только одну часть видео и не будет дальше.
Причина в том, что youtube-dl
использования libav
объединить загруженные файлы, в то время как libav
доступно в системе устарело - youtube-dl
ожидается версия как минимум 10.0, но система имеет 9.2:
dpkg -l | grep libav-tools
ii libav-tools 6:9.20-0ubuntu0.14.04.1 amd64 Multimedia player, server, encoder and transcoder
Как ни странно, я не смог найти быстрый способ установить последнюю версию libav в Ubuntu 14.04.
Я думаю, на данный момент единственный способ сделать это youtube-dl
работа будет заключаться в том, чтобы собрать и установить libav вручную - https://libav.org/download/.
Кто-то действительно наткнулся на похожую проблему, которая потребовала от него выяснить, как создать libav. Вот подробные пошаговые инструкции: http://xiemingzhi.github.io/2016/03/25/installing-libav-on-ubuntu-1404-trusty