Ejemplo n.º 1
0
 def download(self):
     info = grab_json(API_URL + "/programs/" + self.video_key)
     if "playlist" not in info:
         return False
     video_url = self.find_hls_url(info["playlist"])
     auth_token = self.get_auth_token()
     video_url = append_to_qs(video_url, {"hdnea": auth_token})
     return download_hls(self.filename, video_url)
Ejemplo n.º 2
0
 def download(self):
     info = grab_json(API_URL + "/programs/" + self.video_key, 3600)
     if "playlist" not in info:
         return False
     logging.debug("info json: %r", info)
     video_url = self.find_hls_url(info["playlist"])
     logging.debug("video url find_hls_url: %r", video_url)
     token, token_hostname = self.get_auth_details()
     video_url = self.add_auth_token_to_url(video_url, token,
                                            token_hostname)
     return download_hls(self.filename, video_url)
Ejemplo n.º 3
0
    def download(self):
        doc = grab_html(VIDEO_URL % self.video_id, 0)
        player_params = self.get_player_params(doc)
        release_url = player_params["releaseUrls"]["html"]

        doc = grab_xml(release_url, 0)
        video = doc.xpath("//smil:video", namespaces=NS)[0]
        video_url = video.attrib["src"]
        if not video_url:
            raise Exception("Unsupported video %s: %s" % (self.video_id, self.title))
        filename = self.title + ".ts"
        return download_hls(filename, video_url)
Ejemplo n.º 4
0
    def download(self):
        doc = grab_html(VIDEO_URL % self.video_id, 0)
        player_params = self.get_player_params(doc)
        release_url = player_params["releaseUrls"]["html"]

        doc = grab_xml(release_url, 0)
        video = doc.xpath("//smil:video", namespaces=NS)[0]
        video_url = video.attrib["src"]
        if not video_url:
            raise Exception("Unsupported video %s: %s" %
                            (self.video_id, self.title))
        filename = self.title + ".ts"
        return download_hls(filename, video_url)
Ejemplo n.º 5
0
    def try_hls(self):
        desc_url = append_to_qs(BRIGHTCOVE_API, {
            "token": self.token,
            "command": "find_video_by_id",
            "video_fields": "HLSURL",
            "video_id": self.video_id,
        })

        doc = grab_json(desc_url, 3600)
        video_url = doc["HLSURL"]
        if not video_url:
            return

        filename = self.title + ".ts"
        return lambda: download_hls(filename, video_url)
Ejemplo n.º 6
0
    def try_hls(self):
        desc_url = append_to_qs(
            BRIGHTCOVE_API, {
                "token": self.token,
                "command": "find_video_by_id",
                "video_fields": "HLSURL",
                "video_id": self.video_id,
            })

        doc = grab_json(desc_url, 3600)
        video_url = doc["HLSURL"]
        if not video_url:
            return

        filename = self.title + ".ts"
        return lambda: download_hls(filename, video_url)
Ejemplo n.º 7
0
    def download(self):
        with requests_cache.disabled():
            doc = grab_html(VIDEO_URL % self.video_id)
        player_params = self.get_player_params(doc)

        error = player_params.get("error", None)
        if error:
            print("Cannot download:", error)
            return False

        release_url = player_params["releaseUrls"]["html"]
        filename = self.title + ".ts"

        hls_url = self.get_hls_url(release_url)
        if hls_url:
            return download_hls(filename, hls_url)
        else:
            return download_mpd(filename, release_url)
Ejemplo n.º 8
0
 def download(self):
     info = grab_json(API_URL + "/programs/" + self.video_key, 3600)
     video_url = self.find_hls_url(info["playlist"])
     token, token_hostname= self.get_auth_details()
     video_url = self.add_auth_token_to_url(video_url, token, token_hostname)
     return download_hls(self.filename, video_url)
Ejemplo n.º 9
0
 def download(self):
     filename = self.title + ".ts"
     return download_hls(filename, self.video_url)