Repository: streamlink/streamlink

Issue:
aljazeera error
[cli][info] Found matching plugin aljazeeraen for URL https://www.aljazeera.com/live/
[plugin.aljazeeraen][error] Could not find a video ID on this page
error: No playable streams found on this URL: https://www.aljazeera.com/live/



Discussion:
How can I fix this? I like aljazeera news very much through streamlink...
 
Playlist hasn't changed. 
If in doubt, you can find it in browsers network monitor or with Telerik fiddler.
Or you can simply copy it from here and use it as I do.

```
C:\>streamlink https://live-hls-web-aje.getaj.net/AJE/03.m3u8 best
[cli][info] Found matching plugin hls for URL https://live-hls-web-aje.getaj.net/AJE/03.m3u8
[cli][info] Available streams: live (worst, best)
[cli][info] Opening stream: live (hls)
[cli][info] Starting player: C:\P\VLC\vlc.exe
@johnthecracker 
This line worked for me here -> streamlink https://live-hls-web-aje.getaj.net/AJE/03.m3u8 best
thx a lot :+1: 
You can also use the master index for live:
```
streamlink https://live-hls-web-aje.getaj.net/AJE/index.m3u8
[cli][info] Found matching plugin hls for URL https://live-hls-web-aje.getaj.net/AJE/index.m3u8
Available streams: 240p (worst), 360p, 420p, 540p, 720p, 1080p (best)
```
There's also: https://www.youtube.com/channel/UCNye-wNBqNL5ZzHSJj3l8Bg


@mkbloke Thx a lot :+1: 

Resolving patch:
diff --git a/src/streamlink/plugins/aljazeeraen.py b/src/streamlink/plugins/aljazeeraen.py
deleted file mode 100644
--- a/src/streamlink/plugins/aljazeeraen.py
+++ /dev/null
@@ -1,39 +0,0 @@
-import re
-
-from streamlink.plugin import Plugin
-from streamlink.plugins.brightcove import BrightcovePlayer
-from streamlink.stream import RTMPStream
-
-
-class AlJazeeraEnglish(Plugin):
-    url_re = re.compile(r"https?://(?:\w+\.)?aljazeera\.com")
-    account_id = 665003303001
-    render_re = re.compile(r'''RenderPagesVideo\((?P<q>['"])(?P<id>\d+)(?P=q)''')  # VOD
-    video_id_re = re.compile(r'''videoId=(?P<id>\d+)["']''')  # Live
-
-    @classmethod
-    def can_handle_url(cls, url):
-        return cls.url_re.match(url) is not None
-
-    def _get_streams(self):
-        res = self.session.http.get(self.url)
-
-        # check two different styles to include the video id in the page
-        video_id_m = self.render_re.search(res.text) or self.video_id_re.search(res.text)
-        video_id = video_id_m and video_id_m.group("id")
-
-        if not video_id:
-            self.logger.error("Could not find a video ID on this page")
-            return
-
-        # Use BrightcovePlayer class to get the streams
-        self.logger.debug("Found video ID: {0}", video_id)
-        bp = BrightcovePlayer(self.session, self.account_id)
-
-        for q, s in bp.get_streams(video_id):
-            # RTMP Streams are listed, but they do not appear to work
-            if not isinstance(s, RTMPStream):
-                yield q, s
-
-
-__plugin__ = AlJazeeraEnglish


Test patch:
diff --git a/tests/plugins/test_aljazeeraen.py b/tests/plugins/test_aljazeeraen.py
deleted file mode 100644
--- a/tests/plugins/test_aljazeeraen.py
+++ /dev/null
@@ -1,20 +0,0 @@
-import unittest
-
-from streamlink.plugins.aljazeeraen import AlJazeeraEnglish
-
-
-class TestPluginAlJazeeraEnglish(unittest.TestCase):
-    def test_can_handle_url(self):
-        should_match = [
-            'https://www.aljazeera.com/live/',
-            'https://www.aljazeera.com/programmes/techknow/2017/04/science-sugar-170429141233635.html',
-        ]
-        for url in should_match:
-            self.assertTrue(AlJazeeraEnglish.can_handle_url(url))
-
-    def test_can_handle_url_negative(self):
-        should_not_match = [
-            'https://example.com/index.html',
-        ]
-        for url in should_not_match:
-            self.assertFalse(AlJazeeraEnglish.can_handle_url(url))