[PLUGIN] YouTube Music

Starting Live Log…
Soliciting pool server 203.113.174.44
Soliciting pool server 203.113.174.44
Soliciting pool server 162.159.200.123
Soliciting pool server 203.210.197.214
Soliciting pool server 203.210.197.214
Soliciting pool server 203.210.197.214
info: CALLMETHOD: system_controller system enableLiveLog true
info: CoreCommandRouter::executeOnPlugin: system , enableLiveLog
info: Launching a new LiveLog session
info: Killing previous LiveLog session
process exited with code nullinfo: Live Log process terminated: null
Searching plugin music_service/ytmusic
info: CoreCommandRouter::executeOnPlugin: ytmusic , search
info: All search sources collected, pushing search results
Searching plugin music_service/ytmusic
info: CoreCommandRouter::executeOnPlugin: ytmusic , search
info: All search sources collected, pushing search results
Searching plugin music_service/ytmusic
info: CoreCommandRouter::executeOnPlugin: ytmusic , search
info: All search sources collected, pushing search results
Searching plugin music_service/ytmusic
info: CoreCommandRouter::executeOnPlugin: ytmusic , search
info: All search sources collected, pushing search results
info: CoreCommandRouter::executeOnPlugin: ytmusic , handleBrowseUri
info: [ytmusic-browse] browseUri(ytmusic/search@query=B%C4%83ng%20ki%E1%BB%81u/playlist@playlistId=VLPLmfPS6WePPAEtSu37MVSlAmsXEP9eeqag)
info: CoreCommandRouter::volumioReplaceandPlayItems
info: CoreStateMachine::ClearQueue
info: CoreStateMachine::stop
info: CoreStateMachine::setConsumeUpdateService undefined

info: CorePlayQueue::clearPlayQueue
info: CorePlayQueue::saveQueue
info: CoreCommandRouter::volumioPushState
info: CoreCommandRouter::volumioPushQueue
info: CoreStateMachine::addQueueItems
info: CorePlayQueue::addQueueItems
info: Adding Item to queue: ytmusic/playlist@playlistId=VLPLmfPS6WePPAEtSu37MVSlAmsXEP9eeqag
info: Exploding uri ytmusic/playlist@playlistId=VLPLmfPS6WePPAEtSu37MVSlAmsXEP9eeqag in service ytmusic
info: [ytmusic-browse] explodeUri(ytmusic/playlist@playlistId=VLPLmfPS6WePPAEtSu37MVSlAmsXEP9eeqag)
ReferenceError: getTracksOnExplodeFromSection is not defined
at /data/plugins/music_service/ytmusic/lib/controller/browse/view-handlers/playlist.js:30:13
at runMicrotasks ()
at processTicksAndRejections (internal/process/task_queues.js:95:5)
error: Cannot explode uri ytmusic/playlist@playlistId=VLPLmfPS6WePPAEtSu37MVSlAmsXEP9eeqag from service ytmusic: ReferenceError: getTracksOnExplodeFromSection is not defined
info: CorePlayQueue::saveQueue
info: CoreCommandRouter::volumioPushQueue
info: CoreStateMachine::updateTrackBlock
info: CorePlayQueue::getTrackBlock
info: CoreCommandRouter::volumioPlay

info: CoreStateMachine::play index 0
info: CoreStateMachine::setConsumeUpdateService undefined
info: CoreStateMachine::stop
info: CoreStateMachine::setConsumeUpdateService undefined

info: CoreStateMachine::play index undefined
info: CoreStateMachine::setConsumeUpdateService undefined
info: CorePlayQueue::getTrack 0
info: CoreCommandRouter::volumioReplaceandPlayItems
info: CoreStateMachine::ClearQueue
info: CoreStateMachine::stop
info: CoreStateMachine::setConsumeUpdateService undefined

