20

I am unable to download Facebook video using youtube-dl. The following error occurs during downloading:

$ youtube-dl https://www.facebook.com/video.php?v=10152588878600983&set=vb.107925785982&type=2&theater
[1] 5101
[2] 5102
[3] 5103
theater: command not found
[2]-  Done                    set=vb.107925785982
[3]+  Done                    type=2
[2]-  Done                    set=vb.107925785982
[3]+  Done                    type=2
$ [generic] video: Requesting header

$ WARNING: Falling back on generic information extractor.
[generic] video: Downloading webpage
ERROR: Unable to download webpage: <urlopen error [Errno 8] _ssl.c:510: EOF occurred in violation of protocol>

[1]+  Exit 1                  youtube-dl
https://www.facebook.com/video.php?v=10152588878600983
muru
  • 197,895
  • 55
  • 485
  • 740
Madhav Nikam
  • 2,907

6 Answers6

18

When using youtube-dl try to clean up the URL you use. For example, the following URL will work. Thanks for the video ^_~.

How did you install youtube-dl? If you installed it through apt, I would recommend the following:

sudo apt-get remove youtube-dl
sudo apt-get install $(apt-cache depends youtube-dl | grep Depends | sed "s/.*ends:\ //" | tr '\n' ' ')
sudo pip install youtube-dl

pip seems to have a more up-to-date version.

Some characters need to be escaped to prevent issues. You can single-quote your URL to help prevent these issues:

  • youtube-dl 'https://domain.tld/path/file.ext'
earthmeLon
  • 11,247
  • mrn@madhavnikam-Aspire-E5-511:~$ youtube-dl https://www.facebook.com/video.php?v=10152588878600983 [generic] video: Requesting header WARNING: Falling back on generic information extractor. [generic] video: Downloading webpage ERROR: Unable to download webpage: <urlopen error [Errno 8] _ssl.c:510: EOF occurred in violation of protocol> mrn@madhavnikam-Aspire-E5-511:~$ – Madhav Nikam May 22 '15 at 20:33
  • this is also not work. – Madhav Nikam May 22 '15 at 20:33
  • 1
    You're not using the URL I gave you. Put that HTTPS in there! – earthmeLon May 22 '15 at 20:37
  • mrn@madhavnikam-Aspire-E5-511:~$ youtube-dl https://www.facebook.com/video.php?v=10152588878600983 [generic] video: Requesting header WARNING: Falling back on generic information extractor. [generic] video: Downloading webpage ERROR: Unable to download webpage: <urlopen error [Errno 8] _ssl.c:510: EOF occurred in violation of protocol> mrn@madhavnikam-Aspire-E5-511:~$ – Madhav Nikam May 22 '15 at 20:41
  • i think "https" is not display in comment box. but i put your link as it is. – Madhav Nikam May 22 '15 at 20:42
  • now new problem occurred .
    1. I can't have root/admin or sudo privilege. and my Ubuntu software center Hang and freezes down. :(
    – Madhav Nikam May 22 '15 at 20:54
  • Would you like to chat? – earthmeLon May 22 '15 at 20:58
  • yes! its better way to explain my question but i does not know how to chat. I think i am new member and do not have CHAT privilege. – Madhav Nikam May 22 '15 at 21:04
  • If you link your account to stackoverflow, I can invite you. – earthmeLon May 22 '15 at 21:07
  • -1 This doesn't solve the problem, that the shell interprets some characters in the URL as shell syntax. This has nothing to do with youtube-dl, but with Bash. See the other answer. – David Foerster May 24 '15 at 10:01
  • He already tried using a simpler URL, and he's now getting an SSL error, @DavidFoerster. It's also the first thing I suggest. – earthmeLon May 24 '15 at 19:27
  • @earthmeLon: Thanks. I see that now and will revert my vote, if you edit your answer. This is what happens, when question authors add relevant infos in comments to answer instead of editing the question. – David Foerster May 24 '15 at 21:55
  • @MadhavNikam: As you seem to have a different problem now, that doesn't appear in your question, it would be better, if you either 1) edit your question to include the new problem or 2) ask a new question about the new problem. Otherwise it's going to be hard for other people to follow you, because this type of conversation doesn't fit the question & answer style on this platform. – David Foerster May 24 '15 at 21:57
  • $ sudo apt-get install $(apt-cache depends youtube-dl | grep Depends | sed "s/.*ends:\ //" | tr '\n' ' ')

    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    E: Unable to locate package <python

    – Madhav Nikam Jun 03 '15 at 19:56
  • @MadhavNikam you would have discovered or posting after many months ... use single quotes instead of double quotes to enclose the URL, this worked for me like a charm: youtube-dl -f progressive_hd_src_no_ratelimit 'https://www.facebook.com/video.php?v=10152588878600983&set=vb.107925785982&type=2&theater'. I am using latest version of youtube-dl though ... – AjayKumarBasuthkar Dec 14 '18 at 12:58
  • 1
    @AjayKumarBasuthkar yes! problem was solved and youtube-dl latest updates are very good... and now single quotes are not also require. – Madhav Nikam Dec 26 '18 at 04:06
