diff --git a/youtube_dl/extractor/recurbate.py b/youtube_dl/extractor/recurbate.py
index 4b203c97b..8c1d2be3b 100644
--- a/youtube_dl/extractor/recurbate.py
+++ b/youtube_dl/extractor/recurbate.py
@@ -1,6 +1,12 @@
 # coding: utf-8
 from __future__ import unicode_literals
 
+from ..utils import (
+    ExtractorError,
+    merge_dicts,
+    update_url_query,
+)
+
 from .common import InfoExtractor
 
 
@@ -13,7 +19,7 @@ class RecurbateIE(InfoExtractor):
             'ext': 'mp4',
             'title': 'Performer zsnicole33 show on 2022-10-25 20_23, Chaturbate Archive – Recurbate'
         },
-        'skip': 'Requires premium subscription cookie session',
+        'skip': 'Free videos are available for a limited amount of time and for a single session.',
     }
 
     def _real_extract(self, url):
@@ -21,14 +27,18 @@ class RecurbateIE(InfoExtractor):
         webpage = self._download_webpage(url, video_id)
 
         title = self._html_search_regex(r'<title>(.+?)</title>', webpage, 'title')
-        token = self._html_search_regex(r'data-token=(.+?")', webpage, 'play_button').strip("\"")
-        get_url = "https://recurbate.com/api/get.php?video={}&token={}".format(video_id, token)
+        token = self._html_search_regex(r'data-token=(.+?")', webpage, 'play_button').strip('"')
+        get_url = update_url_query('https://recurbate.com/api/get.php', {'video': video_id, 'token': token})
         video_webpage = self._download_webpage(get_url, video_id)
-        real_url = self._html_search_regex(r'<source src=(.+?) type=\"video\/mp4\"', video_webpage, 'mp4video').strip("\"")
-
-        return {
+        if 'shall_signin' in video_webpage[:20]:
+            raise ExtractorError(
+                "Login required: use --cookies to pass your browser's login cookie, or try again later",
+                expected=True)
+        entries = self._parse_html5_media_entries(get_url, video_webpage, video_id)
+        if not entries:
+            raise ExtractorError('No media links found')
+        return merge_dicts({
             'id': video_id,
             'title': title,
             'description': self._og_search_description(webpage),
-            'url': real_url,
-        }
+        }, entries[0])