Ejemplo n.º 1
0
    def GetRemotingService(self, key, serviceName):
        logging.basicConfig(level=logging.DEBUG, format='%(asctime)s %(levelname)-5.5s [%(name)s] %(message)s')

        headers = self.GetHeaders()
        client = RemotingService(c_brightcove + "/services/messagebroker/amf?playerKey=" + key.encode("ascii"), amf_version=3,logger=logging, user_agent=headers['User-Agent'])

        if self.httpManager.GetIsForwardedForIP():
             forwardedIP = self.httpManager.GetForwardedForIP()
             client.addHeader(u'X-Forwarded-For', forwardedIP)

        # Connect to the Brightcove AMF service
        service = client.getService(serviceName)
  
        return service
Ejemplo n.º 2
0
    def GetRemotingService(self, key, serviceName):
        #logger.basicConfig(level=logging.DEBUG, format='%(asctime)s %(levelname)-5.5s [%(name)s] %(message)s')

        headers = self.GetHeaders()
        client = RemotingService(c_brightcove + "/services/messagebroker/amf?playerKey=" + key.encode("ascii"), amf_version=3,logger=logger, user_agent=headers['User-Agent'])

        if self.httpManager.GetIsForwardedForIP():
             forwardedIP = self.httpManager.GetForwardedForIP()
             client.addHeader(u'X-Forwarded-For', forwardedIP)

        # Connect to the Brightcove AMF service
        service = client.getService(serviceName)
  
        return service
Ejemplo n.º 3
0
def get_rtmpdump_info(domain, token, track, flash_url=None):
    '''Return a tuple of (app ID, RTMP url); raises an Exception on failure.'''

    if not flash_url:
        flash_url = resolve_url(FLASH_PLAYER_URL)

    svc = RemotingService(AMF_ENDPOINT, referer=flash_url, amf_version=3)
    svc.addHeader('Auth', chr(5))
    rdio_svc = svc.getService('rdio')

    pi = rdio_svc.getPlaybackInfo({
        'domain': domain,
        'playbackToken': token,
        'manualPlay': False,
        'playerName': 'api_544189',
        'type': 'flash',
        'key': track})
    if not pi:
        raise Exception, 'Failed to get playback info'

    return (
        'ondemand?' + pi['auth'],
        'rtmpe://cp102543.edgefcs.net:1935/ondemand/mp3:' + \
            pi['surl'].replace('30s-96', 'full-192'))
Ejemplo n.º 4
0
    op.error('missing required arguments')

key = args[0]
secret = args[1]
query = ' '.join(args[2:])

# Figure out the URL for the Flash player that we're going to 
# impersonate
flash_url = resolve_url(FLASH_PLAYER_URL)

# Create a REST API client
ra = Rdio(key, secret, {})

# Create an AMF API client
svc = RemotingService(AMF_ENDPOINT, referer=flash_url, amf_version=3)
svc.addHeader('Auth', chr(5))
rdio_svc = svc.getService('rdio')

# Search for the track to play
results = ra.search(query=query, types=','.join(['Track']),
    count=1)['results']
if not results:
    fail('no results found')

# Get a playback token
token = ra.getPlaybackToken(domain='std.in')

# Get playback information
#
# The end of the 'surl' value initially points to a 0:30 sample. Replace it to
# get the full track.