info: CorePlayQueue::clearPlayQueue
info: CorePlayQueue::saveQueue
info: CoreCommandRouter::volumioPushState
info: CoreCommandRouter::volumioPushQueue
info: CoreStateMachine::addQueueItems
info: CorePlayQueue::addQueueItems
info: Adding Item to queue: ytmusic/song@songId=undefined@explodeTrackData=%7B%22title%22%3A%22Trai%20Tim%20Ben%20Le%22%2C%22artist%22%3A%22putnikit2307%22%2C%22album%22%3A%22%22%2C%22albumart%22%3A%22https%3A%2F%2Fi.ytimg.com%2Fvi%2FBiCAft9sQz0%2Fhqdefault.jpg%3Fsqp%3D-oaymwEWCMACELQBIAQqCghQEJADGFogjgJIWg%26rs%3DAMzJL3kKUawf-N0lK5R32zNLLqaKI6inLQ%22%2C%22autoplayContext%22%3A%7B%7D%7D
info: Exploding uri ytmusic/song@songId=undefined@explodeTrackData=%7B%22title%22%3A%22Trai%20Tim%20Ben%20Le%22%2C%22artist%22%3A%22putnikit2307%22%2C%22album%22%3A%22%22%2C%22albumart%22%3A%22https%3A%2F%2Fi.ytimg.com%2Fvi%2FBiCAft9sQz0%2Fhqdefault.jpg%3Fsqp%3D-oaymwEWCMACELQBIAQqCghQEJADGFogjgJIWg%26rs%3DAMzJL3kKUawf-N0lK5R32zNLLqaKI6inLQ%22%2C%22autoplayContext%22%3A%7B%7D%7D in service ytmusic
info: [ytmusic-browse] explodeUri(ytmusic/song@songId=undefined@explodeTrackData=%7B%22title%22%3A%22Trai%20Tim%20Ben%20Le%22%2C%22artist%22%3A%22putnikit2307%22%2C%22album%22%3A%22%22%2C%22albumart%22%3A%22https%3A%2F%2Fi.ytimg.com%2Fvi%2FBiCAft9sQz0%2Fhqdefault.jpg%3Fsqp%3D-oaymwEWCMACELQBIAQqCghQEJADGFogjgJIWg%26rs%3DAMzJL3kKUawf-N0lK5R32zNLLqaKI6inLQ%22%2C%22autoplayContext%22%3A%7B%7D%7D)
info: Adding Item to queue: ytmusic/song@songId=undefined@explodeTrackData=%7B%22title%22%3A%22Trai%20tim%20khong%20ngu%20yen%20-%20Bang%20Kieu%20feat%20My%20Linh%22%2C%22artist%22%3A%22grinch2411%22%2C%22album%22%3A%22%22%2C%22albumart%22%3A%22https%3A%2F%2Fi.ytimg.com%2Fvi%2FukuIFyMaECU%2Fhqdefault.jpg%3Fsqp%3D-oaymwEWCMACELQBIAQqCghQEJADGFogjgJIWg%26rs%3DAMzJL3mdVGN64JWOjk-_kGhixn4R8EsaDg%22%2C%22autoplayContext%22%3A%7B%7D%7D
info: Exploding uri ytmusic/song@songId=undefined@explodeTrackData=%7B%22title%22%3A%22Trai%20tim%20khong%20ngu%20yen%20-%20Bang%20Kieu%20feat%20My%20Linh%22%2C%22artist%22%3A%22grinch2411%22%2C%22album%22%3A%22%22%2C%22albumart%22%3A%22https%3A%2F%2Fi.ytimg.com%2Fvi%2FukuIFyMaECU%2Fhqdefault.jpg%3Fsqp%3D-oaymwEWCMACELQBIAQqCghQEJADGFogjgJIWg%26rs%3DAMzJL3mdVGN64JWOjk-_kGhixn4R8EsaDg%22%2C%22autoplayContext%22%3A%7B%7D%7D in service ytmusic
info: [ytmusic-browse] explodeUri(ytmusic/song@songId=undefined@explodeTrackData=%7B%22title%22%3A%22Trai%20tim%20khong%20ngu%20yen%20-%20Bang%20Kieu%20feat%20My%20Linh%22%2C%22artist%22%3A%22grinch2411%22%2C%22album%22%3A%22%22%2C%22albumart%22%3A%22https%3A%2F%2Fi.ytimg.com%2Fvi%2FukuIFyMaECU%2Fhqdefault.jpg%3Fsqp%3D-oaymwEWCMACELQBIAQqCghQEJADGFogjgJIWg%26rs%3DAMzJL3mdVGN64JWOjk-_kGhixn4R8EsaDg%22%2C%22autoplayContext%22%3A%7B%7D%7D)
info: Adding Item to queue: ytmusic/song@songId=undefined@explodeTrackData=%7B%22title%22%3A%22L%E1%BB%91i%20C%C5%A9%20Ta%20V%E1%BB%81%20-%20B%E1%BA%B1ng%20Ki%E1%BB%81u%22%2C%22artist%22%3A%22B%E1%BA%A3n%20N%C4%83ng%20Sinh%20T%E1%BB%93n%20Bear%20Gryll%22%2C%22album%22%3A%22%22%2C%22albumart%22%3A%22https%3A%2F%2Fi.ytimg.com%2Fvi%2Fywb2rBgxNpc%2Fsddefault.jpg%3Fsqp%3D-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg%26rs%3DAMzJL3mt6ugqzHS32G2movqVjuncD9s02w%22%2C%22autoplayContext%22%3A%7B%7D%7D
info: Exploding uri ytmusic/song@songId=undefined@explodeTrackData=%7B%22title%22%3A%22L%E1%BB%91i%20C%C5%A9%20Ta%20V%E1%BB%81%20-%20B%E1%BA%B1ng%20Ki%E1%BB%81u%22%2C%22artist%22%3A%22B%E1%BA%A3n%20N%C4%83ng%20Sinh%20T%E1%BB%93n%20Bear%20Gryll%22%2C%22album%22%3A%22%22%2C%22albumart%22%3A%22https%3A%2F%2Fi.ytimg.com%2Fvi%2Fywb2rBgxNpc%2Fsddefault.jpg%3Fsqp%3D-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg%26rs%3DAMzJL3mt6ugqzHS32G2movqVjuncD9s02w%22%2C%22autoplayContext%22%3A%7B%7D%7D in service ytmusic
info: [ytmusic-browse] explodeUri(ytmusic/song@songId=undefined@explodeTrackData=%7B%22title%22%3A%22L%E1%BB%91i%20C%C5%A9%20Ta%20V%E1%BB%81%20-%20B%E1%BA%B1ng%20Ki%E1%BB%81u%22%2C%22artist%22%3A%22B%E1%BA%A3n%20N%C4%83ng%20Sinh%20T%E1%BB%93n%20Bear%20Gryll%22%2C%22album%22%3A%22%22%2C%22albumart%22%3A%22https%3A%2F%2Fi.ytimg.com%2Fvi%2Fywb2rBgxNpc%2Fsddefault.jpg%3Fsqp%3D-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg%26rs%3DAMzJL3mt6ugqzHS32G2movqVjuncD9s02w%22%2C%22autoplayContext%22%3A%7B%7D%7D)
info: Adding Item to queue: ytmusic/song@songId=undefined@explodeTrackData=%7B%22title%22%3A%22%C4%90%C3%AAm%20C%C3%B4%20%C4%90%C6%A1n%20-%20B%E1%BA%B1ng%20Ki%E1%BB%81u%20%5BTophits%5D%22%2C%22artist%22%3A%22Tr%E1%BA%A7n%20M%E1%BA%A1nh%20Th%E1%BB%A5y%22%2C%22album%22%3A%22%22%2C%22albumart%22%3A%22https%3A%2F%2Fi.ytimg.com%2Fvi%2F4BNq8TWJML0%2Fsddefault.jpg%3Fsqp%3D-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg%26rs%3DAMzJL3lHaKN8j2rngqQ0Z68c7ISaOa3V3g%22%2C%22autoplayContext%22%3A%7B%7D%7D
info: Exploding uri ytmusic/song@songId=undefined@explodeTrackData=%7B%22title%22%3A%22%C4%90%C3%AAm%20C%C3%B4%20%C4%90%C6%A1n%20-%20B%E1%BA%B1ng%20Ki%E1%BB%81u%20%5BTophits%5D%22%2C%22artist%22%3A%22Tr%E1%BA%A7n%20M%E1%BA%A1nh%20Th%E1%BB%A5y%22%2C%22album%22%3A%22%22%2C%22albumart%22%3A%22https%3A%2F%2Fi.ytimg.com%2Fvi%2F4BNq8TWJML0%2Fsddefault.jpg%3Fsqp%3D-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg%26rs%3DAMzJL3lHaKN8j2rngqQ0Z68c7ISaOa3V3g%22%2C%22autoplayContext%22%3A%7B%7D%7D in service ytmusic
info: [ytmusic-browse] explodeUri(ytmusic/song@songId=undefined@explodeTrackData=%7B%22title%22%3A%22%C4%90%C3%AAm%20C%C3%B4%20%C4%90%C6%A1n%20-%20B%E1%BA%B1ng%20Ki%E1%BB%81u%20%5BTophits%5D%22%2C%22artist%22%3A%22Tr%E1%BA%A7n%20M%E1%BA%A1nh%20Th%E1%BB%A5y%22%2C%22album%22%3A%22%22%2C%22albumart%22%3A%22https%3A%2F%2Fi.ytimg.com%2Fvi%2F4BNq8TWJML0%2Fsddefault.jpg%3Fsqp%3D-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg%26rs%3DAMzJL3lHaKN8j2rngqQ0Z68c7ISaOa3V3g%22%2C%22autoplayContext%22%3A%7B%7D%7D)
info: Adding Item to queue: ytmusic/song@songId=undefined@explodeTrackData=%7B%22title%22%3A%22%C3%94i%20tr%C3%A1i%20tim%20ch%E1%BB%89%20bi%E1%BA%BFt%20y%C3%AAu%20ng%C6%B0%E1%BB%9Di%20B%E1%BA%B1ng%20Ki%E1%BB%81u%22%2C%22artist%22%3A%22whitepigeon81%22%2C%22album%22%3A%22%22%2C%22albumart%22%3A%22https%3A%2F%2Fi.ytimg.com%2Fvi%2FxbVwT9WObsM%2Fhqdefault.jpg%3Fsqp%3D-oaymwEWCMACELQBIAQqCghQEJADGFogjgJIWg%26rs%3DAMzJL3lxRA2j70BcpZSRpwcjN5z8i2K4jg%22%2C%22autoplayContext%22%3A%7B%7D%7D
info: Exploding uri ytmusic/song@songId=undefined@explodeTrackData=%7B%22title%22%3A%22%C3%94i%20tr%C3%A1i%20tim%20ch%E1%BB%89%20bi%E1%BA%BFt%20y%C3%AAu%20ng%C6%B0%E1%BB%9Di%20B%E1%BA%B1ng%20Ki%E1%BB%81u%22%2C%22artist%22%3A%22whitepigeon81%22%2C%22album%22%3A%22%22%2C%22albumart%22%3A%22https%3A%2F%2Fi.ytimg.com%2Fvi%2FxbVwT9WObsM%2Fhqdefault.jpg%3Fsqp%3D-oaymwEWCMACELQBIAQqCghQEJADGFogjgJIWg%26rs%3DAMzJL3lxRA2j70BcpZSRpwcjN5z8i2K4jg%22%2C%22autoplayContext%22%3A%7B%7D%7D in service ytmusic
info: [ytmusic-browse] explodeUri(ytmusic/song@songId=undefined@explodeTrackData=%7B%22title%22%3A%22%C3%94i%20tr%C3%A1i%20tim%20ch%E1%BB%89%20bi%E1%BA%BFt%20y%C3%AAu%20ng%C6%B0%E1%BB%9Di%20B%E1%BA%B1ng%20Ki%E1%BB%81u%22%2C%22artist%22%3A%22whitepigeon81%22%2C%22album%22%3A%22%22%2C%22albumart%22%3A%22https%3A%2F%2Fi.ytimg.com%2Fvi%2FxbVwT9WObsM%2Fhqdefault.jpg%3Fsqp%3D-oaymwEWCMACELQBIAQqCghQEJADGFogjgJIWg%26rs%3DAMzJL3lxRA2j70BcpZSRpwcjN5z8i2K4jg%22%2C%22autoplayContext%22%3A%7B%7D%7D)
info: Adding Item to queue: ytmusic/song@songId=undefined@explodeTrackData=%7B%22title%22%3A%22Phuong%20Hong%20Bang%20Kieu%22%2C%22artist%22%3A%22Th%E1%BB%A5c%20Quy%C3%AAn%20Sushi%22%2C%22album%22%3A%22%22%2C%22albumart%22%3A%22https%3A%2F%2Fi.ytimg.com%2Fvi%2F_Xom5QldoQM%2Fhqdefault.jpg%3Fsqp%3D-oaymwEWCMACELQBIAQqCghQEJADGFogjgJIWg%26rs%3DAMzJL3lOt-uptrWXcihGEf86s_ITMEzj5w%22%2C%22autoplayContext%22%3A%7B%7D%7D
info: Exploding uri ytmusic/song@songId=undefined@explodeTrackData=%7B%22title%22%3A%22Phuong%20Hong%20Bang%20Kieu%22%2C%22artist%22%3A%22Th%E1%BB%A5c%20Quy%C3%AAn%20Sushi%22%2C%22album%22%3A%22%22%2C%22albumart%22%3A%22https%3A%2F%2Fi.ytimg.com%2Fvi%2F_Xom5QldoQM%2Fhqdefault.jpg%3Fsqp%3D-oaymwEWCMACELQBIAQqCghQEJADGFogjgJIWg%26rs%3DAMzJL3lOt-uptrWXcihGEf86s_ITMEzj5w%22%2C%22autoplayContext%22%3A%7B%7D%7D in service ytmusic
info: [ytmusic-browse] explodeUri(ytmusic/song@songId=undefined@explodeTrackData=%7B%22title%22%3A%22Phuong%20Hong%20Bang%20Kieu%22%2C%22artist%22%3A%22Th%E1%BB%A5c%20Quy%C3%AAn%20Sushi%22%2C%22album%22%3A%22%22%2C%22albumart%22%3A%22https%3A%2F%2Fi.ytimg.com%2Fvi%2F_Xom5QldoQM%2Fhqdefault.jpg%3Fsqp%3D-oaymwEWCMACELQBIAQqCghQEJADGFogjgJIWg%26rs%3DAMzJL3lOt-uptrWXcihGEf86s_ITMEzj5w%22%2C%22autoplayContext%22%3A%7B%7D%7D)
info: Adding Item to queue: ytmusic/song@songId=undefined@explodeTrackData=%7B%22title%22%3A%22%C4%90%E1%BB%95i%20thay%20-%20B%E1%BA%B1ng%20Ki%E1%BB%81u%22%2C%22artist%22%3A%22MrWangLy%22%2C%22album%22%3A%22%22%2C%22albumart%22%3A%22https%3A%2F%2Fi.ytimg.com%2Fvi%2FRNdW_W857bk%2Fhqdefault.jpg%3Fsqp%3D-oaymwEWCMACELQBIAQqCghQEJADGFogjgJIWg%26rs%3DAMzJL3l3DCcj8CfVlbZh_3pY25KYJSeY3g%22%2C%22autoplayContext%22%3A%7B%7D%7D
info: Exploding uri ytmusic/song@songId=undefined@explodeTrackData=%7B%22title%22%3A%22%C4%90%E1%BB%95i%20thay%20-%20B%E1%BA%B1ng%20Ki%E1%BB%81u%22%2C%22artist%22%3A%22MrWangLy%22%2C%22album%22%3A%22%22%2C%22albumart%22%3A%22https%3A%2F%2Fi.ytimg.com%2Fvi%2FRNdW_W857bk%2Fhqdefault.jpg%3Fsqp%3D-oaymwEWCMACELQBIAQqCghQEJADGFogjgJIWg%26rs%3DAMzJL3l3DCcj8CfVlbZh_3pY25KYJSeY3g%22%2C%22autoplayContext%22%3A%7B%7D%7D in service ytmusic
info: [ytmusic-browse] explodeUri(ytmusic/song@songId=undefined@explodeTrackData=%7B%22title%22%3A%22%C4%90%E1%BB%95i%20thay%20-%20B%E1%BA%B1ng%20Ki%E1%BB%81u%22%2C%22artist%22%3A%22MrWangLy%22%2C%22album%22%3A%22%22%2C%22albumart%22%3A%22https%3A%2F%2Fi.ytimg.com%2Fvi%2FRNdW_W857bk%2Fhqdefault.jpg%3Fsqp%3D-oaymwEWCMACELQBIAQqCghQEJADGFogjgJIWg%26rs%3DAMzJL3l3DCcj8CfVlbZh_3pY25KYJSeY3g%22%2C%22autoplayContext%22%3A%7B%7D%7D)
info: CorePlayQueue::saveQueue
info: CoreCommandRouter::volumioPushQueue
info: CoreStateMachine::updateTrackBlock
info: CorePlayQueue::getTrackBlock
info: CoreCommandRouter::volumioPlay

