mas94uk / upnpTube

Cast from YouTube app to DLNA/UPNP renderers
GNU General Public License v3.0
24 stars 6 forks source link

No longer working #12

Open coxtor opened 5 months ago

coxtor commented 5 months ago

When trying to cast from the youtube app to my symfonisk frame I get this error with a random video using the docker installation:


upnp-tube   | [yt-cast-receiver] Listening on port 3004
upnp-tube   | [yt-cast-receiver.YouTubeApp] Launching...
upnp-tube   | [yt-cast-receiver.YouTubeApp] Generated screen Id: hcf4qvbnu8qrll36fqfcikp9lp
upnp-tube   | [yt-cast-receiver.YouTubeApp] Obtained lounge token: AGdO5p9Ohwcp2bs17PIi35agjZEPdikqwDsY3MqdJE7Lq12Pf6GU4RMosm7Cp_OFgBW47BIpy4xEL_MkDtEqzxOk4m-a51s7mSvJT44MK8H9q65onyhoor8
upnp-tube   | [yt-cast-receiver.YouTubeApp] Initiate binding...
upnp-tube   | [yt-cast-receiver.YouTubeApp] Processing initial bind data...
upnp-tube   | [yt-cast-receiver.YouTubeApp] Command #0 - c received with the following data:
upnp-tube   | [ 'F7C44A1B09FF27B0', '', 8 ]
upnp-tube   | [yt-cast-receiver.YouTubeApp] Setting SID to F7C44A1B09FF27B0
upnp-tube   | [yt-cast-receiver.YouTubeApp] Command #1 - S received with the following data (gsessionid):
upnp-tube   | TjacGNCzljedHuF00g9E8B5MRMotJfdG
upnp-tube   | [yt-cast-receiver.YouTubeApp] Command #2 - loungeStatus received but not going to be handled. Skipping...
upnp-tube   | Unhandled data:
upnp-tube   | {
upnp-tube   |   queueId: 'RQgnjDM7pgUnROMqxy_ZZ4uXwMY_Y',
upnp-tube   |   devices: '[{"app":"yt-cast-receiver","capabilities":"que,atp,mus","clientName":"unknown","experiments":"","name":"YouTube Cast Receiver","theme":"cl","id":"c8277ac4-ke86-4f8b-8fe2-1236bef43397","type":"LOUNGE_SCREEN","hasCc":"true","receiverIdentityMatchStatus":"IS_RECEIVER"}]',
upnp-tube   |   connectionEventDetails: '{"deviceId":"c8277ac4-ke86-4f8b-8fe2-1236bef43397"}'
upnp-tube   | }
upnp-tube   | [yt-cast-receiver.YouTubeApp] Command #3 - getNowPlaying received. Report 'now playing'...
upnp-tube   | [yt-cast-receiver.YouTubeApp] Posting bind data:
upnp-tube   | { count: '1', ofs: '1', req0__sc: 'noop' }
upnp-tube   | [yt-cast-receiver.YouTubeApp] postBind() completed (ofs: 1)
upnp-tube   | [yt-cast-receiver.YouTubeApp] Registering pairing code with the following data:
upnp-tube   | URLSearchParams {
upnp-tube   |   'access_type' => 'permanent',
upnp-tube   |   'app' => 'yt-cast-receiver',
upnp-tube   |   'pairing_code' => 'b5920a62-bf1c-4856-afc7-17b6201ac878',
upnp-tube   |   'screen_id' => 'hcf4qvbnu8qrll36fqfcikp9lp',
upnp-tube   |   'screen_name' => 'YouTube Cast Receiver',
upnp-tube   |   'device_id' => '69bba860-25a0-431d-b9c2-02a44c003446' }
upnp-tube   | [yt-cast-receiver.YouTubeApp] Registered pairing code: b5920a62-bf1c-4856-afc7-17b6201ac878
upnp-tube   | [yt-cast-receiver.CommandListener] Started
upnp-tube   | [yt-cast-receiver.CommandListener] Listening to: https://www.youtube.com/api/lounge/bc/bind?AID=3&CI=0&CVER=1&RID=rpc&SID=F7C44A1B09FF27B0&TYPE=xmlhttp&VER=8&app=yt-cast-receiver&capabilities=que%2Catp%2Cmus&device=LOUNGE_SCREEN&gsessionid=TjacGNCzljedHuF00g9E8B5MRMotJfdG&id=c8277ac4-ke86-4f8b-8fe2-1236bef43397&loungeIdToken=AGdO5p9Ohwcp2bs17PIi35agjZEPdikqwDsY3MqdJE7Lq12Pf6GU4RMosm7Cp_OFgBW47BIpy4xEL_MkDtEqzxOk4m-a51s7mSvJT44MK8H9q65onyhoor8&mdxVersion=2&name=YouTube%20Cast%20Receiver&t=1&theme=cl&v=2&zx=xxxxxxxxxxxx
upnp-tube   | [yt-cast-receiver.YouTubeApp] Launched
upnp-tube   | dial: returning pid 3ee5f0ec-0c5a-4af1-855c-ce490bf33eae
upnp-tube   | [yt-cast-receiver.YouTubeApp] Command #4 - noop received but not going to be handled. Skipping...
upnp-tube   | [yt-cast-receiver.YouTubeApp] Command #5 - loungeStatus received but not going to be handled. Skipping...
upnp-tube   | Unhandled data:
upnp-tube   | {
upnp-tube   |   queueId: 'RQgnjDM7pgUnROMqxy_ZZ4uXwMY_Y',
upnp-tube   |   devices: '[{"app":"yt-cast-receiver","capabilities":"que,atp,mus","clientName":"unknown","experiments":"","name":"YouTube Cast Receiver","theme":"cl","id":"c8277ac4-ke86-4f8b-8fe2-1236bef43397","type":"LOUNGE_SCREEN","hasCc":"true","receiverIdentityMatchStatus":"IS_RECEIVER"},{"app":"android-phone-19.12.36","capabilities":"que,dsdtr,atp,mus","clientName":"android","experiments":"","userAvatarUri":"https://yt3.ggpht.com/yti/ANjgQV_xRSqJlR4npof2giBPBJVKAa2z_jUoZyqpkn1OWAI=s240","type":"REMOTE_CONTROL","localChannelEncryptionKey":"h8eeAXctgDe4mkP2zX8geh9gGyW5vyjgKdIXU6d9L74","pairingType":"dial","deviceContext":"{\\"user_agent\\":\\"com.google.android.youtube\\\\/19.12.36(Linux; U; Android 14; de_DE; Pixel 7 Pro Build\\\\/AP1A.240405.002)\\",\\"window_width_points\\":411,\\"window_height_points\\":826,\\"os_name\\":\\"Android\\",\\"ms\\":\\"CtkDmsA_ATEaPwF_uwiQNYhpOv6jcbeR4akuaWVv6pf0FCxeGJzQvfsfIBjssO-mGmzlFHbGvetmlJxXgqPpFsQlOF0ZzLcNSBKQAwFQ_CACkP7m6vsPOw9l6eGGKQyzIV90gRIeV2D583G-HeXS4Jedadg8MzRVYwFLACw2_tXfSeUzRZQehpDBURe1rljF5agCGR2LrxxMUkQYf2SjndozwDAZlYpMcDRyAk6ZxfnlX7kxxUOPFlZtUxOj1S5fIN7S8K9w8Kg1WoeIkFOObhH25OtPKcZlFMEyf1bSbiXdVU5HZ4ruwb2wg6cUOgpOfb4Q3_nUSvmA5La04AwU4CRVni8AW7-5S2K2zSPebg_9XiqT7jxPCViDtKdTNtFBS_ZhzVbGUw742uS0yatVWs5kNxAcpcznbe48OotZM2tRjonMLdAFr-yS_q2d1sx8LFtpfnd6Jxv1bEPHMReRcp7OX0t6EDLK2okBdQ5uhBi1MYSUasvxeWwLlvoCVDaAlfH9J4s9JaC1wF53OSP1rNxRJMM0c7eLSyDtW3f2tM7iLhOn2dm7loi_kvk7zG0OYqIAemXHpjg5QQ99U853Pzzww3NzCg7Xn94l5kQeJJjHbxSyTxf9NMmC60QgBA\\",\\"advertising_id\\":\\"a82b2a72-c3bd-4732-8778-607906fabc0e\\",\\"limit_ad_tracking\\":false}","name":"GOOGLE Pixel 7 Pro","obfuscatedGaiaId":"104550512507233797602","theme":"cl","id":"ftqqn23tins8v47ope9gridgq0","user":"Eric","receiverIdentityMatchStatus":"DOES_NOT_MATCH_RECEIVER"}]',
upnp-tube   |   connectionEventDetails: '{"ui":"true","hasInitialPlayback":"true","deviceId":"ftqqn23tins8v47ope9gridgq0"}'
upnp-tube   | }
upnp-tube   | [yt-cast-receiver.YouTubeApp] Command #6 - remoteConnected received with the following client data:
upnp-tube   | {
upnp-tube   |   app: 'android-phone-19.12.36',
upnp-tube   |   capabilities: 'que,dsdtr,atp,mus',
upnp-tube   |   clientName: 'android',
upnp-tube   |   experiments: '',
upnp-tube   |   type: 'REMOTE_CONTROL',
upnp-tube   |   pairingType: 'dial',
upnp-tube   |   ui: 'true',
upnp-tube   |   deviceContext: '{"user_agent":"com.google.android.youtube\\/19.12.36(Linux; U; Android 14; de_DE; Pixel 7 Pro Build\\/AP1A.240405.002)","window_width_points":411,"window_height_points":826,"os_name":"Android","ms":"CtkDmsA_ATEaPwF_uwiQNYhpOv6jcbeR4akuaWVv6pf0FCxeGJzQvfsfIBjssO-mGmzlFHbGvetmlJxXgqPpFsQlOF0ZzLcNSBKQAwFQ_CACkP7m6vsPOw9l6eGGKQyzIV90gRIeV2D583G-HeXS4Jedadg8MzRVYwFLACw2_tXfSeUzRZQehpDBURe1rljF5agCGR2LrxxMUkQYf2SjndozwDAZlYpMcDRyAk6ZxfnlX7kxxUOPFlZtUxOj1S5fIN7S8K9w8Kg1WoeIkFOObhH25OtPKcZlFMEyf1bSbiXdVU5HZ4ruwb2wg6cUOgpOfb4Q3_nUSvmA5La04AwU4CRVni8AW7-5S2K2zSPebg_9XiqT7jxPCViDtKdTNtFBS_ZhzVbGUw742uS0yatVWs5kNxAcpcznbe48OotZM2tRjonMLdAFr-yS_q2d1sx8LFtpfnd6Jxv1bEPHMReRcp7OX0t6EDLK2okBdQ5uhBi1MYSUasvxeWwLlvoCVDaAlfH9J4s9JaC1wF53OSP1rNxRJMM0c7eLSyDtW3f2tM7iLhOn2dm7loi_kvk7zG0OYqIAemXHpjg5QQ99U853Pzzww3NzCg7Xn94l5kQeJJjHbxSyTxf9NMmC60QgBA","advertising_id":"a82b2a72-c3bd-4732-8778-607906fabc0e","limit_ad_tracking":false}',
upnp-tube   |   name: 'GOOGLE Pixel 7 Pro',
upnp-tube   |   theme: 'cl',
upnp-tube   |   id: 'ftqqn23tins8v47ope9gridgq0',
upnp-tube   |   device: '{"app":"android-phone-19.12.36","pairingType":"dial","capabilities":"que,dsdtr,atp,mus","clientName":"android","deviceContext":"{\\"user_agent\\":\\"com.google.android.youtube\\\\/19.12.36(Linux; U; Android 14; de_DE; Pixel 7 Pro Build\\\\/AP1A.240405.002)\\",\\"window_width_points\\":411,\\"window_height_points\\":826,\\"os_name\\":\\"Android\\",\\"ms\\":\\"CtkDmsA_ATEaPwF_uwiQNYhpOv6jcbeR4akuaWVv6pf0FCxeGJzQvfsfIBjssO-mGmzlFHbGvetmlJxXgqPpFsQlOF0ZzLcNSBKQAwFQ_CACkP7m6vsPOw9l6eGGKQyzIV90gRIeV2D583G-HeXS4Jedadg8MzRVYwFLACw2_tXfSeUzRZQehpDBURe1rljF5agCGR2LrxxMUkQYf2SjndozwDAZlYpMcDRyAk6ZxfnlX7kxxUOPFlZtUxOj1S5fIN7S8K9w8Kg1WoeIkFOObhH25OtPKcZlFMEyf1bSbiXdVU5HZ4ruwb2wg6cUOgpOfb4Q3_nUSvmA5La04AwU4CRVni8AW7-5S2K2zSPebg_9XiqT7jxPCViDtKdTNtFBS_ZhzVbGUw742uS0yatVWs5kNxAcpcznbe48OotZM2tRjonMLdAFr-yS_q2d1sx8LFtpfnd6Jxv1bEPHMReRcp7OX0t6EDLK2okBdQ5uhBi1MYSUasvxeWwLlvoCVDaAlfH9J4s9JaC1wF53OSP1rNxRJMM0c7eLSyDtW3f2tM7iLhOn2dm7loi_kvk7zG0OYqIAemXHpjg5QQ99U853Pzzww3NzCg7Xn94l5kQeJJjHbxSyTxf9NMmC60QgBA\\",\\"advertising_id\\":\\"a82b2a72-c3bd-4732-8778-607906fabc0e\\",\\"limit_ad_tracking\\":false}","experiments":"","name":"GOOGLE Pixel 7 Pro","theme":"cl","id":"ftqqn23tins8v47ope9gridgq0","type":"REMOTE_CONTROL","receiverIdentityMatchStatus":"DOES_NOT_MATCH_RECEIVER"}',
upnp-tube   |   receiverIdentityMatchStatus: 'DOES_NOT_MATCH_RECEIVER'
upnp-tube   | }
upnp-tube   | [yt-cast-receiver.YouTubeApp] Posting bind data:
upnp-tube   | {
upnp-tube   |   count: '1',
upnp-tube   |   ofs: '2',
upnp-tube   |   req0__sc: 'onAutoplayModeChanged',
upnp-tube   |   req0_autoplayMode: 'ENABLED'
upnp-tube   | }
upnp-tube   | [yt-cast-receiver.YouTubeApp] postBind() completed (ofs: 2)
upnp-tube   | [yt-cast-receiver.YouTubeApp] Refresh autoplay Up Next
upnp-tube   | [yt-cast-receiver.YouTubeApp] Posting bind data:
upnp-tube   | { count: '1', ofs: '3', req0__sc: 'autoplayUpNext' }
upnp-tube   | [yt-cast-receiver.YouTubeApp] postBind() completed (ofs: 3)
upnp-tube   | Connected to GOOGLE Pixel 7 Pro
upnp-tube   | [object Object]
upnp-tube   | [yt-cast-receiver.YouTubeApp] Command #7 - setPlaylist received with the following data:
upnp-tube   | {
upnp-tube   |   ctt: 'APmki7TfhYCSuROdfCSbvCBQ3Jy3QSOlmKzFEZN1e4th32FLkrpOj5qFlf5AoAQZYaq1ebGMGKnMA58pSmUUqXXiq0U81V5ZEybzmPXZhcIeNDUofO8-1c6nEe3jOY-jN50JDQ2Y_gFM',
upnp-tube   |   sourceDeviceType: 'REMOTE_CONTROL',
upnp-tube   |   videoId: 'uRG37eNYi2k',
upnp-tube   |   playerParams: '',
upnp-tube   |   params: '',
upnp-tube   |   currentIndex: '0',
upnp-tube   |   listId: 'RQgnjDM7pgUnROMqxy_ZZ4uXwMY_Y',
upnp-tube   |   currentTime: '1750',
upnp-tube   |   eventDetails: '{"videoId":"uRG37eNYi2k","eventType":"VIDEO_ADDED","userAvatarUri":"https://yt3.ggpht.com/yti/ANjgQV_xRSqJlR4npof2giBPBJVKAa2z_jUoZyqpkn1OWAI=s240","user":"Eric"}',
upnp-tube   |   clickTrackingParams: 'CAAQhGciEwjtgpHnkLCFAxVsHAYAHZBoCL5I6Zbimt797Yi5AVoPRkV3aGF0X3RvX3dhdGNomgECCDE=',
upnp-tube   |   audioOnly: 'false',
upnp-tube   |   prioritizeMobileSenderPlaybackStateOnConnection: 'true',
upnp-tube   |   videoIds: 'uRG37eNYi2k',
upnp-tube   |   csn: 'TKMF8A'
upnp-tube   | }
upnp-tube   | [yt-cast-receiver.YouTubeApp] Requesting player to play video ID uRG37eNYi2k at position 1750s
upnp-tube   | [yt-cast-receiver.YouTubeApp] Reporting change in player state...
upnp-tube   | [🔊 192.168.178.196 - SYMFONISK Picture frame - RINCON_542A1B5239EE01400]: getPosition
upnp-tube   | [🔊 192.168.178.196 - SYMFONISK Picture frame - RINCON_542A1B5239EE01400]: getDuration
upnp-tube   | [🔊 192.168.178.196 - SYMFONISK Picture frame - RINCON_542A1B5239EE01400]: Play uRG37eNYi2k at position 1750s
upnp-tube   | /tmp/upnpTube/node_modules/upnp-client-ts/dist/main.js:826
upnp-tube   |                 if (error instanceof (0, $893004f96e9f65ff$export$a9a483eb6d8951f9) && error.extra.errorCode) throw new (0, $893004f96e9f65ff$export$f19ee4bfd5d67d71)(error.extra.errorCode);
upnp-tube   |                                                                                                    ^
upnp-tube   | 
upnp-tube   | TypeError: Cannot read properties of undefined (reading 'errorCode')
upnp-tube   |     at /tmp/upnpTube/node_modules/upnp-client-ts/dist/main.js:826:100
upnp-tube   |     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
upnp-tube   |     at async $8c0f11aae7c8eb13$export$4ac5edbbf5e258df.getPosition (/tmp/upnpTube/node_modules/upnp-client-ts/dist/main.js:847:30)
upnp-tube   | 
upnp-tube   | Node.js v21.7.2