diff options
| -rw-r--r-- | youtube_dl/extractor/__init__.py | 1 | ||||
| -rw-r--r-- | youtube_dl/extractor/commonprotocols.py | 36 | 
2 files changed, 37 insertions, 0 deletions
| diff --git a/youtube_dl/extractor/__init__.py b/youtube_dl/extractor/__init__.py index 725ebec04..acc0b03bd 100644 --- a/youtube_dl/extractor/__init__.py +++ b/youtube_dl/extractor/__init__.py @@ -136,6 +136,7 @@ from .collegerama import CollegeRamaIE  from .comedycentral import ComedyCentralIE, ComedyCentralShowsIE  from .comcarcoff import ComCarCoffIE  from .commonmistakes import CommonMistakesIE, UnicodeBOMIE +from .commonprotocols import RtmpIE  from .condenast import CondeNastIE  from .cracked import CrackedIE  from .crackle import CrackleIE diff --git a/youtube_dl/extractor/commonprotocols.py b/youtube_dl/extractor/commonprotocols.py new file mode 100644 index 000000000..5d130a170 --- /dev/null +++ b/youtube_dl/extractor/commonprotocols.py @@ -0,0 +1,36 @@ +from __future__ import unicode_literals + +import os + +from .common import InfoExtractor +from ..compat import ( +    compat_urllib_parse_unquote, +    compat_urlparse, +) +from ..utils import url_basename + + +class RtmpIE(InfoExtractor): +    IE_DESC = False  # Do not list +    _VALID_URL = r'(?i)rtmp[est]?://.+' + +    _TESTS = [{ +        'url': 'rtmp://cp44293.edgefcs.net/ondemand?auth=daEcTdydfdqcsb8cZcDbAaCbhamacbbawaS-bw7dBb-bWG-GqpGFqCpNCnGoyL&aifp=v001&slist=public/unsecure/audio/2c97899446428e4301471a8cb72b4b97--audio--pmg-20110908-0900a_flv_aac_med_int.mp4', +        'only_matching': True, +    }, { +        'url': 'rtmp://edge.live.hitbox.tv/live/dimak', +        'only_matching': True, +    }] + +    def _real_extract(self, url): +        video_id = compat_urllib_parse_unquote(os.path.splitext(url.rstrip('/').split('/')[-1])[0]) +        title = compat_urllib_parse_unquote(os.path.splitext(url_basename(url))[0]) +        return { +            'id': video_id, +            'title': title, +            'formats': [{ +                'url': url, +                'ext': 'flv', +                'format_id': compat_urlparse.urlparse(url).scheme, +            }], +        } | 
