Play from youtube skill

hi, im new in this forum and decided to create an account and share some of the skills ive done for my mycroft, ive started cleaning them and uploading to github (1st time working with github!) i have some c++ coding experience and just started coding in python, honestly the simplicity leaves me scratching my head sometimes, i like to declare the types of my variables… enough ranting ets talk about this simple skill

PLAY FROM YOUTUBE SKILL

This skill illustrates a very simple general music player. It works by downloading
music files from youtube and playing with Cvlc, at same time building an mp3 library on disk

Its intended to be a cheap way to play anything without any account (eg. spotify) or having a music library on disk

requires pafy and youtube-dl for youtube searching and cvlc for playing

all my skills were for personal use and may need some adjustment, maybe some hardcoded path or not very good python practices (first time working with python like i said), suggestions are welcome :slight_smile:

just noticed someone added a youtube skill to mycroft-skills repo, it may be better suited than this one, i intentionally made it a little more complex than needed hoping i could extend it later

Known issues:

  • Random errors downloading, i think when 1st search result is a playlist?
  • Random errors loading file, probably forbidden chars in youtube result name, unsure if proposed fix worked because im unsure of error source but didnt get this error anymore
    -Stop isnt working, but i think its my mycroft instance that is broken (doesnt work in any skill)

TODO:

-Maybe converting to mp3 and use playmp3 util function so cvlc is not needed (probably would need lame then)
or -Play youtube video url directly without download, some other dependency would be introduced instead of cvlc and no library is created but removes pafy and youtube-dl dependences
-Handle queuing up multiple songs
-Refine video search
-Fix know issues

link:

https://github.com/JarbasAI/mycroft-music-skill

1 Like

man , this skill is great but how to add it to mycroft-core . i am also new here :slight_smile:

just create a musicskill folder in your skills folder and download/git clone the repo to it :slight_smile:

Hello Jarbas!

I’ve installed your skill on my picroft (Raspberry Pi) and when I say: Hey mycroft - Play youtube I get this missage and nothing happens:

Could you help me? Thanks!

skill is currently not working, code was a mess, i started over but for some reason now get 0second files after download

do not use until fixed

Oh ok! I didn’t know that. I’ll wait until going to be fixed :wink:

A great skill…

Can’t wait for you to fix it, please let us know when you do :slight_smile:

Nathan

1 Like

So I’m guessing this never got fixed?

As far as I can tell there isn’t currently a functional YouTube skill.

There are a few out in the wild, but none that have been officially reviewed so not in the Marketplace at the moment.

I haven’t tried any of these myself nor looked at the code, so can’t vouch for them, but if you are happy to install from untested Skills, the best bet is probably:

and for desktop users wanting to actually watch the video:

We also have a brand new one coming that uses our new GUI Framework. So that will work for the Mark II and Plasma users:

I’m trying to get YouTube working on a headless Picroft and as far as I can tell not one of those works.

I imagine it should be fairly straightforward to output a video stream to ffmpeg and have it transcode or otherwise strip out just the audio. Admittedly that does mean I need to learn how Python classes work!

1 Like

I put together a skill to play audio from youtube:

Feedback welcome in that thread or on gitlab.

2 Likes

Just looking for a skill doing EXACTLY this.

It works great so far.

1 Like

Hey guys,

do you have some issue with youtube skills to recently ? Can’t load music since 2 days, it’s telling me that no result have been found , maybe youtube update something ?

I am having a similar issue with my Kodi-skill, it is no longer returning youtube links either so something has changed.

Acutally trying to debug it (lol first time I’m seeing python script). It seem that if you change skill to load only one music it’s working. So I think that the issue is with youtube-dl who can scrap youtube video because maybe youtube has made some changes

Looks like the playlist ID is formatted differently. The regex is failing in my kodi-skill.
These no longer work for me…

all_video_links = re.findall(r'href=\"\/watch\?v=(.{11})', html.decode())
all_playlist_results = re.findall(r'href=\"\/playlist\?list\=(.{34})', html.decode())

These do work…

all_video_links = re.findall(r'/watch\?v=(.{11})', html.decode())
all_playlist_results = re.findall(r'list\=(.{18})', html.decode())

Not sure this is any help to anyone but me but thought I would put it out there. I am going to dig in when I get some time.

I tried to download Jarbais plugin but the github seem no longer maintained, do you have a fork ?

Anyone having any luck with youtube… having same issue with youtube skill stopped working few days ago … saying “no results found”

1 Like

Same issue here. Was using Mcdruid plugin and since few days it’s ‘no result found’ :confused:

There are several youtube skills scattered throughout the community. What skill(s) are having issues. From my own testing it looks like the regex is failing on most of these due to a change in youtube. I have seen a similar issue with my Kodi-skill that I am correcting.
image
@mcdruid may be able to assist with their skill.

1 Like