info: CoreStateMachine::play index 0
info: CoreStateMachine::setConsumeUpdateService undefined
info: CoreStateMachine::stop
info: CoreStateMachine::setConsumeUpdateService undefined

info: CoreStateMachine::play index undefined
info: CoreStateMachine::setConsumeUpdateService undefined
info: CorePlayQueue::getTrack 0
info: CoreStateMachine::startPlaybackTimer
info: CorePlayQueue::getTrack 0
info: [ytmusic-play] clearAddPlayTrack(): ytmusic/video@videoId=undefined@explodeTrackData=%7B%22title%22%3A%22Trai%20Tim%20Ben%20Le%22%2C%22artist%22%3A%22putnikit2307%22%2C%22album%22%3A%22%22%2C%22albumart%22%3A%22https%3A%2F%2Fi.ytimg.com%2Fvi%2FBiCAft9sQz0%2Fhqdefault.jpg%3Fsqp%3D-oaymwEWCMACELQBIAQqCghQEJADGFogjgJIWg%26rs%3DAMzJL3kKUawf-N0lK5R32zNLLqaKI6inLQ%22%2C%22autoplayContext%22%3A%7B%7D%7D@autoplayContext=%7B%7D
error: [ytmusic-play] clearAddPlayTrack() error
error: Music queue was empty, the given id is probably invalid. {“info”:{“type”:“MusicQueue”,“content”:null},“date”:“2022-09-15T16:39:53.131Z”,“version”:“0.1.0-b.7”}
Soliciting pool server 203.113.174.44
Soliciting pool server 162.159.200.123
Soliciting pool server 2606:4700:f1::123
Soliciting pool server 162.159.200.1

