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:

3 Likes

Hi qqtvn.
Nếu máy của bạn có nhiều người dùng và cũng dùng tool thì mới nên đưa vào /usr/local/bin còn không thì tạo thư mục ẩn trong home của mình để lưu trữ các file thực thi hay kịch bản tự tạo dùng cho cá nhân như thế dễ sửa và sao lưu lại cũng đơn giản hơn.

theo mình biết thì trong thư mục bin thường để chứa các file thực thi, dù nó có là binary hay ko. Nhưng ý bạn cũng là ý hay vì thường muốn sửa các file trong thư mục này đều cần đến sudo nautilus.

Hi qqtvn.
Cái đo thì đúng nhưn bạn có thể tìm hiểu thêm tại sao lại có nhiều thư mục bin như vậy và tác dụng của chúng:
/sbin
/bin
/usr/bin
/usr/sbin
/usr/local/bin (Thư mục /usr/local và /usr có cấu trúc gần như nhau.)
/usr/local/sbin
Tất cả để chứa file thực thi cả.

1 Like

Mình thì thích thể loại Epic Music, cũng hay tải nhạc trên Youtube. Nên có viết một hướng dẫn Tải nhạc MP3 từ Youtube dùng Youtube-DL và Firefox.

Nếu lười thì cài youtube-dlG cho nhanh. :sweat_smile:

3 Likes

cái youtube-dl này có một số điều luât khắc khe.
những trang chia sẽ phim bản quyền lậu là nó cấm triệt luôn không cho đóng góp code lên github. phimmoi, phimbathu, hdonline.
mỗi lần muốn down nhanh 1 loạt series phim thì cũng phải import copy paste hết cả hơi…
mà mấy porn site chúng nó lại support tận răng.

3 Likes

có vậy nữa hả :v, mình chưa thử nên ko biết nữa :v

Mình dùng Youtube-dl àm nhìu khi k tải đc nên đổi qua dùng CCLIVE : https://apps.ubuntu.com/cat/applications/cclive

Ngon phết :wink:

2 Likes

Hay quá, cái này có thể dùng cho trợ lý ảo Ubuntu của em :smiley:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?