stigger / trakt-for-appletv

Trakt.tv scrobbler for Apple TV
49 stars 7 forks source link

KeyError: 'get_playback_resources_url' #22

Closed vicegold closed 2 years ago

vicegold commented 2 years ago

Getting this error when watching anything on Amazon Prime (Tried Nine Perfect Strangers S01E01 and Reacher S01E01).

~Could it be related to issues with the german version of Amazon Prime which I'm using (still watching english dubs)?~ Setting Amazon Prime Video to english does not fix the issue.


Traceback (most recent call last):
  File "/usr/lib/python3.9/threading.py", line 954, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.9/threading.py", line 892, in run
    self._target(*self._args, **self._kwargs)
  File "/home/laurids/trakt-for-appletv/scrobbling.py", line 118, in <lambda>
    Thread(target=lambda: inner()).start()
  File "/home/laurids/trakt-for-appletv/scrobbling.py", line 113, in inner
    handler(operation, progress)
  File "/home/laurids/trakt-for-appletv/scrobbling.py", line 316, in handle_amazon
    title, season, episode = self.get_amazon_details(self.now_playing_metadata.contentIdentifier)
  File "/home/laurids/trakt-for-appletv/scrobbling.py", line 326, in get_amazon_details
    url = self.config['amazon']['get_playback_resources_url'] % contentIdentifier
