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>
here の指示に従うことを試みました。より詳細に、私は使用しました:
youtube-dl https://www.facebook.com/videos.php?v=2032700800317930
しかし、私はまだ同じ問題を抱えています。 URLを引用符で囲むことも役に立ちません。
どのバージョンの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
は outdated – 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
奇妙なことに、Ubuntu 14.04に最新のlibavをすばやくインストールする方法が見つかりませんでした。
この時点でこのyoutube-dl
を機能させる唯一の方法は、libavを手動でビルドしてインストールすることだと思います– https: //libav.org/download/ 。
誰かが実際にlibavを構築する方法を理解する必要がある同様の問題に出くわしました。詳細な手順は次のとおりです。 http://xiemingzhi.github.io/2016/03/25/installing-libav-on-ubuntu-1404-trusty