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 ...
Đô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