KeyError: 'get_playback_resources_url'```

Debug output

```uniqueIdentifier: "E5D2D7EB-96A8-485A-9FB8-22344387D823"
DEBUG:pyatv.protocols.mrp.protocol:Dispatching message with type 56 (UpdateContentItemMessage) to Listener(func=<bound method PlayerStateManager._handle_content_item_update of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb2cfe0a0>>, data=None)
DEBUG:pyatv.protocols.mrp.protocol:Dispatching message with type 56 (UpdateContentItemMessage) to Listener(func=<bound method ScrobblingRemoteProtocol.message_received of <scrobbling.ScrobblingRemoteProtocol object at 0xb6329b08>>, data=None)
DEBUG:pyatv.auth.hap_channel:Sending data (Encrypted=20009b53323b1918305f27d654a513da049caa15125e052945d745daf028a7a8ef1bfbbd71c12a28685197c07b8b758951e4)
DEBUG:pyatv.core.protocol:Sending periodic heartbeat 3 (AirPlay:192.168.7.244)
DEBUG:pyatv.support.http:Sending RTSP/1.0 message: b'POST /feedback RTSP/1.0\r\nUser-Agent: AirPlay/540.31\r\nCSeq: 6\r\nDACP-ID: 352A465737D0965\r\nActive-Remote: 1692163350\r\nClient-Instance: 352A465737D0965\r\n\r\n'
DEBUG:pyatv.support.http:Received: b'RTSP/1.0 200 OK\r\nDate: Wed, 16 Feb 2022 12:57:46 GMT\r\nContent-Length: 55\r\nContent-Type: application/x-apple-binary-plist\r\nServer: AirTunes/605.1\r\nCSeq: 6\r\n\r\nbplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\x00\x00\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x14'
DEBUG:pyatv.support.http:Got RTSP response: HttpResponse(protocol='RTSP', version='1.0', code=200, message='OK', headers={'date': 'Wed, 16 Feb 2022 12:57:46 GMT', 'content-length': '55', 'content-type': 'application/x-apple-binary-plist', 'server': 'AirTunes/605.1', 'cseq': '6'}, body=b'bplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\x00\x00\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x14'):
DEBUG:pyatv.core.protocol:Got heartbeat 3 (AirPlay:192.168.7.244)
DEBUG:pyatv.core.protocol:Sending periodic heartbeat 4 (AirPlay:192.168.7.244)
DEBUG:pyatv.support.http:Sending RTSP/1.0 message: b'POST /feedback RTSP/1.0\r\nUser-Agent: AirPlay/540.31\r\nCSeq: 7\r\nDACP-ID: 352A465737D0965\r\nActive-Remote: 1692163350\r\nClient-Instance: 352A465737D0965\r\n\r\n'
DEBUG:pyatv.support.http:Received: b'RTSP/1.0 200 OK\r\nDate: Wed, 16 Feb 2022 12:57:48 GMT\r\nContent-Length: 55\r\nContent-Type: application/x-apple-binary-plist\r\nServer: AirTunes/605.1\r\nCSeq: 7\r\n\r\nbplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\x00\x00\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x14'
DEBUG:pyatv.support.http:Got RTSP response: HttpResponse(protocol='RTSP', version='1.0', code=200, message='OK', headers={'date': 'Wed, 16 Feb 2022 12:57:48 GMT', 'content-length': '55', 'content-type': 'application/x-apple-binary-plist', 'server': 'AirTunes/605.1', 'cseq': '7'}, body=b'bplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\x00\x00\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x14'):
DEBUG:pyatv.core.protocol:Got heartbeat 4 (AirPlay:192.168.7.244)
DEBUG:pyatv.auth.hap_channel:Received data (Data=20005fbc07642f551f42c787193b55a2c4894ae76117212e1b2a74e5251fc209bb7443cc3b56710f701275317cb1b3af3152bb0175f931e0dc85878e2d06dd322dd8e7953da95841ba6dce81d6dad545f198dcd5663c0efabe517d6797d5b528f91f628ffdf9261e167d0b0940e9819f2f2715c9b7149e858b2070ed87f1037a1313e6fe44a36f6d67f862ded8b065394c3deb25d0a392357d4e56e926de1d9a4808e9a2f39ad3d99f162f834f755f3815b0e951183277ea080a875ce8ebb27fb899f41ba644bcb29ce81c2b5f0016b770420b782f1af66550a8164bb3589c8f7004fbb0d89917636b3a14dbb8836eff0d74bc3675e756fbf3adbe297f2db...)
DEBUG:pyatv.protocols.airplay.mrp_connection:<< Receive: Protobuf: type: UPDATE_CONTENT_ITEM_MESSAGE
[updateContentItemMessage] {
  contentItems {
    identifier: "com.apple.avkit.537.d842d44c"
    metadata {
    }
    currentLanguageOptions {
      type: 0
      languageTag: "en-us"
      characteristics: "public.main-program-content"
      displayName: "Englisch (USA)"
      identifier: "English-en-us-Englisch (USA)"
    }
    currentLanguageOptions {
      type: 1
      languageTag: "en-us"
      characteristics: "public.main-program-content"
      displayName: "Englisch (USA)"
      identifier: "English-en-us-Englisch (USA)"
    }
  }
  playerPath {
    origin {
      displayName: "Apple TV Wohnzimmer"
      identifier: 1280262988
    }
    client {
      processIdentifier: 537
      bundleIdentifier: "com.amazon.aiv.AIVApp"
    }
    player {
      identifier: "avkit-39A74FE7-E84D-48D1-B252-16E432366BB7"
      displayName: "player-3"
      6: 0
    }
  }
}
uniqueIdentifier: "8C77C167-88C5-4164-BFE9-B6B5A6FB8108"
DEBUG:pyatv.protocols.mrp.protocol:Dispatching message with type 56 (UpdateContentItemMessage) to Listener(func=<bound method PlayerStateManager._handle_content_item_update of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb2cfe0a0>>, data=None)
DEBUG:pyatv.protocols.mrp.protocol:Dispatching message with type 56 (UpdateContentItemMessage) to Listener(func=<bound method ScrobblingRemoteProtocol.message_received of <scrobbling.ScrobblingRemoteProtocol object at 0xb6329b08>>, data=None)
DEBUG:pyatv.auth.hap_channel:Sending data (Encrypted=20006e1660a690462f79afb5ca9fb335b6e5b0e6193dca28e2506207adf2f39ebecc9de99a33847509801c1745d8fd222345)
DEBUG:pyatv.auth.hap_channel:Received data (Data=2000f66c76a85d4b31787dca0c8feca850851e21c4c94209eaf2cab858fd3a8bf220f3a0a27782c7824bdeab7ec942e06ea5e102905f9afe7eb581a62d47a06978026f43d3bf85951b54b75a5b70ca0f0a52b64c9e8c6754e86f03e60507cceb8845941b9cce011e66a9ff8c752fec35d8d764334e391b8b99b58ceee7d94bfc97b3be43460360a9e30df26a2a1820252d4c99024e225efd8d04c382052da9a087ca749ff7e2b5501c072eca2cc1cb1bde8fbfe996ca508c2e0458a5021ca6f99343202deee16261f6353bbd732a802f18ee15ad5da926ed7ef990bf5393c80c53d062882d5efa1eceb9e55538f31bb81263ba700706e2c4e7210460fcbf5...)
DEBUG:pyatv.protocols.airplay.mrp_connection:<< Receive: Protobuf: type: UPDATE_CONTENT_ITEM_MESSAGE
[updateContentItemMessage] {
  contentItems {
    identifier: "com.apple.avkit.537.d842d44c"
    metadata {
      title: "Und wenn sie nicht gestorben sind ..."
      duration: 3328.324
      artworkAvailable: true
      infoAvailable: true
      languageOptionsAvailable: true
      numberOfSections: 0
      elapsedTime: 4.270683418
      isAlwaysLive: false
      playbackRate: 1.0
      contentIdentifier: "amzn1.dv.gti.d19f1743-b380-41a2-85fd-a7020ab47157:DE"
      mediaType: Video
      nowPlayingInfoData: "bplist00\324\001\002\003\004\005\006\007\nX$versionY$archiverT$topX$objects\022\000\001\206\240_\020\017NSKeyedArchiver\...
      elapsedTimeTimestamp: 666709070.063147
      legacyUniqueIdentifier: -666708916
    }
  }
  playerPath {
    origin {
      displayName: "Apple TV Wohnzimmer"
      identifier: 1280262988
    }
    client {
      processIdentifier: 537
      bundleIdentifier: "com.amazon.aiv.AIVApp"
    }
    player {
      identifier: "avkit-39A74FE7-E84D-48D1-B252-16E432366BB7"
      displayName: "player-3"
      6: 0
    }
  }
}
uniqueIdentifier: "A72A1E90-DA11-4E22-A1FE-E46C7EB9C86B"
DEBUG:pyatv.protocols.mrp.protocol:Dispatching message with type 56 (UpdateContentItemMessage) to Listener(func=<bound method PlayerStateManager._handle_content_item_update of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb2cfe0a0>>, data=None)
DEBUG:pyatv.protocols.mrp.protocol:Dispatching message with type 56 (UpdateContentItemMessage) to Listener(func=<bound method ScrobblingRemoteProtocol.message_received of <scrobbling.ScrobblingRemoteProtocol object at 0xb6329b08>>, data=None)
DEBUG:pyatv.auth.hap_channel:Sending data (Encrypted=2000953a28d0ed58744a98641e2860e75756a758c4531da4e915eeac520c3aff0ea94b014605e8c3809d1cc347ed91e0911d)
DEBUG:pyatv.auth.hap_channel:Received data (Data=200060aa6a27a15b6530b98f5ae88a56cdc803c0b79e5f5ef8d0ce66876b86c0d1396fd6dc74a8ba01bbce692375bf4b9369cc11d89032d97d363e621a7b649e3a75aa104972af6dc2da17ed69e4a44366f649f45ce9a6a7f3ff245b2b17c310a4bf841f4f22d493cc411b6aa1ff8ec83cb4c042b84595a8814627c4d4a75c3d2fea0c6d1f8584377f131d1336d5d4b0ee40b328ac6dd312b1633c285da66fbc0d7f4749d1182a67ba80740386099d3ba7ba0521653de82e26391a3bc78e0506bcb221924c469c30a9dbe72ca02f79ba52fe3a1fddfd037e0e7b3372124272badea38f86b6ae5f4d99aa6aecddb116fa4a2d456b5af22c54eb31e220025e2...)
DEBUG:pyatv.protocols.airplay.mrp_connection:<< Receive: Protobuf: type: UPDATE_CONTENT_ITEM_MESSAGE
[updateContentItemMessage] {
  contentItems {
    identifier: "com.apple.avkit.537.d842d44c"
    metadata {
    }
    availableLanguageOptions {
      allowEmptySelection: false
      languageOptions {
        type: 0
        languageTag: "de-de"
        characteristics: "public.main-program-content"
        displayName: "Deutsch (Deutschland)"
        identifier: "Deutsch-de-de-Deutsch (Deutschland)"
      }
      languageOptions {
        type: 0
        languageTag: "en-us"
        characteristics: "public.main-program-content"
        displayName: "Englisch (USA)"
        identifier: "English-en-us-Englisch (USA)"
      }
      languageOptions {
        type: 0
        languageTag: "en-us"
        characteristics: "public.main-program-content"
        characteristics: "public.accessibility.describes-video"
        displayName: "Englisch (USA) AD"
        identifier: "English [Audio Description]-en-us-Englisch (USA) AD"
      }
      languageOptions {
        type: 0
        languageTag: "fr-fr"
        characteristics: "public.main-program-content"
        displayName: "Franz\303\266sisch (Frankreich)"
        identifier: "Fran\303\247ais-fr-fr-Franz\303\266sisch (Frankreich)"
      }
      languageOptions {
        type: 0
        languageTag: "hi-in"
        characteristics: "public.main-program-content"
        displayName: "Hindi (Indien)"
        identifier: "\340\244\271\340\244\277\340\244\250\340\245\215\340\244\246\340\245\200-hi-in-Hindi (Indien)"
      }
      languageOptions {
        type: 0
        languageTag: "it-it"
        characteristics: "public.main-program-content"
        displayName: "Italienisch (Italien)"
        identifier: "Italiano-it-it-Italienisch (Italien)"
      }
      languageOptions {
        type: 0
        languageTag: "pt-br"
        characteristics: "public.main-program-content"
        displayName: "Portugiesisch (Brasilien)"
        identifier: "Portugu\303\252s-pt-br-Portugiesisch (Brasilien)"
      }
      languageOptions {
        type: 0
        languageTag: "es-419"
        characteristics: "public.main-program-content"
        displayName: "Spanisch (Lateinamerika)"
        identifier: "Espa\303\261ol (Latinoam\303\251rica)-es-419-Spanisch (Lateinamerika)"
      }
      languageOptions {
        type: 0
        languageTag: "es-es"
        characteristics: "public.main-program-content"
        displayName: "Spanisch (Spanien)"
        identifier: "Espa\303\261ol (Espa\303\261a)-es-es-Spanisch (Spanien)"
      }
    }
    availableLanguageOptions {
      allowEmptySelection: true
      languageOptions {
        type: 1
        languageTag: "__AUTO__"
      }
      languageOptions {
        type: 1
        languageTag: "ar-ae"
        characteristics: "public.main-program-content"
        displayName: "Arabisch (Vereinigte Arabische Emirate)"
        identifier: "\330\247\331\204\330\271\330\261\330\250\331\212\330\251-ar-ae-Arabisch (Vereinigte Arabische Emirate)"
      }
      languageOptions {
        type: 1
        languageTag: "zh-hant"
        characteristics: "public.main-program-content"
        displayName: "Chinesisch (traditionell)"
        identifier: "\344\270\255\346\226\207\357\274\210\347\271\201\351\253\224\357\274\211-zh-hant-Chinesisch (traditionell)"
      }
      languageOptions {
        type: 1
        languageTag: "zh-hans"
        characteristics: "public.main-program-content"
        displayName: "Chinesisch (vereinfacht)"
        identifier: "\344\270\255\346\226\207\357\274\210\347\256\200\344\275\223\357\274\211-zh-hans-Chinesisch (vereinfacht)"
      }
      languageOptions {
        type: 1
        languageTag: "da-dk"
        characteristics: "public.main-program-content"
        displayName: "D\303\244nisch (D\303\244nemark)"
        identifier: "Dansk-da-dk-D\303\244nisch (D\303\244nemark)"
      }
      languageOptions {
        type: 1
        languageTag: "de-de"
        characteristics: "public.main-program-content"
        displayName: "Deutsch (Deutschland)"
        identifier: "Deutsch-de-de-Deutsch (Deutschland)"
      }
      languageOptions {
        type: 1
        languageTag: "en-us"
        characteristics: "public.main-program-content"
        displayName: "Englisch (USA)"
        identifier: "English-en-us-Englisch (USA)"
      }
      languageOptions {
        type: 1
        languageTag: "fil-ph"
        characteristics: "public.main-program-content"
        displayName: "Filipino (Philippinen)"
        identifier: "Filipino-fil-ph-Filipino (Philippinen)"
      }
      languageOptions {
        type: 1
        languageTag: "fi-fi"
        characteristics: "public.main-program-content"
        displayName: "Finnisch (Finnland)"
        identifier: "Suomi-fi-fi-Finnisch (Finnland)"
      }
      languageOptions {
        type: 1
        languageTag: "fr-fr"
        characteristics: "public.main-program-content"
        displayName: "Franz\303\266sisch (Frankreich)"
        identifier: "Fran\303\247ais-fr-fr-Franz\303\266sisch (Frankreich)"
      }
      languageOptions {
        type: 1
        languageTag: "el-gr"
        characteristics: "public.main-program-content"
        displayName: "Griechisch (Griechenland)"
        identifier: "\316\225\316\273\316\273\316\267\316\275\316\271\316\272\316\254-el-gr-Griechisch (Griechenland)"
      }
      languageOptions {
        type: 1
        languageTag: "he-il"
        characteristics: "public.main-program-content"
        displayName: "Hebr\303\244isch (Israel)"
        identifier: "\327\242\327\221\327\250\327\231\327\252-he-il-Hebr\303\244isch (Israel)"
      }
      languageOptions {
        type: 1
        languageTag: "hi-in"
        characteristics: "public.main-program-content"
        displayName: "Hindi (Indien)"
        identifier: "\340\244\271\340\244\277\340\244\250\340\245\215\340\244\246\340\245\200-hi-in-Hindi (Indien)"
      }
      languageOptions {
        type: 1
        languageTag: "it-it"
        characteristics: "public.main-program-content"
        displayName: "Italienisch (Italien)"
        identifier: "Italiano-it-it-Italienisch (Italien)"
      }
      languageOptions {
        type: 1
        languageTag: "ja-jp"
        characteristics: "public.main-program-content"
        displayName: "Japanisch (Japan)"
        identifier: "\346\227\245\346\234\254\350\252\236-ja-jp-Japanisch (Japan)"
      }
      languageOptions {
        type: 1
        languageTag: "ko-kr"
        characteristics: "public.main-program-content"
        displayName: "Koreanisch (S\303\274dkorea)"
        identifier: "\355\225\234\352\265\255\354\226\264-ko-kr-Koreanisch (S\303\274dkorea)"
      }
      languageOptions {
        type: 1
        languageTag: "ms-my"
        characteristics: "public.main-program-content"
        displayName: "Malaiisch (Malaysia)"
        identifier: "Bahasa Melayu-ms-my-Malaiisch (Malaysia)"
      }
      languageOptions {
        type: 1
        languageTag: "nl-nl"
        characteristics: "public.main-program-content"
        displayName: "Niederl\303\244ndisch (Niederlande)"
        identifier: "Nederlands-nl-nl-Niederl\303\244ndisch (Niederlande)"
      }
      languageOptions {
        type: 1
        languageTag: "nb-no"
        characteristics: "public.main-program-content"
        displayName: "Norwegisch (Bokm\303\245l, Norwegen)"
        identifier: "Norsk Bokm\303\245l-nb-no-Norwegisch (Bokm\303\245l, Norwegen)"
      }
      languageOptions {
        type: 1
        languageTag: "pl-pl"
        characteristics: "public.main-program-content"
        displayName: "Polnisch (Polen)"
        identifier: "Polski-pl-pl-Polnisch (Polen)"
      }
      languageOptions {
        type: 1
        languageTag: "pt-br"
        characteristics: "public.main-program-content"
        displayName: "Portugiesisch (Brasilien)"
        identifier: "Portugu\303\252s (Brasil)-pt-br-Portugiesisch (Brasilien)"
      }
      languageOptions {
        type: 1
        languageTag: "pt-pt"
        characteristics: "public.main-program-content"
        displayName: "Portugiesisch (Portugal)"
        identifier: "Portugu\303\252s (Portugal)-pt-pt-Portugiesisch (Portugal)"
      }
      languageOptions {
        type: 1
        languageTag: "ro-ro"
        characteristics: "public.main-program-content"
        displayName: "Rum\303\244nisch (Rum\303\244nien)"
        identifier: "Rom\303\242n\304\203-ro-ro-Rum\303\244nisch (Rum\303\244nien)"
      }
      languageOptions {
        type: 1
        languageTag: "ru-ru"
        characteristics: "public.main-program-content"
        displayName: "Russisch (Russland)"
        identifier: "\320\240\321\203\321\201\321\201\320\272\320\270\320\271-ru-ru-Russisch (Russland)"
      }
      languageOptions {
        type: 1
        languageTag: "sv-se"
        characteristics: "public.main-program-content"
        displayName: "Schwedisch (Schweden)"
        identifier: "Svenska-sv-se-Schwedisch (Schweden)"
      }
      languageOptions {
        type: 1
        languageTag: "es-419"
        characteristics: "public.main-program-content"
        displayName: "Spanisch (Lateinamerika)"
        identifier: "Espa\303\261ol (Latinoam\303\251rica)-es-419-Spanisch (Lateinamerika)"
      }
      languageOptions {
        type: 1
        languageTag: "es-es"
        characteristics: "public.main-program-content"
        displayName: "Spanisch (Spanien)"
        identifier: "Espa\303\261ol (Espa\303\261a)-es-es-Spanisch (Spanien)"
      }
      languageOptions {
        type: 1
        languageTag: "cs-cz"
        characteristics: "public.main-program-content"
        displayName: "Tschechisch (Tschechien)"
        identifier: "\304\214e\305\241tina-cs-cz-Tschechisch (Tschechien)"
      }
      languageOptions {
        type: 1
        languageTag: "tr-tr"
        characteristics: "public.main-program-content"
        displayName: "T\303\274rkisch (T\303\274rkei)"
        identifier: "T\303\274rk\303\247e-tr-tr-T\303\274rkisch (T\303\274rkei)"
      }
      languageOptions {
        type: 1
        languageTag: "hu-hu"
        characteristics: "public.main-program-content"
        displayName: "Ungarisch (Ungarn)"
        identifier: "Magyar-hu-hu-Ungarisch (Ungarn)"
      }
    }
    currentLanguageOptions {
      type: 0
      languageTag: "en-us"
      characteristics: "public.main-program-content"
      displayName: "Englisch (USA)"
      identifier: "English-en-us-Englisch (USA)"
    }
    currentLanguageOptions {
      type: 1
      languageTag: "en-us"
      characteristics: "public.main-program-content"
      displayName: "Englisch (USA)"
      identifier: "English-en-us-Englisch (USA)"
    }
  }
  playerPath {
    origin {
      displayName: "Apple TV Wohnzimmer"
      identifier: 1280262988
    }
    client {
      processIdentifier: 537
      bundleIdentifier: "com.amazon.aiv.AIVApp"
    }
    player {
      identifier: "avkit-39A74FE7-E84D-48D1-B252-16E432366BB7"
      displayName: "player-3"
      6: 0
    }
  }
}
uniqueIdentifier: "E887EDCD-AFED-43C6-993C-7B5758CF0DDA"
DEBUG:pyatv.protocols.mrp.protocol:Dispatching message with type 56 (UpdateContentItemMessage) to Listener(func=<bound method PlayerStateManager._handle_content_item_update of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb2cfe0a0>>, data=None)
DEBUG:pyatv.protocols.mrp.protocol:Dispatching message with type 56 (UpdateContentItemMessage) to Listener(func=<bound method ScrobblingRemoteProtocol.message_received of <scrobbling.ScrobblingRemoteProtocol object at 0xb6329b08>>, data=None)
DEBUG:pyatv.auth.hap_channel:Sending data (Encrypted=200070eedb237949f659043f0db7dfec340e7062fb5608592324998e8df99128bea30a9bdfca1144398800b4e251ec2e9602)
DEBUG:pyatv.core.protocol:Sending periodic heartbeat 5 (AirPlay:192.168.7.244)
DEBUG:pyatv.support.http:Sending RTSP/1.0 message: b'POST /feedback RTSP/1.0\r\nUser-Agent: AirPlay/540.31\r\nCSeq: 8\r\nDACP-ID: 352A465737D0965\r\nActive-Remote: 1692163350\r\nClient-Instance: 352A465737D0965\r\n\r\n'
DEBUG:pyatv.support.http:Received: b'RTSP/1.0 200 OK\r\nDate: Wed, 16 Feb 2022 12:57:50 GMT\r\nContent-Length: 55\r\nContent-Type: application/x-apple-binary-plist\r\nServer: AirTunes/605.1\r\nCSeq: 8\r\n\r\nbplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\x00\x00\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x14'
DEBUG:pyatv.support.http:Got RTSP response: HttpResponse(protocol='RTSP', version='1.0', code=200, message='OK', headers={'date': 'Wed, 16 Feb 2022 12:57:50 GMT', 'content-length': '55', 'content-type': 'application/x-apple-binary-plist', 'server': 'AirTunes/605.1', 'cseq': '8'}, body=b'bplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\x00\x00\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x14'):
DEBUG:pyatv.core.protocol:Got heartbeat 5 (AirPlay:192.168.7.244)
DEBUG:pyatv.auth.hap_channel:Received data (Data=2000e67160655ad0f3a6b9104598fac288bde3c82597da93ba238dda84ca3cc596234dfcbe6592ee39ddc95da2e78762e512)
DEBUG:pyatv.protocols.airplay.channels:Not enough data on data channel (has 32, expects 475)
DEBUG:pyatv.auth.hap_channel:Received data (Data=bb01b5b9ebfa9915124acd4850316a35e94f11ac0b89157325d66ad58e96e02c9061874a3cd28f2217e11731ec697a216cac0d9ed0f78f207c7133046e002058b50727a7975ddd9d087ab29a683c6bfa3ac1898d0c12153420747ca5b12bd0bbf6e8c1ca9ffc85e087fdc533df00eaf80ffc46cf2f845a2a00fdffb5b9bc99d94fdf980e81e5017ec9e18c6d98848ffdd125506ecec02ddc74a82ed40305cea98efcc89f42513ec84da9e5c33d29643875a43b306961fe10c9c9730a98666331a1a2b0d96f3c59f95dac541c90d85e56e0491127c7267234d8ad3f069595ce57d126bb262938dbbed5482def1dac44426b1927430c5845fbba4e0710b34e5...)
DEBUG:pyatv.protocols.airplay.mrp_connection:<< Receive: Protobuf: type: UPDATE_CONTENT_ITEM_MESSAGE
[updateContentItemMessage] {
  contentItems {
    identifier: "com.apple.avkit.537.d842d44c"
    metadata {
    }
    currentLanguageOptions {
      type: 0
      languageTag: "en-us"
      characteristics: "public.main-program-content"
      displayName: "Englisch (USA)"
      identifier: "English-en-us-Englisch (USA)"
    }
    currentLanguageOptions {
      type: 1
      languageTag: "en-us"
      characteristics: "public.main-program-content"
      displayName: "Englisch (USA)"
      identifier: "English-en-us-Englisch (USA)"
    }
  }
  playerPath {
    origin {
      displayName: "Apple TV Wohnzimmer"
      identifier: 1280262988
    }
    client {
      processIdentifier: 537
      bundleIdentifier: "com.amazon.aiv.AIVApp"
    }
    player {
      identifier: "avkit-39A74FE7-E84D-48D1-B252-16E432366BB7"
      displayName: "player-3"
      6: 0
    }
  }
}
uniqueIdentifier: "2F296C79-2062-4FEB-B776-C68E2BC33A99"
DEBUG:pyatv.protocols.mrp.protocol:Dispatching message with type 56 (UpdateContentItemMessage) to Listener(func=<bound method PlayerStateManager._handle_content_item_update of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb2cfe0a0>>, data=None)
DEBUG:pyatv.protocols.mrp.protocol:Dispatching message with type 56 (UpdateContentItemMessage) to Listener(func=<bound method ScrobblingRemoteProtocol.message_received of <scrobbling.ScrobblingRemoteProtocol object at 0xb6329b08>>, data=None)
DEBUG:pyatv.auth.hap_channel:Sending data (Encrypted=20008b89ad2e6c793e6197e3a038a7edc374d0467994434886bdd8154ae56df16ed0e3583875954031d88806e86f3afe587b)
DEBUG:pyatv.auth.hap_channel:Received data (Data=200091480b8c1eb9a332a4585f28dfb17eb158dd93485831e29d5e33fbbf8be0003e85edf6ad8f2aeb3cdf1b24a779f80b46e10296c5e9d990f7d08b1dcceeb2886db834f22aaf199b6c064c263ebc06cc71a2dc211056bfd9bd59b1dab37a21eea7996643035bf21e9419689416589f49f18c3f3eef6db8d8d34753a9c3ad17cbb8b3a39e3df3f247fd47ab3ab05f247372d7f2947fd30a880e75b1a2de3365d5da66584050c6c18c8152df1ededefdb6dd0eac167f3737dea130820733caf4d7396f64e15ef2fb3177c4f08bb11b851a82b9178e9543aac71570f060b5291ba1d6593f8cf21ba0f50b94878619b3d3856b5bc615f5db94724ed0506de96...)
DEBUG:pyatv.protocols.airplay.mrp_connection:<< Receive: Protobuf: type: UPDATE_CONTENT_ITEM_MESSAGE
[updateContentItemMessage] {
  contentItems {
    identifier: "com.apple.avkit.537.d842d44c"
    metadata {
      title: "Und wenn sie nicht gestorben sind ..."
      duration: 3328.324
      artworkAvailable: true
      infoAvailable: true
      languageOptionsAvailable: true
      numberOfSections: 0
      elapsedTime: 5.486396542
      isAlwaysLive: false
      playbackRate: 1.0
      contentIdentifier: "amzn1.dv.gti.d19f1743-b380-41a2-85fd-a7020ab47157:DE"
      mediaType: Video
      nowPlayingInfoData: "bplist00\324\001\002\003\004\005\006\007\nX$versionY$archiverT$topX$objects\022\000\001\206\240_\020\017NSKeyedArchiver\...
      elapsedTimeTimestamp: 666709071.278839
      legacyUniqueIdentifier: -666708916
    }
  }
  playerPath {
    origin {
      displayName: "Apple TV Wohnzimmer"
      identifier: 1280262988
    }
    client {
      processIdentifier: 537
      bundleIdentifier: "com.amazon.aiv.AIVApp"
    }
    player {
      identifier: "avkit-39A74FE7-E84D-48D1-B252-16E432366BB7"
      displayName: "player-3"
      6: 0
    }
  }
}
uniqueIdentifier: "C6D07184-7A74-4572-8492-165A0770EA7C"
DEBUG:pyatv.protocols.mrp.protocol:Dispatching message with type 56 (UpdateContentItemMessage) to Listener(func=<bound method PlayerStateManager._handle_content_item_update of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb2cfe0a0>>, data=None)
DEBUG:pyatv.protocols.mrp.protocol:Dispatching message with type 56 (UpdateContentItemMessage) to Listener(func=<bound method ScrobblingRemoteProtocol.message_received of <scrobbling.ScrobblingRemoteProtocol object at 0xb6329b08>>, data=None)
DEBUG:pyatv.auth.hap_channel:Sending data (Encrypted=200091fa875c9f164e338131fedca00a0c82563678241cd3bf6962ee42181d93f00f3208ceae4057ce35686afbdc961a48c4)
DEBUG:pyatv.auth.hap_channel:Received data (Data=2000b97d13358ed5e209520c2a9103ed0f85a58ad2a11dcba99736788bf6d6e4100e8789d1aec523c8e103934bd24e29488acc11de902b5e2c8bc13e6d4f1d2dbe62cdf226096fb5dc8a58e8ba89f36aced27bdcb6541e5c1a182680ca24a448b89601e275f89a11ce7cd3638fee2372153ab6190a877ebe2e2fbbce5181e4a222f699e5265226c1a0aabd69a3999ad50f799da3ca617bf770d8ccf011c5be6d92fa6c7d2360f6923a314ed7b743a841f4abd262c51c696277c3054a54d7370e0fb947c01ffd66e2b5866b81d324f9a519abb517453474671ca895ce60dd65d883e66b089ce4f1cd6ef2531157745517792beb988a010590df58089db169e...)
DEBUG:pyatv.protocols.airplay.mrp_connection:<< Receive: Protobuf: type: UPDATE_CONTENT_ITEM_MESSAGE
[updateContentItemMessage] {
  contentItems {
    identifier: "com.apple.avkit.537.d842d44c"
    metadata {
    }
    availableLanguageOptions {
      allowEmptySelection: false
      languageOptions {
        type: 0
        languageTag: "de-de"
        characteristics: "public.main-program-content"
        displayName: "Deutsch (Deutschland)"
        identifier: "Deutsch-de-de-Deutsch (Deutschland)"
      }
      languageOptions {
        type: 0
        languageTag: "en-us"
        characteristics: "public.main-program-content"
        displayName: "Englisch (USA)"
        identifier: "English-en-us-Englisch (USA)"
      }
      languageOptions {
        type: 0
        languageTag: "en-us"
        characteristics: "public.main-program-content"
        characteristics: "public.accessibility.describes-video"
        displayName: "Englisch (USA) AD"
        identifier: "English [Audio Description]-en-us-Englisch (USA) AD"
      }
      languageOptions {
        type: 0
        languageTag: "fr-fr"
        characteristics: "public.main-program-content"
        displayName: "Franz\303\266sisch (Frankreich)"
        identifier: "Fran\303\247ais-fr-fr-Franz\303\266sisch (Frankreich)"
      }
      languageOptions {
        type: 0
        languageTag: "hi-in"
        characteristics: "public.main-program-content"
        displayName: "Hindi (Indien)"
        identifier: "\340\244\271\340\244\277\340\244\250\340\245\215\340\244\246\340\245\200-hi-in-Hindi (Indien)"
      }
      languageOptions {
        type: 0
        languageTag: "it-it"
        characteristics: "public.main-program-content"
        displayName: "Italienisch (Italien)"
        identifier: "Italiano-it-it-Italienisch (Italien)"
      }
      languageOptions {
        type: 0
        languageTag: "pt-br"
        characteristics: "public.main-program-content"
        displayName: "Portugiesisch (Brasilien)"
        identifier: "Portugu\303\252s-pt-br-Portugiesisch (Brasilien)"
      }
      languageOptions {
        type: 0
        languageTag: "es-419"
        characteristics: "public.main-program-content"
        displayName: "Spanisch (Lateinamerika)"
        identifier: "Espa\303\261ol (Latinoam\303\251rica)-es-419-Spanisch (Lateinamerika)"
      }
      languageOptions {
        type: 0
        languageTag: "es-es"
        characteristics: "public.main-program-content"
        displayName: "Spanisch (Spanien)"
        identifier: "Espa\303\261ol (Espa\303\261a)-es-es-Spanisch (Spanien)"
      }
    }
    availableLanguageOptions {
      allowEmptySelection: true
      languageOptions {
        type: 1
        languageTag: "__AUTO__"
      }
      languageOptions {
        type: 1
        languageTag: "ar-ae"
        characteristics: "public.main-program-content"
        displayName: "Arabisch (Vereinigte Arabische Emirate)"
        identifier: "\330\247\331\204\330\271\330\261\330\250\331\212\330\251-ar-ae-Arabisch (Vereinigte Arabische Emirate)"
      }
      languageOptions {
        type: 1
        languageTag: "zh-hant"
        characteristics: "public.main-program-content"
        displayName: "Chinesisch (traditionell)"
        identifier: "\344\270\255\346\226\207\357\274\210\347\271\201\351\253\224\357\274\211-zh-hant-Chinesisch (traditionell)"
      }
      languageOptions {
        type: 1
        languageTag: "zh-hans"
        characteristics: "public.main-program-content"
        displayName: "Chinesisch (vereinfacht)"
        identifier: "\344\270\255\346\226\207\357\274\210\347\256\200\344\275\223\357\274\211-zh-hans-Chinesisch (vereinfacht)"
      }
      languageOptions {
        type: 1
        languageTag: "da-dk"
        characteristics: "public.main-program-content"
        displayName: "D\303\244nisch (D\303\244nemark)"
        identifier: "Dansk-da-dk-D\303\244nisch (D\303\244nemark)"
      }
      languageOptions {
        type: 1
        languageTag: "de-de"
        characteristics: "public.main-program-content"
        displayName: "Deutsch (Deutschland)"
        identifier: "Deutsch-de-de-Deutsch (Deutschland)"
      }
      languageOptions {
        type: 1
        languageTag: "en-us"
        characteristics: "public.main-program-content"
        displayName: "Englisch (USA)"
        identifier: "English-en-us-Englisch (USA)"
      }
      languageOptions {
        type: 1
        languageTag: "fil-ph"
        characteristics: "public.main-program-content"
        displayName: "Filipino (Philippinen)"
        identifier: "Filipino-fil-ph-Filipino (Philippinen)"
      }
      languageOptions {
        type: 1
        languageTag: "fi-fi"
        characteristics: "public.main-program-content"
        displayName: "Finnisch (Finnland)"
        identifier: "Suomi-fi-fi-Finnisch (Finnland)"
      }
      languageOptions {
        type: 1
        languageTag: "fr-fr"
        characteristics: "public.main-program-content"
        displayName: "Franz\303\266sisch (Frankreich)"
        identifier: "Fran\303\247ais-fr-fr-Franz\303\266sisch (Frankreich)"
      }
      languageOptions {
        type: 1
        languageTag: "el-gr"
        characteristics: "public.main-program-content"
        displayName: "Griechisch (Griechenland)"
        identifier: "\316\225\316\273\316\273\316\267\316\275\316\271\316\272\316\254-el-gr-Griechisch (Griechenland)"
      }
      languageOptions {
        type: 1
        languageTag: "he-il"
        characteristics: "public.main-program-content"
        displayName: "Hebr\303\244isch (Israel)"
        identifier: "\327\242\327\221\327\250\327\231\327\252-he-il-Hebr\303\244isch (Israel)"
      }
      languageOptions {
        type: 1
        languageTag: "hi-in"
        characteristics: "public.main-program-content"
        displayName: "Hindi (Indien)"
        identifier: "\340\244\271\340\244\277\340\244\250\340\245\215\340\244\246\340\245\200-hi-in-Hindi (Indien)"
      }
      languageOptions {
        type: 1
        languageTag: "it-it"
        characteristics: "public.main-program-content"
        displayName: "Italienisch (Italien)"
        identifier: "Italiano-it-it-Italienisch (Italien)"
      }
      languageOptions {
        type: 1
        languageTag: "ja-jp"
        characteristics: "public.main-program-content"
        displayName: "Japanisch (Japan)"
        identifier: "\346\227\245\346\234\254\350\252\236-ja-jp-Japanisch (Japan)"
      }
      languageOptions {
        type: 1
        languageTag: "ko-kr"
        characteristics: "public.main-program-content"
        displayName: "Koreanisch (S\303\274dkorea)"
        identifier: "\355\225\234\352\265\255\354\226\264-ko-kr-Koreanisch (S\303\274dkorea)"
      }
      languageOptions {
        type: 1
        languageTag: "ms-my"
        characteristics: "public.main-program-content"
        displayName: "Malaiisch (Malaysia)"
        identifier: "Bahasa Melayu-ms-my-Malaiisch (Malaysia)"
      }
      languageOptions {
        type: 1
        languageTag: "nl-nl"
        characteristics: "public.main-program-content"
        displayName: "Niederl\303\244ndisch (Niederlande)"
        identifier: "Nederlands-nl-nl-Niederl\303\244ndisch (Niederlande)"
      }
      languageOptions {
        type: 1
        languageTag: "nb-no"
        characteristics: "public.main-program-content"
        displayName: "Norwegisch (Bokm\303\245l, Norwegen)"
        identifier: "Norsk Bokm\303\245l-nb-no-Norwegisch (Bokm\303\245l, Norwegen)"
      }
      languageOptions {
        type: 1
        languageTag: "pl-pl"
        characteristics: "public.main-program-content"
        displayName: "Polnisch (Polen)"
        identifier: "Polski-pl-pl-Polnisch (Polen)"
      }
      languageOptions {
        type: 1
        languageTag: "pt-br"
        characteristics: "public.main-program-content"
        displayName: "Portugiesisch (Brasilien)"
        identifier: "Portugu\303\252s (Brasil)-pt-br-Portugiesisch (Brasilien)"
      }
      languageOptions {
        type: 1
        languageTag: "pt-pt"
        characteristics: "public.main-program-content"
        displayName: "Portugiesisch (Portugal)"
        identifier: "Portugu\303\252s (Portugal)-pt-pt-Portugiesisch (Portugal)"
      }
      languageOptions {
        type: 1
        languageTag: "ro-ro"
        characteristics: "public.main-program-content"
        displayName: "Rum\303\244nisch (Rum\303\244nien)"
        identifier: "Rom\303\242n\304\203-ro-ro-Rum\303\244nisch (Rum\303\244nien)"
      }
      languageOptions {
        type: 1
        languageTag: "ru-ru"
        characteristics: "public.main-program-content"
        displayName: "Russisch (Russland)"
        identifier: "\320\240\321\203\321\201\321\201\320\272\320\270\320\271-ru-ru-Russisch (Russland)"
      }
      languageOptions {
        type: 1
        languageTag: "sv-se"
        characteristics: "public.main-program-content"
        displayName: "Schwedisch (Schweden)"
        identifier: "Svenska-sv-se-Schwedisch (Schweden)"
      }
      languageOptions {
        type: 1
        languageTag: "es-419"
        characteristics: "public.main-program-content"
        displayName: "Spanisch (Lateinamerika)"
        identifier: "Espa\303\261ol (Latinoam\303\251rica)-es-419-Spanisch (Lateinamerika)"
      }
      languageOptions {
        type: 1
        languageTag: "es-es"
        characteristics: "public.main-program-content"
        displayName: "Spanisch (Spanien)"
        identifier: "Espa\303\261ol (Espa\303\261a)-es-es-Spanisch (Spanien)"
      }
      languageOptions {
        type: 1
        languageTag: "cs-cz"
        characteristics: "public.main-program-content"
        displayName: "Tschechisch (Tschechien)"
        identifier: "\304\214e\305\241tina-cs-cz-Tschechisch (Tschechien)"
      }
      languageOptions {
        type: 1
        languageTag: "tr-tr"
        characteristics: "public.main-program-content"
        displayName: "T\303\274rkisch (T\303\274rkei)"
        identifier: "T\303\274rk\303\247e-tr-tr-T\303\274rkisch (T\303\274rkei)"
      }
      languageOptions {
        type: 1
        languageTag: "hu-hu"
        characteristics: "public.main-program-content"
        displayName: "Ungarisch (Ungarn)"
        identifier: "Magyar-hu-hu-Ungarisch (Ungarn)"
      }
    }
    currentLanguageOptions {
      type: 0
      languageTag: "en-us"
      characteristics: "public.main-program-content"
      displayName: "Englisch (USA)"
      identifier: "English-en-us-Englisch (USA)"
    }
    currentLanguageOptions {
      type: 1
      languageTag: "en-us"
      characteristics: "public.main-program-content"
      displayName: "Englisch (USA)"
      identifier: "English-en-us-Englisch (USA)"
    }
  }
  playerPath {
    origin {
      displayName: "Apple TV Wohnzimmer"
      identifier: 1280262988
    }
    client {
      processIdentifier: 537
      bundleIdentifier: "com.amazon.aiv.AIVApp"
    }
    player {
      identifier: "avkit-39A74FE7-E84D-48D1-B252-16E432366BB7"
      displayName: "player-3"
      6: 0
    }
  }
}```
stigger commented 2 years ago

Amazon prime requires some additional configuration, I added the details to the readme. Give it a try and let me know if there are any issues.

vicegold commented 2 years ago

Sorry, realized that myself by finding another issue. This comment helped me to get it running. Copying the URL from the Prime website threw some errors, but the one you posted worked. Thanks a lot!