+9

Tải file mp3 từ Youtube bằng 1 câu lệnh Linux

Đôi lúc bạn không muốn nghe nhạc hay xem các video trực tuyến nữa mà muốn tải chúng về điện thoại để nghe offline bằng file mp3, thông thường bạn tìm đến Google và search ra một đống website chuyên convert từ Youtube video sang mp3, nhưng mình dạo 1 vòng thì thấy đầy quảng cáo khó chịu và rất nhức mắt. Có 1 cách đơn giản hơn nhiều cho những ai đang dùng Unix OS. Ở đây chúng ta sẽ sử dụng gói thư viện youtube-dl nổi tiếng. Vậy còn chần chờ gì nữa, cùng tìm hiểu nào:

youtube-dl là gì?

Được viết bằng python, gói thư viện này là một trong những công cụ mạnh mẽ và phổ biến nhất để download videos, audio không chỉ từ YouTube mà còn từ rất nhiều nguồn khác như SoundCloud, Facebook, Vimeo ... Đây là danh sách những websites có thể download được bằng youtube-dl. Vậy làm cách nào để sử dụng?

Cài đặt youtube-dl và ffmpeg

Việc cài đặt rất đơn giản, chỉ cần chạy dòng lệnh Linux sau:

sudo apt-get install youtube-dl ffmpeg

Tuy nhiên để chạy ngon lành và tránh các lỗi có thể xảy ra, bạn có thể tự cài thủ công:

sudo curl -L https://yt-dl.org/latest/youtube-dl -o /usr/local/bin/youtube-dl
sudo chmod a+rx /usr/local/bin/youtube-dl

Đối với các hệ điều hành khác, bạn có thể tham khảo cách cài đặt tại đây. Hoặc đọc kĩ hơn tại file README.

Cách sử dụng

Để download video, đơn giản chỉ cần mở terminal và chạy lệnh sau:

youtube-dl video_link
# Ví dụ: youtube-dl https://www.youtube.com/watch?v=tUQvAffpai0

Để download playlist từ YouTube:

youtube-dl -citk --max-quality FORMAT http://www.youtube.com/playlist?list=Playlist-ID

Các options bạn có thể tham khảo thêm tại file README nói trên.

Tuy nhiên, mục đích của chúng ta không phải là tải video mà là convert video sang định dạng mp3. Chính vậy nên đọc kĩ lại cú pháp rồi thêm các options sau:

youtube-dl --extract-audio --audio-format mp3 --audio-quality 0 --ignore-errors -o "%(title)s.%(ext)s" $@  video_link

Trong đó:

  • --audio-format: chọn định dạng cần tải về, ở đây chọn mp3
  • --audio-quality: 0 là cao nhất, 9 là thấp nhất.

Để đơn giản hơn mà không phaỉ nhớ câu lệnh dài, bạn có thể tạo 1 file đặt tên là dowloadmp3, copy đoạn lệnh trên vào. Như vậy trong file downloadmp3:

youtube-dl --extract-audio --audio-format mp3 --audio-quality 0 --ignore-errors -o "%(title)s.%(ext)s" $@

Sau đó copy file này vào thư mục /usr/local/bin bằng lệnh:

sudo cp downloadmp3 /usr/local/bin/

Rồi cho nó quyền thực thi:

cd /usr/local/bin
sudo chmod a+rx downloadmp3

Và kết quả

Bây giờ muốn download file nào từ YouTube, chỉ cần đứng ở thư mục cần lưu file và chạy: (Ở đây mình lưu ở /Downloads)

cd /Downloads
downloadmp3 https://www.youtube.com/watch?v=Llw9Q6akRo4

Và kết quả:

➜  Downloads downloadmp3 https://www.youtube.com/watch\?v\=Llw9Q6akRo4
[youtube] Llw9Q6akRo4: Downloading webpage
[youtube] Llw9Q6akRo4: Downloading video info webpage
[youtube] Llw9Q6akRo4: Extracting video information
[youtube] Llw9Q6akRo4: Downloading MPD manifest
[download] Destination: LẠC TRÔI _ OFFICIAL MUSIC VIDEO _ SƠN TÙNG M-TP.webm
[download] 100% of 4.19MiB in 00:00
[ffmpeg] Destination: LẠC TRÔI _ OFFICIAL MUSIC VIDEO _ SƠN TÙNG M-TP.mp3
Deleting original file LẠC TRÔI _ OFFICIAL MUSIC VIDEO _ SƠN TÙNG M-TP.webm (pass -k to keep)

Ngon lành (yaoming)! Chỉ 4.19mb cho file mp3, tha hồ lưu vào điện thoại :v

Tham khảo:

https://github.com/rg3/youtube-dl

Update 06/12/2018

Google đã update cách access vào video trên youtube, chúng ta cần update youtube-dl lên phiên bản mới nhất (latest version), so: Nếu bạn cài bằng pip:

sudo apt install python-pip
sudo pip install youtube-dl
sudo pip install --upgrade youtube-dl 

Còn ko thì:

youtube-dl -U

everythings up-to-date!


All Rights Reserved

Viblo
Let's register a Viblo Account to get more interesting posts.