youtube-dl

Another place where youtube-dl lives on
git clone git://git.oshgnacknak.de/youtube-dl.git
Log | Files | Refs | README | LICENSE

adobeconnect.py (1348B)


      1 # coding: utf-8
      2 from __future__ import unicode_literals
      3 
      4 from .common import InfoExtractor
      5 from ..compat import (
      6     compat_parse_qs,
      7     compat_urlparse,
      8 )
      9 
     10 
     11 class AdobeConnectIE(InfoExtractor):
     12     _VALID_URL = r'https?://\w+\.adobeconnect\.com/(?P<id>[\w-]+)'
     13 
     14     def _real_extract(self, url):
     15         video_id = self._match_id(url)
     16         webpage = self._download_webpage(url, video_id)
     17         title = self._html_search_regex(r'<title>(.+?)</title>', webpage, 'title')
     18         qs = compat_parse_qs(self._search_regex(r"swfUrl\s*=\s*'([^']+)'", webpage, 'swf url').split('?')[1])
     19         is_live = qs.get('isLive', ['false'])[0] == 'true'
     20         formats = []
     21         for con_string in qs['conStrings'][0].split(','):
     22             formats.append({
     23                 'format_id': con_string.split('://')[0],
     24                 'app': compat_urlparse.quote('?' + con_string.split('?')[1] + 'flvplayerapp/' + qs['appInstance'][0]),
     25                 'ext': 'flv',
     26                 'play_path': 'mp4:' + qs['streamName'][0],
     27                 'rtmp_conn': 'S:' + qs['ticket'][0],
     28                 'rtmp_live': is_live,
     29                 'url': con_string,
     30             })
     31 
     32         return {
     33             'id': video_id,
     34             'title': self._live_title(title) if is_live else title,
     35             'formats': formats,
     36             'is_live': is_live,
     37         }