Skip to content

extract videos from youtube in audio format using webscraping techniques 🎶

License

Notifications You must be signed in to change notification settings

jdaviderb/youtube-audio

Repository files navigation

This gem can extract videos from youtube in audio format using webscraping techniques

Todo

  • Search Videos 🔍
  • Download audio only 🔉
  • Supports download cipher videos 🔑
  • Test coverage 100% 💂‍♂️
  • Add yard to document the project ❗
  • Supports pagination in the Search 💡

Build Status

Features 🚀

Download a video in audio format 🎵

require 'youtube_audio'

youtube = YoutubeAudio::Download.new('https://www.youtube.com/watch?v=xoWRkd3oGcs')

puts youtube.formats # Array<YoutubeAudio::Format>

# =>
# [
#   {
#     "url": "https://r7---sn-ja5gvjv-cvbl.googlevideo.com/vide.........",
#     "mime_type": "audio/mp4;",
#     "audio_quality": "AUDIO_QUALITY_MEDIUM",
#     "approx_duration_ms": "317068"

#   }
# ]

Search videos in youtube 🔍

require 'youtube_audio'

search_items = YoutubeAudio::Search.new('la vida boheme - flamingo').results # Array<YoutubeAudio::SearchItem>

puts search_items.first.title # La Vida Boheme - Flamingo
puts search_items.first.description # Official Music Video
puts search_items.first.formats # Array<YoutubeAudio::Format>

# =>
# [
#   {
#     "url": "https://r7---sn-ja5gvjv-cvbl.googlevideo.com/vide.........",
#     "mime_type": "audio/mp4;",
#     "audio_quality": "AUDIO_QUALITY_MEDIUM",
#     "approx_duration_ms": "317068"

#   }
# ]

Installation

Add this line to your application's Gemfile:

gem 'youtube_audio'

Or install it yourself as:

$ gem install youtube_audio

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/jdaviderb/youtube-audio. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.

License

The gem is available as open source under the terms of the MIT License.