I can confirm this to be a bug. Will be fixed in the next version.

However, you should still be able to play by selecting a song from the list. But the logs show that the songs have undefined IDs. This is where I am confused…

Would have to investigate further.

Also, where are you located? Is YouTube Music available in your country?

Youtube Music unavailable in my country (Vietnam).

Sorry for my English.
Thanks for support.

Vietnamese:
Trình phát youtube music hiện chưa hỗ trợ Việt Nam.
Tôi đã cài plugin với thiết lập mặc định, không đăng nhập tài khoản. Nhưng nó vẫn không thể phát.

If YouTube Music is not available in your country, then the plugin has no means to circumvent that.

1 Like

Fixed in v0.1.7, along with addition of Recap.

2 Likes

Just wanted to say thanks for this plugin. Works really well (actually much better than the current Spotify plugin) especially when you have an account. Sound quality is surprisingly good. Thanks again @patrickkfkan

WHOAAAAAA!!! YOU, SIR, ROCK!!! And I created this account just to be able to tell you this :slight_smile:

I’ve been dreaming of, and hoping for this for years!

I’ve had the Google Play Music subscription since the very beginning and I kept it when they forced everybody to YT Music. Over all these years I’ve built a few playlists that I really love. Unfortunately the only reasonable way to listen to them was via a Chromecast dongle stuck in one of the HDMI ports at the rear of my receiver. It was simple and it worked but it had at least 2 major drawbacks:

  1. It didn’t really integrate with anything else (e.g. a remote control - either infrared or LAN)
  2. It sounded… kinda “muffled” even for 256kbps streams.