11

You have to escape ampersands (&) or put the whole URL in quotes since ampersand is one of the special characters that's interpreted by your shell and prevents you from passing the whole URL to youtube-dl. More on this. So just putting it in single quotes will suffice:

youtube-dl 'https://www.facebook.com/video.php?v=10152588878600983&set=vb.107925785982&type=2&theater'
Evan Carroll
  • 7,526
dstftw
  • 298
  • $ youtube-dl "https://www.facebook.com/video.php?v=10152588878600983&set=vb.107925785982&type=2&theater" [generic] video.php?v=10152588878600983&set=vb: Requesting header WARNING: Falling back on generic information extractor. [generic] video.php?v=10152588878600983&set=vb: Downloading webpage ERROR: Unable to download webpage: <urlopen error [Errno 8] _ssl.c:510: EOF occurred in violation of protocol> $ – Madhav Nikam May 23 '15 at 17:26
  • @MadhavNikam: Please edit your question, if you want to add information. Especially file or program output listings (with the help of the {} button in the editor toolbar) are much more readable there and overall it's best to have everything relevant in one place. Also, comments may be deleted for various reasons. – David Foerster May 24 '15 at 10:00
3

This worked in my Linux Mint 18.3-cinammon maybe it could work in yours.You can download video in facebook using youtube-dl by appending Facebook username and password as shown below:

youtube-dl <url> --username <YOUR_USERNAME> --password <YOUR_PASSWORD>

I hope this help. Thank you.

Eric Carvalho
  • 54,385
k mak
  • 31
  • 1
  • 1
    I tried, if you have 2FA enable it doesn't work. I also tried with a new account and I get Cannot Parse Data. – Natim Jul 20 '18 at 12:59
3
  1. right click on the video > click on "show the video URL" > copy the URL there come (NOT the URL of the facebook page).

  2. Then, paste the URL copied on the terminal next to 'youtube-dl'

    Ex.: youtube-dl https://www.facebook.com/Amhara-Mass-Media-Agency-118697174971952/

msrt
  • 31
1
youtube-dl --username xxxxx --password xxxxx -t -f mp4 'https://www.facebook.com/xxxxx/videos/123456789'
Kulfy
  • 17,696
John
  • 171
  • 1
  • 2
  • 7
  • To make this answer clearer, you need to have a Facebook account and you need to provide your Facebook email address and your Facebook password on the command-line in the places marked with xxxx – Flimm Jul 04 '21 at 14:43
0

I try download these video through wine+Youtube-dl and its working. I my case I was install YouTube-dl by Ubuntu software center. Now my software center is not work. Therefore I am unable to Update YouTube-dl through Terminal. Updated version of YouTube-dl may solve that issue. wine+youtube-dl Step1:- first install and configure wine.
Step2:- download youtube-dl.exe 2016.01.15
step3:- copy youtube-dl.exe in to /home/youru_username/.wine/drive_c/folder_for_youtube-dl
enter image description here step4:- open cmd.exe from /home/madhavnikam/.wine/drive_c/windows/system32
enter image description here
Note:- youtube-dl is a folder in which youtube-dl.exe file is copied.
step5:- type cd\ in cmd and set path like c:\youtube-dl\
enter image description here More Info 1)How to install Wine in Ubuntu.
2)youtube-dl exe version download and copy to C_drive folder of .wine folder.

Madhav Nikam
  • 2,907
  • Above solution is not proper solution but that solution solve my problem. Update your Youtube-dl through Terminal or Ubuntu software center it is better solution if your software center is working – Madhav Nikam Jun 01 '15 at 04:32
  • @DavidFoerster thanks. I remember your suggestions for future. – Madhav Nikam Jan 03 '16 at 13:40
  • For everybody else: youtube-dl can be run natively in Ubuntu/Linux at least just as easily. No need to involve Wine. – David Foerster Jan 03 '16 at 17:07
  • @DavidFoerster this answer just give for another way if Ubuntu software center is no working or sudo privilege is not available. I agree youtube-dl is natively run in Linux. – Madhav Nikam Jan 04 '16 at 13:14
  • There is a native version of youtube-dl available, that doesn't require super-user privileges or package management. – David Foerster Jan 04 '16 at 19:32
  • @DavidFoerster ok thanks for giving unambiguous knowledge and clear doubts about it. – Madhav Nikam Jan 05 '16 at 13:01