No service found for URL

I’m getting ‘No service found for URL’ when defining the video url directly to the VideoClipObject

2016-04-25 14:12:37,223 (7000029b8000) :  DEBUG (services:603) - No service found for URL 'https://stream.xxxxx.com/video/8/1/3/0/0/2/200318.mp4?st=jjkPJ6hv3KfLC1fnOs9vog&e=1461625957'
2016-04-25 14:12:37,224 (7000029b8000) :  DEBUG (services:618) - No matching services found for 'https://stream.xxxxx.com/video/8/1/3/0/0/2/200318.mp4?st=jjkPJ6hv3KfLC1fnOs9vog&e=1461625957'
2016-04-25 14:12:37,225 (7000029b8000) :  DEBUG (services:603) - No service found for URL 'https://stream.xxxxx.com/video/8/1/3/0/0/2/200318.mp4?st=jjkPJ6hv3KfLC1fnOs9vog&e=1461625957'
2016-04-25 14:12:37,227 (7000029b8000) :  CRITICAL (runtime:970) - Exception when constructing response (most recent call last):
  File "bundles-release/Framework.bundle-dist-ninja/Contents/Resources/Versions/2/Python/Framework/components/runtime.py", line 951, in construct_response
  File "bundles-release/Framework.bundle-dist-ninja/Contents/Resources/Versions/2/Python/Framework/api/objectkit.py", line 667, in _to_xml
  File "bundles-release/Framework.bundle-dist-ninja/Contents/Resources/Versions/2/Python/Framework/modelling/objects.py", line 382, in _to_xml
  File "bundles-release/Framework.bundle-dist-ninja/Contents/Resources/Versions/2/Python/Framework/modelling/objects.py", line 139, in _to_xml
  File "bundles-release/Framework.bundle-dist-ninja/Contents/Resources/Versions/2/Python/Framework/modelling/objects.py", line 145, in _append_children
  File "bundles-release/Framework.bundle-dist-ninja/Contents/Resources/Versions/2/Python/Framework/api/objectkit.py", line 580, in _to_xml
  File "bundles-release/Framework.bundle-dist-ninja/Contents/Resources/Versions/2/Python/Framework/components/services.py", line 557, in function_in_service_is_deferred
AttributeError: 'NoneType' object has no attribute 'sandbox'

When I use the MediaObject however, it seems the callback used in the key is never defined, here’s how I had that setup:

            videoclip_obj = VideoClipObject(
              key = Callback(VideoLookup, id=id, container=True),
              url = stream['file'],
              rating_key = id,
              title = obj.get('name'),
              thumb = API + 'view/thumb/' + obj['_id'] + '/940',
              summary = summary,
              items = [
                MediaObject(
                   parts = [
                    PartObject(key=Callback(PlayVideo, url=stream['file']))
                   ],
                   container = Container.MP4,
                   audio_codec = AudioCodec.AAC,
                   video_codec = VideoCodec.H264
                 )
              ]
            )

I have the PlayVideo function setup like this, I’ve tried without using @indirect and just using normal Redirect and this didn’t do anything. It never seems to get into this function. Any ideas? I see lots of different plugins on github and going through the source, so many are setup differently it’s difficult to tell exactly what’s suppose to be. Also, I find it’ll often work on Desktop, but then in Roku it won’t work, but then in Amazon Fire - it will. Any help would be really appreciated.

@route(PREFIX + '/playvideo', resolution=int)
@indirect
def PlayVideo(url):
  Log('--play video--')
  Log(url)
  return IndirectResponse(VideoClipObject, key=url)