web-dev-qa-db-fra.com

Comment télécharger des vidéos Facebook en ligne de commande?

J'essaie de télécharger des vidéos de Facebook à partir de la ligne de commande. C'est ce que j'ai utilisé:

youtube-dl https://www.facebook.com/Roscosmos/videos/2032700800317930

Et par conséquent, je reçois ce message d'erreur:

[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>

J'ai essayé de suivre les instructions de ici . Plus en détail, j'ai utilisé:

youtube-dl https://www.facebook.com/videos.php?v=2032700800317930

Mais j'ai toujours le même problème. Mettre l'URL dans les guillemets n'aide pas aussi bien.

2
Roman

Quelle version de Ubuntu et de youtube-dl utilisez-vous?

Pour vous assurer que vous utilisez le dernier youtube-dl disponible, faites ce qui suit :

Sudo add-apt-repository ppa:nilarimogard/webupd8 
Sudo apt-get update
Sudo apt-get install youtube-dl

Après avoir effectué ce qui précède dans Ubuntu 14.04 Trusty, j’ai eu la version 2018.01.07 de youtube-dl et j’ai pu télécharger la vidéo en question:

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

Le téléchargement de la vidéo échoue maintenant, cependant, pour une autre raison. Il ne téléchargera qu'une partie de la vidéo et ne poursuivra pas.

La raison en est que youtube-dl utilise libav pour combiner les fichiers téléchargés, alors que libav disponible dans le système est obsolète - youtube-dl attend la version 10.0 au minimum. , mais le système a 9.2:

dpkg -l | grep libav-tools
ii  libav-tools                       6:9.20-0ubuntu0.14.04.1                    AMD64        Multimedia player, server, encoder and transcoder

Bizarrement, je n’ai trouvé aucun moyen rapide d’installer la dernière version de libav dans Ubuntu 14.04.

Je suppose qu'à ce stade, le seul moyen de faire fonctionner ce youtube-dl serait de compiler et d'installer libav manuellement - https: //libav.org/download/ .

Quelqu'un est tombé sur un problème similaire qui l'obligeait à comprendre comment construire libav. Voici les instructinos détaillés étape par étape: http://xiemingzhi.github.io/2016/03/25/installing-libav-on-ubuntu-1404-trusty

2
gmile