And after a lot of reading I think I found why: by default all Android devices resample all audio output to 48kHz, regardless of the source sampling rate. Plus, although digital, the HDMI output is apparently not exactly the best when it comes to quality audio, due to jitter.

For a while I researched the Chromecast audio option but the product was discontinued years ago and the second hand ones available on the ebays of the world are all way to expensive for what they are & do. And I was pretty convinced that even if they did have the Toslink optical output, they would still resample everything to 48kHz. Also, as you probably know, Toslink is not the first option if you’re hoping for the best quality audio (that jitter thing again). Coax SPDIF would have been better than both Toslink and audio over HDMI, but no luck with that on Chromecasts.

Chromecast with Google TV appeared since then and I was hoping I could connect my external USB DAC to it via an USB Type C hub and then also install and run UAPP (USB Audio Player Pro) to bypass the HDMI output and the 48kHz resampling… Needless to say, very convoluted and - more importanly - unproven to work yet.

So during the summer I got myself an Allo Boss2 and I installed Volumio and your 2 other YT related plugins: Youtube2 and Youtube Cast Receiver.
I was hoping I could cast music from my phone to the Raspberry + Allo Boss2 and from there it would go via a short thick RCA cable (€10, not hundreds or thousands! :slight_smile: ) from the (very) good DAC straight into an analog input on the receiver. Well, I was able to cast audio from the (standard) Youtube app, but no luck casting from the YT Music one :frowning:

At that stage I even considered the idea of writing my own Volumio plugin (I did study Computer Science… like a hundred years ago! :slight_smile: ), but the reality was that I had to park the whole thing since I also had to deal with other things in my life. But the thought was still niggling me.

A few months have passed since then and I said I’d give it another spin today. Casting audio from YT still works, casting from YT Music still doesn’t.

BUT! I realised from the Volumio forum that a new “YouTube Music” plugin appeared! And it seems I missed all the teething problems, too, as I installed it and it just worked! Although only at 160kbps in the beginning. Just a few settings later though and it’s now streaming 256kbps and it sounds really good through the I2S DAC! I. LOVE. IT! :slight_smile: Is there any account where I could send you a small thank you token? Because you managed to do what a big corporation like Denon could’t (or didn’t even bother with). Maybe you should ask them if they need any help :slight_smile:

On that note (help) I hope you don’t mind me asking a few questions - I’m just hoping you could do more with this plugin!

  1. Could it accept audio casting like Youtube2 does? I reckon the protocol should support it? As I can cast audio streams from YT Music on my phone to the Chromecast device.
  2. I use a MPD client on my phone (the wonderfully simple M.A.L.P., with only the absolutely minimum required permissions) and it can see the track currently being played by Youtube Music, but not the playlist. Is there any chance Youtube Music could expose the playlist as well via MPD?
  3. The interaction via MPD is a bit wonky - pressing “stop” actually advances to the next song in the playlist (!), the volume is shown at zero and the speaker icon is crossed to show the volume is muted (which is clearly not the case as I’m enjoying the music coming out of it). I guess these could be easy fixes?
  4. This could be controversial on this forum, but is there any chance you could at some point in time port the plugin to moOde?
  5. And finally… any chance it could play gapless music or is this a limitation from somewhere else (e.g. from the Google YT Music service itself or perhaps from within Volumio)? I know this sounds petty, I always thought that the people asking for gapless playback (in dozens of articles and videos) were not serious, but as it happens I started now with a Roger Waters album and that small gap between otherwise continuous songs does indeed snap me out of the right mood.

Many, many thanks again! You pulled a heck of job with this one!

PS: I am one heck of a happy bunny tonight! My neighbours… not so much! :slight_smile:

2 Likes

Hello everyone!
I have Volumio running on a RaspPi 4B with the original RaspPi 7 inch display installed.
I recently installed the YTMusic plugin version 0.1.8. It works perfectly with my YouTube Premium account, except for showing the album art on the RaspPi display. The “broken image” sign appears. In the Volumio app, the album covers are always displayed perfectly. However, the problem does not always exist, but seems to be random. Some covers are loaded, others are not. Once they are loaded, they are always displayed. I have not been able to recognise a pattern so far. Even after a restart, the missing covers are not synchronised.
Is there anything to change in the plugin settings that I have overlooked?
Thank you very much for your great work with this plugin. I would be very happy about any help.
Many greetings
Armin

I’m running into a bug. Installed this plugin v0.1.8 on a fresh install of rpi4 volumio v3.378. install went fine. am able to log into my ytmusic account. unable to play any music.

from my logs:

