There are plenty of free online portals that help you download YouTube, Facebook, and Twitter embedded videos. These portals process the inputted video URL and make multiple resolutions of the video available for download.
However, if you want to avoid the online video download portals and wish to download YouTube, Facebook, and Twitter videos from your computer directly (without an intermediary), this post is for you.
Download YouTube, Facebook, or Twitter Videos Directly
Youtube-dl.exe is an open-source command-line program that helps you download videos from YouTube, Twitter, Facebook, and many other video platforms. Because it’s a command-line tool, many users tend to ignore this valuable utility. But once you learn the basic command-line parameters, it’s extremely easy to download any video in a single click.
- Download youtube-dl.exe from the following link:
youtube-dl: Download Page: http://ytdl-org.github.io/youtube-dl/download.html
Note: You’ll also need to install Visual C++ 2010 Redistributable Package (x86) in order to run youtube-dl. Else, you’ll get the msvcr100.dll missing error.
- After downloading
youtube-dl.exemove it to the
- Copy the YouTube, Facebook, or a Tweet URL to the clipboard.
- Open a Command Prompt window, and then type:
youtube-dl [url_containing_the_video] -o %(id)s.%(ext)s
IMPORTANT: If a 4K video is the best quality available, that copy will be downloaded if you don’t mention the quality (format code
-f). The best quality also means higher file download size. For video quality selection, you’ll need to use the -f (format) parameter followed by the format code, which denotes the resolution. See Video quality selection section below for details. For social media sharing, 360p or 240p videos would suffice in most cases.
Example for YouTube
[For the best quality video, use this command-line.] Note: *Best quality = high file size* youtube-dl https://www.youtube.com/watch?v=8FNpAjB9oP0 -o %(id)s.%(ext)s [For 360p video quality, use this command-line] youtube-dl -f 18 https://www.youtube.com/watch?v=8FNpAjB9oP0 -o %(id)s.%(ext)s [For worst video quality, use this command-line] youtube-dl -f worst https://www.youtube.com/watch?v=8FNpAjB9oP0 -o %(id)s.%(ext)s
Example for Facebook
youtube-dl https://www.facebook.com/watch/?v=348836293166471 -o %(id)s.%(ext)s
Tidy up the Facebook URL
To avoid errors such as
ERROR: unable to download video data: urlopen error [Errno 8] _ssl.c:510: EOF occurred in violation of protocol, make sure you tidy up the Facebook URL. For instance, if the URL you obtained looks like this:
Clean up the URL by removing the additional letters after the ID. After tidying up, it would look like below:
It’s always a better option to right-click on the Facebook video and click Show video URL and copy the address from there, rather than from the browser’s address bar.
Example for Twitter
youtube-dl https://twitter.com/livefist/status/1299200547149340672 -o %(id)s.%(ext)s
This downloads the best/specified quality video from the mentioned URL to the current working directory.
File download time vs modified time: The downloaded videos would have the same last modified date and time as the last modified date and time of the file in the server. This can be annoying sometimes when you organize downloaded videos on your computer. To set the timestamp to download time instead of video’s last modified server time, also include the
--no-mtime parameter when downloading the videos.
Output file name: The output file template can be customized to your liking. The
-o option allows users to indicate a template for the output file names. To know more about customizing the output file name template, see OUTPUT TEMPLATE section in the youtube-dl documentation.
YouTube and other video hosting platforms store different resolution copies of a video, such as 240p, 360p, 480p, 720p, 1080p, etc for the same URL. Likewise, several audio formats would be available.
To list all available audio and formats of a YouTube, Twitter, or Facebook video, use the
-F parameter, as in the example below. This parameter is case-sensitive.
youtube-dl -F https://www.youtube.com/watch?v=8FNpAjB9oP0
You’ll see an output similar to the following:
format code extension resolution note 249 webm audio only tiny 71k , opus @ 50k (48000Hz), 877.38KiB 250 webm audio only tiny 90k , opus @ 70k (48000Hz), 1.10MiB 140 m4a audio only tiny 130k , m4a_dash container, [email protected] (44100Hz), 1.70MiB 251 webm audio only tiny 163k , opus @160k (48000Hz), 2.02MiB 278 webm 256x144 144p 111k , webm container, vp9, 30fps, video only, 1.24MiB 160 mp4 256x144 144p 112k , avc1.4d400c, 30fps, video only, 1.21MiB 242 webm 426x240 240p 224k , vp9, 30fps, video only, 2.60MiB 133 mp4 426x240 240p 357k , avc1.4d4015, 30fps, video only, 3.07MiB 243 webm 640x360 360p 407k , vp9, 30fps, video only, 4.67MiB 244 webm 854x480 480p 757k , vp9, 30fps, video only, 8.04MiB 134 mp4 640x360 360p 763k , avc1.4d401e, 30fps, video only, 6.51MiB 135 mp4 854x480 480p 1139k , avc1.4d401f, 30fps, video only, 9.79MiB 247 webm 1280x720 720p 1515k , vp9, 30fps, video only, 15.35MiB 136 mp4 1280x720 720p 1909k , avc1.4d401f, 30fps, video only, 14.99MiB 18 mp4 640x360 360p 682k , avc1.42001E, 30fps, [email protected] 96k (44100Hz), 8.95MiB 22 mp4 1280x720 720p 1271k , avc1.64001F, 30fps, [email protected] (44100Hz) (best)
(If you know the format code(s) by heart, you don’t need to issue the above command. Anyway, running the above command can be helpful to know if the specific format of the YouTube video is available in the inventory or not.)
To download the
360p version (format code:
18) of the video, you need to use the following command-line example. Note that this time around, you need to use the small
-f. The parameter is case-sensitive.
youtube-dl -f 18 https://www.youtube.com/watch?v=8FNpAjB9oP0 -o %(id)s.%(ext)s
Alternate video quality & prioritizing
The format codes are standard for every YouTube video. If a format you’re looking for (e.g.,
240p) is not available for the input video URL, then you’ll see the error
ERROR: requested format not available.
You can use other format codes as your 2nd, 3rd, 4th preference, and so on. To do so, if you use
-f 22/17/18 , it will download format
22 if it’s available, otherwise, it will download format
17 if it’s available, otherwise, it will download format
18 if it’s available. If none of the three formats are available, it will complain that no suitable formats are available for download.
What are the “video only” and “audio only” entries?
As you can see in the above screenshot, there are some “video only” and “audio only” streams listed. In some cases, if a particular of the video (e.g.,
240p) may only be available as separate audio and video streams. If you need only that particular resolution of the YouTube, Facebook, or Twitter video, then you need to concatenate the format codes like
-f 247+140 and let youtube-dl.exe combine the streams automatically into an MP4 or MKV container format — whichever format is feasible.
Download 240p resolution YouTube video
If you want to download the
240p version of the video, use this command-line:
youtube-dl -f 133+140 https://www.youtube.com/watch?v=8FNpAjB9oP0 -o %(id)s.%(ext)s
Youtube-dl downloads the video and audio streams separately and then merges the files into a single MP4 or MKV container file.
For more details on this subject, go through the FORMAT SELECTION section of the excellent youtube-dl official documentation.
You can use the
-F parameter for Twitter & Facebook video URLs as well. However, you may not find that much number of video formats in Twitter embedded videos. You’ll see a short list like this:
[twitter] 1299200547149340672: Downloading guest token [twitter] 1299200547149340672: Downloading JSON metadata [twitter] 1299200547149340672: Downloading m3u8 information [info] Available formats for 1299200547149340672: format code extension resolution note hls-256 mp4 480x270 256k , avc1.4d001e, mp4a.40.2 http-256 mp4 480x270 256k hls-832 mp4 640x360 832k , avc1.4d001f, mp4a.40.2 http-832 mp4 640x360 832k hls-2176 mp4 1280x720 2176k , avc1.640020, mp4a.40.2 http-2176 mp4 1280x720 2176k (best)
As you can see in the above table, the format code numbers vary completely for Twitter videos.
And for Facebook videos, you’ll see a different set of format codes, such as the example below:
348836293166471: Downloading webpage 348836293166471: Downloading webpage 348836293166471: Downloading webpage [info] Available formats for 348836293166471: format code extension resolution note 356639258844548a m4a audio only [eng] DASH audio 66k , m4a_dash container, mp4a.40.5 (48000Hz) 2392186321075263v mp4 960x540 [eng] DASH video 124k , mp4_dash container, avc1.4D401F, video only 301104637857927v mp4 960x540 [eng] DASH video 248k , mp4_dash container, avc1.4D401F, video only 368399077486746v mp4 960x540 [eng] DASH video 499k , mp4_dash container, avc1.4D401F, video only 3225713340851625v mp4 960x540 [eng] DASH video 1006k , mp4_dash container, avc1.4D401F, video only 628189178117443v mp4 960x540 [eng] DASH video 1247k , mp4_dash container, avc1.4D401F, video only dash_sd_src mp4 unknown dash_sd_src_no_ratelimit mp4 unknown dash_hd_src mp4 unknown (best)
You can download it from the following link:
Hope the above information helped you download videos from social media easily and quickly, without needing to use an intermediary website to accomplish the task. In one of the upcoming articles, we’ll see how to download a specific segment (time) of a YouTube, Twitter, or Facebook video without having to download the full video first.
One small request: If you liked this post, please share this?One "tiny" share from you would seriously help a lot with the growth of this blog. Some great suggestions:
- Pin it!
- Share it to your favorite blog + Facebook, Reddit
- Tweet it!