Nov 22 23:56:08 volumio volumio[818]: InnertubeError: MusicTastebuilderShelf not found!
Nov 22 23:56:08 volumio volumio[818]: This is a bug, please report it at https://github.com/patrickkfkan/Volumio-YouTube.js/issues
Nov 22 23:56:08 volumio volumio[818]:     at Function.formatError (/data/plugins/music_service/ytmusic/node_modules/volumio-youtubei.js/dist/src/parser/index.js:356:33)
Nov 22 23:56:08 volumio volumio[818]:     at Function.parseItem (/data/plugins/music_service/ytmusic/node_modules/volumio-youtubei.js/dist/src/parser/index.js:281:22)
Nov 22 23:56:08 volumio volumio[818]:     at Function.parse (/data/plugins/music_service/ytmusic/node_modules/volumio-youtubei.js/dist/src/parser/index.js:309:37)
Nov 22 23:56:08 volumio volumio[818]:     at new SectionList (/data/plugins/music_service/ytmusic/node_modules/volumio-youtubei.js/dist/src/parser/classes/SectionList.js:14:41)
Nov 22 23:56:08 volumio volumio[818]:     at Function.parseItem (/data/plugins/music_service/ytmusic/node_modules/volumio-youtubei.js/dist/src/parser/index.js:276:32)
Nov 22 23:56:08 volumio volumio[818]:     at new Tab (/data/plugins/music_service/ytmusic/node_modules/volumio-youtubei.js/dist/src/parser/classes/Tab.js:18:40)
Nov 22 23:56:08 volumio volumio[818]:     at Function.parseItem (/data/plugins/music_service/ytmusic/node_modules/volumio-youtubei.js/dist/src/parser/index.js:276:32)
Nov 22 23:56:08 volumio volumio[818]:     at Function.parseArray (/data/plugins/music_service/ytmusic/node_modules/volumio-youtubei.js/dist/src/parser/index.js:291:37)
Nov 22 23:56:08 volumio volumio[818]:     at new SingleColumnBrowseResults (/data/plugins/music_service/ytmusic/node_modules/volumio-youtubei.js/dist/src/parser/classes/SingleColumnBrowseResults.js:12:37)
Nov 22 23:56:08 volumio volumio[818]:     at Function.parseItem (/data/plugins/music_service/ytmusic/node_modules/volumio-youtubei.js/dist/src/parser/index.js:276:32)
Nov 22 23:56:08 volumio volumio[818]:     at Function.parse (/data/plugins/music_service/ytmusic/node_modules/volumio-youtubei.js/dist/src/parser/index.js:320:53)
Nov 22 23:56:08 volumio volumio[818]:     at Function.parseResponse (/data/plugins/music_service/ytmusic/node_modules/volumio-youtubei.js/dist/src/parser/index.js:153:33)
Nov 22 23:56:08 volumio volumio[818]:     at new HomeFeed (/data/plugins/music_service/ytmusic/node_modules/volumio-youtubei.js/dist/src/parser/ytmusic/HomeFeed.js:62:70)
Nov 22 23:56:08 volumio volumio[818]:     at Music.<anonymous> (/data/plugins/music_service/ytmusic/node_modules/volumio-youtubei.js/dist/src/core/Music.js:92:20)
Nov 22 23:56:08 volumio volumio[818]:     at Generator.next (<anonymous>)
Nov 22 23:56:08 volumio volumio[818]:     at fulfilled (/data/plugins/music_service/ytmusic/node_modules/volumio-youtubei.js/dist/src/core/Music.js:5:58) {
Nov 22 23:56:08 volumio volumio[818]:   info: {
Nov 22 23:56:08 volumio volumio[818]:     thumbnail: { musicTastebuilderShelfThumbnailRenderer: [Object] },
Nov 22 23:56:08 volumio volumio[818]:     primaryText: { runs: [Array] },
Nov 22 23:56:08 volumio volumio[818]:     secondaryText: { runs: [Array] },
Nov 22 23:56:08 volumio volumio[818]:     actionButton: { buttonRenderer: [Object] },
Nov 22 23:56:08 volumio volumio[818]:     isVisible: true,
Nov 22 23:56:08 volumio volumio[818]:     trackingParams: 'CAQQka0BGAIiEwjawarT_sL7AhXSiuUHHVzXB_M='
Nov 22 23:56:08 volumio volumio[818]:   },
Nov 22 23:56:08 volumio volumio[818]:   date: 2022-11-22T23:56:08.801Z,
Nov 22 23:56:08 volumio volumio[818]:   version: '0.1.1-b.2'
Nov 22 23:56:08 volumio volumio[818]: }

Nov 22 23:56:17 volumio volumio[818]: InnertubeError: MetadataScreen not found!
Nov 22 23:56:17 volumio volumio[818]: This is a bug, please report it at https://github.com/patrickkfkan/Volumio-YouTube.js/issues
Nov 22 23:56:17 volumio volumio[818]:     at Function.formatError (/data/plugins/music_service/ytmusic/node_modules/volumio-youtubei.js/dist/src/parser/index.js:356:33)
Nov 22 23:56:17 volumio volumio[818]:     at Function.parseItem (/data/plugins/music_service/ytmusic/node_modules/volumio-youtubei.js/dist/src/parser/index.js:281:22)
Nov 22 23:56:17 volumio volumio[818]:     at Function.parse (/data/plugins/music_service/ytmusic/node_modules/volumio-youtubei.js/dist/src/parser/index.js:320:53)
Nov 22 23:56:17 volumio volumio[818]:     at new SingleColumnMusicWatchNextResults (/data/plugins/music_service/ytmusic/node_modules/volumio-youtubei.js/dist/src/parser/classes/SingleColumnMusicWatchNextResults.js:11:41)
Nov 22 23:56:17 volumio volumio[818]:     at Function.parseItem (/data/plugins/music_service/ytmusic/node_modules/volumio-youtubei.js/dist/src/parser/index.js:276:32)
Nov 22 23:56:17 volumio volumio[818]:     at Function.parse (/data/plugins/music_service/ytmusic/node_modules/volumio-youtubei.js/dist/src/parser/index.js:320:53)
Nov 22 23:56:17 volumio volumio[818]:     at Function.parseResponse (/data/plugins/music_service/ytmusic/node_modules/volumio-youtubei.js/dist/src/parser/index.js:153:33)
Nov 22 23:56:17 volumio volumio[818]:     at Music.<anonymous> (/data/plugins/music_service/ytmusic/node_modules/volumio-youtubei.js/dist/src/core/Music.js:185:42)
Nov 22 23:56:17 volumio volumio[818]:     at Generator.next (<anonymous>)
Nov 22 23:56:17 volumio volumio[818]:     at fulfilled (/data/plugins/music_service/ytmusic/node_modules/volumio-youtubei.js/dist/src/core/Music.js:5:58)
Nov 22 23:56:17 volumio volumio[818]:     at runMicrotasks (<anonymous>)
Nov 22 23:56:17 volumio volumio[818]:     at processTicksAndRejections (internal/process/task_queues.js:93:5) {
Nov 22 23:56:17 volumio volumio[818]:   info: {
Nov 22 23:56:17 volumio volumio[818]:     sectionListRenderer: {
Nov 22 23:56:17 volumio volumio[818]:       contents: [Array],
Nov 22 23:56:17 volumio volumio[818]:       trackingParams: 'CCgQui8iEwizndbX_sL7AhXbicQKHbHKBTg='
Nov 22 23:56:17 volumio volumio[818]:     }
Nov 22 23:56:17 volumio volumio[818]:   },
Nov 22 23:56:17 volumio volumio[818]:   date: 2022-11-22T23:56:17.230Z,
Nov 22 23:56:17 volumio volumio[818]:   version: '0.1.1-b.2'
Nov 22 23:56:17 volumio volumio[818]: }
Nov 22 23:56:17 volumio volumio[818]: error: [ytmusic-play] clearAddPlayTrack() error
Nov 22 23:56:17 volumio volumio[818]: error: Cannot read property 'as' of nulla

Hi there - thank you much for the YT Music plug-in! Its an awesome upgrade to my music listening!
Just a quick help…I have a Allo Digione Signature streamer and have installed Volumio + YT Music Plugin. I have YT Premium account and have managed to successfully log-in to my account - so far so good.

I have uploaded quite a bunch of hi-res music (FLAC, .m4a etc) onto the YT library…however when I play them through the YT Plug-in, it seems to downsample all of this to 256kbps. I can’t seem to play the source file in it’s native resolution.

Are you please able to help with this? thanks much!

so it seems when i am not signed into my YTMusic account, I am able to play music fine. After I log into YTM then I am not able to and I get the errors in the logs.

google could have changed something again but we have to wait till,
@patrickkfkan is back, i hope he will be back for christmass …

Try an older version of YTM plugin - I’m using 0.1.6 and I have no problems logging in and playing music

it seems to downsample all of this to 256kbps. I can’t seem to play the source file in it’s native resolution.

I believe 256kbps is max you can get out of YTM, even with premium account.

Hi,

I am using Volumio 2.917 with Plugin YT 0.1.1a 20210825 on a RaspberryPI 3b.
My internet is behind a vpn and this config has been working without any problems, until recently.
I had added different “sections” in the YT Plugin settings, which each had a search for a specific channel name.
So on the YT frontpage it was showing all the search results, with the specific channels that I was always listening in scrapping mode.
This method was working perfectly since about a month ago.
Suddenly the results of the searches in the sections on the YT frontpage were showing garbage channels, while I did change nothing in Volumio or the plugin settings.
I have the idea that YT has been “sabotaging” this anonymous scraping method of the YT volumio plugin.

It would be nice if the YT plugin could handle YouTube channel id’s.
Then the link from the YT plugin to YouTube would be unique.
Currently I cannot make my config work with YouTube channel id’s.

Does anybody has similar experiences, an explanation and a solution for this?

Thanks in advance.

Greeting, Bass

Hi,

The problem is not that channels are not played, but YouTube is not showing the right search results.
If I make an frontpage section with search CNN, it just finds rubbish channels, no official CNN YouTube channel website at all in the list.

Thanks in advance.

Greeting, Bass

did you update?

Yes, as @dvo suggests, upgrade Volumio. The new YouTube Music plugin works perfectly.

Update from Volumio 2 to 3?