prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  [Tver] Can`t download Fuji TV video 
  <!--
  
  ######################################################################
    WARNING!
    IGNORING THE FOLLOWING TEMPLATE WILL RESULT IN ISSUE CLOSED AS INCOMPLETE
  ######################################################################
  
  -->
  
  
  ## Checklist
  
  <!--
  Carefully read and work through this check list in order to prevent the most common mistakes and misuse of youtube-dl:
  - First of, make sure you are using the latest version of youtube-dl. Run `youtube-dl --version` and ensure your version is 2021.04.07. If it's not, see https://yt-dl.org/update on how to update. Issues with outdated version will be REJECTED.
  - Make sure that all provided video/audio/playlist URLs (if any) are alive and playable in a browser.
  - Make sure that all URLs and arguments with special characters are properly quoted or escaped as explained in http://yt-dl.org/escape.
  - Search the bugtracker for similar issues: http://yt-dl.org/search-issues. DO NOT post duplicates.
  - Finally, put x into all relevant boxes (like this [x])
  -->
  
  - [x] I'm reporting a broken site support
  - [x] I've verified that I'm running youtube-dl version **2021.04.07**
  - [x] I've checked that all provided URLs are alive and playable in a browser
  - [x] I've checked that all URLs and arguments with special characters are properly quoted or escaped
  - [x] I've searched the bugtracker for similar issues including closed ones
  
  
  ## Verbose log
  
  ```
  [debug] System config: []
  [debug] User config: []
  [debug] Custom config: []
  [debug] Command-line args: ['-f', 'best', 'https://tver.jp/corner/f0072083', '-o', 'D:\\video\\download\\a.mp4', '-v']
  [debug] Encodings: locale cp932, fs mbcs, out cp932, pref cp932
  [debug] youtube-dl version 2021.04.07
  [debug] Python version 3.4.4 (CPython) - Windows-10-10.0.19041
  [debug] exe versions: ffmpeg 4.2, ffprobe 4.2
  [debug] Proxy map: {}
  [TVer] Downloading JSON metadata
  [TVer] f0072083: Downloading JSON metadata
  [FujiTVFODPlus7] 6191645753001: Downloading m3u8 information
  ERROR: No video formats found; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
  ```
  
  ## Description
  
  [TVer](tver.jp) is Japanese video site. Some TV stations are on this site posting a video.
  
  I can no longer download videos from a TV station called Fuji TV. I think the cause is a specification change. it become the same as any other TV station. (https://tver.jp/info/notice/3137.html) 
  Can you please support a new specification.
  Thanks. 
  
  --- END ISSUE ---
  
  Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
  --- BEGIN FILES ---
  Path: `youtube_dl/extractor/tver.py`
  Content:
  ```
  1 # coding: utf-8
  2 from __future__ import unicode_literals
  3 
  4 import re
  5 
  6 from .common import InfoExtractor
  7 from ..compat import compat_str
  8 from ..utils import (
  9     int_or_none,
  10     remove_start,
  11     smuggle_url,
  12     strip_or_none,
  13     try_get,
  14 )
  15 
  16 
  17 class TVerIE(InfoExtractor):
  18     _VALID_URL = r'https?://(?:www\.)?tver\.jp/(?P<path>(?:corner|episode|feature)/(?P<id>f?\d+))'
  19     # videos are only available for 7 days
  20     _TESTS = [{
  21         'url': 'https://tver.jp/corner/f0062178',
  22         'only_matching': True,
  23     }, {
  24         'url': 'https://tver.jp/feature/f0062413',
  25         'only_matching': True,
  26     }, {
  27         'url': 'https://tver.jp/episode/79622438',
  28         'only_matching': True,
  29     }, {
  30         # subtitle = ' '
  31         'url': 'https://tver.jp/corner/f0068870',
  32         'only_matching': True,
  33     }]
  34     _TOKEN = None
  35     BRIGHTCOVE_URL_TEMPLATE = 'http://players.brightcove.net/%s/default_default/index.html?videoId=%s'
  36 
  37     def _real_initialize(self):
  38         self._TOKEN = self._download_json(
  39             'https://tver.jp/api/access_token.php', None)['token']
  40 
  41     def _real_extract(self, url):
  42         path, video_id = re.match(self._VALID_URL, url).groups()
  43         main = self._download_json(
  44             'https://api.tver.jp/v4/' + path, video_id,
  45             query={'token': self._TOKEN})['main']
  46         p_id = main['publisher_id']
  47         service = remove_start(main['service'], 'ts_')
  48         info = {
  49             '_type': 'url_transparent',
  50             'description': try_get(main, lambda x: x['note'][0]['text'], compat_str),
  51             'episode_number': int_or_none(try_get(main, lambda x: x['ext']['episode_number'])),
  52         }
  53 
  54         if service == 'cx':
  55             title = main['title']
  56             subtitle = strip_or_none(main.get('subtitle'))
  57             if subtitle:
  58                 title += ' - ' + subtitle
  59             info.update({
  60                 'title': title,
  61                 'url': 'https://i.fod.fujitv.co.jp/plus7/web/%s/%s.html' % (p_id[:4], p_id),
  62                 'ie_key': 'FujiTVFODPlus7',
  63             })
  64         else:
  65             r_id = main['reference_id']
  66             if service not in ('tx', 'russia2018', 'sebare2018live', 'gorin'):
  67                 r_id = 'ref:' + r_id
  68             bc_url = smuggle_url(
  69                 self.BRIGHTCOVE_URL_TEMPLATE % (p_id, r_id),
  70                 {'geo_countries': ['JP']})
  71             info.update({
  72                 'url': bc_url,
  73                 'ie_key': 'BrightcoveNew',
  74             })
  75 
  76         return info
  77
  ```
  --- END FILES ---
  
  Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.
  
  Here is an example:
  
  ```diff
  diff --git a/examples/server_async.py b/examples/server_async.py
  --- a/examples/server_async.py
  +++ b/examples/server_async.py
  @@ -313,4 +313,4 @@
   
   
   if __name__ == "__main__":
  -    asyncio.run(run_async_server("."), debug=True)
  +    asyncio.run(run_async_server(), debug=True)
  diff --git a/examples/server_sync.py b/examples/server_sync.py
  --- a/examples/server_sync.py
  +++ b/examples/server_sync.py
  @@ -313,5 +313,5 @@
   
   
   if __name__ == "__main__":
  -    server = run_sync_server(".")
  +    server = run_sync_server()
       server.shutdown()
  
  ```
  
golden_diff: diff --git a/youtube_dl/extractor/tver.py b/youtube_dl/extractor/tver.py
  --- a/youtube_dl/extractor/tver.py
  +++ b/youtube_dl/extractor/tver.py
  @@ -9,7 +9,6 @@
       int_or_none,
       remove_start,
       smuggle_url,
  -    strip_or_none,
       try_get,
   )
   
  @@ -45,32 +44,18 @@
               query={'token': self._TOKEN})['main']
           p_id = main['publisher_id']
           service = remove_start(main['service'], 'ts_')
  -        info = {
  +
  +        r_id = main['reference_id']
  +        if service not in ('tx', 'russia2018', 'sebare2018live', 'gorin'):
  +            r_id = 'ref:' + r_id
  +        bc_url = smuggle_url(
  +            self.BRIGHTCOVE_URL_TEMPLATE % (p_id, r_id),
  +            {'geo_countries': ['JP']})
  +
  +        return {
               '_type': 'url_transparent',
               'description': try_get(main, lambda x: x['note'][0]['text'], compat_str),
               'episode_number': int_or_none(try_get(main, lambda x: x['ext']['episode_number'])),
  +            'url': bc_url,
  +            'ie_key': 'BrightcoveNew',
           }
  -
  -        if service == 'cx':
  -            title = main['title']
  -            subtitle = strip_or_none(main.get('subtitle'))
  -            if subtitle:
  -                title += ' - ' + subtitle
  -            info.update({
  -                'title': title,
  -                'url': 'https://i.fod.fujitv.co.jp/plus7/web/%s/%s.html' % (p_id[:4], p_id),
  -                'ie_key': 'FujiTVFODPlus7',
  -            })
  -        else:
  -            r_id = main['reference_id']
  -            if service not in ('tx', 'russia2018', 'sebare2018live', 'gorin'):
  -                r_id = 'ref:' + r_id
  -            bc_url = smuggle_url(
  -                self.BRIGHTCOVE_URL_TEMPLATE % (p_id, r_id),
  -                {'geo_countries': ['JP']})
  -            info.update({
  -                'url': bc_url,
  -                'ie_key': 'BrightcoveNew',
  -            })
  -
  -        return info
  
verification_info: {"golden_diff": "diff --git a/youtube_dl/extractor/tver.py b/youtube_dl/extractor/tver.py\n--- a/youtube_dl/extractor/tver.py\n+++ b/youtube_dl/extractor/tver.py\n@@ -9,7 +9,6 @@\n     int_or_none,\n     remove_start,\n     smuggle_url,\n-    strip_or_none,\n     try_get,\n )\n \n@@ -45,32 +44,18 @@\n             query={'token': self._TOKEN})['main']\n         p_id = main['publisher_id']\n         service = remove_start(main['service'], 'ts_')\n-        info = {\n+\n+        r_id = main['reference_id']\n+        if service not in ('tx', 'russia2018', 'sebare2018live', 'gorin'):\n+            r_id = 'ref:' + r_id\n+        bc_url = smuggle_url(\n+            self.BRIGHTCOVE_URL_TEMPLATE % (p_id, r_id),\n+            {'geo_countries': ['JP']})\n+\n+        return {\n             '_type': 'url_transparent',\n             'description': try_get(main, lambda x: x['note'][0]['text'], compat_str),\n             'episode_number': int_or_none(try_get(main, lambda x: x['ext']['episode_number'])),\n+            'url': bc_url,\n+            'ie_key': 'BrightcoveNew',\n         }\n-\n-        if service == 'cx':\n-            title = main['title']\n-            subtitle = strip_or_none(main.get('subtitle'))\n-            if subtitle:\n-                title += ' - ' + subtitle\n-            info.update({\n-                'title': title,\n-                'url': 'https://i.fod.fujitv.co.jp/plus7/web/%s/%s.html' % (p_id[:4], p_id),\n-                'ie_key': 'FujiTVFODPlus7',\n-            })\n-        else:\n-            r_id = main['reference_id']\n-            if service not in ('tx', 'russia2018', 'sebare2018live', 'gorin'):\n-                r_id = 'ref:' + r_id\n-            bc_url = smuggle_url(\n-                self.BRIGHTCOVE_URL_TEMPLATE % (p_id, r_id),\n-                {'geo_countries': ['JP']})\n-            info.update({\n-                'url': bc_url,\n-                'ie_key': 'BrightcoveNew',\n-            })\n-\n-        return info\n", "issue": "[Tver] Can`t download Fuji TV video \n<!--\r\n\r\n######################################################################\r\n  WARNING!\r\n  IGNORING THE FOLLOWING TEMPLATE WILL RESULT IN ISSUE CLOSED AS INCOMPLETE\r\n######################################################################\r\n\r\n-->\r\n\r\n\r\n## Checklist\r\n\r\n<!--\r\nCarefully read and work through this check list in order to prevent the most common mistakes and misuse of youtube-dl:\r\n- First of, make sure you are using the latest version of youtube-dl. Run `youtube-dl --version` and ensure your version is 2021.04.07. If it's not, see https://yt-dl.org/update on how to update. Issues with outdated version will be REJECTED.\r\n- Make sure that all provided video/audio/playlist URLs (if any) are alive and playable in a browser.\r\n- Make sure that all URLs and arguments with special characters are properly quoted or escaped as explained in http://yt-dl.org/escape.\r\n- Search the bugtracker for similar issues: http://yt-dl.org/search-issues. DO NOT post duplicates.\r\n- Finally, put x into all relevant boxes (like this [x])\r\n-->\r\n\r\n- [x] I'm reporting a broken site support\r\n- [x] I've verified that I'm running youtube-dl version **2021.04.07**\r\n- [x] I've checked that all provided URLs are alive and playable in a browser\r\n- [x] I've checked that all URLs and arguments with special characters are properly quoted or escaped\r\n- [x] I've searched the bugtracker for similar issues including closed ones\r\n\r\n\r\n## Verbose log\r\n\r\n```\r\n[debug] System config: []\r\n[debug] User config: []\r\n[debug] Custom config: []\r\n[debug] Command-line args: ['-f', 'best', 'https://tver.jp/corner/f0072083', '-o', 'D:\\\\video\\\\download\\\\a.mp4', '-v']\r\n[debug] Encodings: locale cp932, fs mbcs, out cp932, pref cp932\r\n[debug] youtube-dl version 2021.04.07\r\n[debug] Python version 3.4.4 (CPython) - Windows-10-10.0.19041\r\n[debug] exe versions: ffmpeg 4.2, ffprobe 4.2\r\n[debug] Proxy map: {}\r\n[TVer] Downloading JSON metadata\r\n[TVer] f0072083: Downloading JSON metadata\r\n[FujiTVFODPlus7] 6191645753001: Downloading m3u8 information\r\nERROR: No video formats found; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.\r\n```\r\n\r\n## Description\r\n\r\n[TVer](tver.jp) is Japanese video site. Some TV stations are on this site posting a video.\r\n\r\nI can no longer download videos from a TV station called Fuji TV. I think the cause is a specification change. it become the same as any other TV station. (https://tver.jp/info/notice/3137.html) \r\nCan you please support a new specification.\r\nThanks. \n", "before_files": [{"content": "# coding: utf-8\nfrom __future__ import unicode_literals\n\nimport re\n\nfrom .common import InfoExtractor\nfrom ..compat import compat_str\nfrom ..utils import (\n    int_or_none,\n    remove_start,\n    smuggle_url,\n    strip_or_none,\n    try_get,\n)\n\n\nclass TVerIE(InfoExtractor):\n    _VALID_URL = r'https?://(?:www\\.)?tver\\.jp/(?P<path>(?:corner|episode|feature)/(?P<id>f?\\d+))'\n    # videos are only available for 7 days\n    _TESTS = [{\n        'url': 'https://tver.jp/corner/f0062178',\n        'only_matching': True,\n    }, {\n        'url': 'https://tver.jp/feature/f0062413',\n        'only_matching': True,\n    }, {\n        'url': 'https://tver.jp/episode/79622438',\n        'only_matching': True,\n    }, {\n        # subtitle = ' '\n        'url': 'https://tver.jp/corner/f0068870',\n        'only_matching': True,\n    }]\n    _TOKEN = None\n    BRIGHTCOVE_URL_TEMPLATE = 'http://players.brightcove.net/%s/default_default/index.html?videoId=%s'\n\n    def _real_initialize(self):\n        self._TOKEN = self._download_json(\n            'https://tver.jp/api/access_token.php', None)['token']\n\n    def _real_extract(self, url):\n        path, video_id = re.match(self._VALID_URL, url).groups()\n        main = self._download_json(\n            'https://api.tver.jp/v4/' + path, video_id,\n            query={'token': self._TOKEN})['main']\n        p_id = main['publisher_id']\n        service = remove_start(main['service'], 'ts_')\n        info = {\n            '_type': 'url_transparent',\n            'description': try_get(main, lambda x: x['note'][0]['text'], compat_str),\n            'episode_number': int_or_none(try_get(main, lambda x: x['ext']['episode_number'])),\n        }\n\n        if service == 'cx':\n            title = main['title']\n            subtitle = strip_or_none(main.get('subtitle'))\n            if subtitle:\n                title += ' - ' + subtitle\n            info.update({\n                'title': title,\n                'url': 'https://i.fod.fujitv.co.jp/plus7/web/%s/%s.html' % (p_id[:4], p_id),\n                'ie_key': 'FujiTVFODPlus7',\n            })\n        else:\n            r_id = main['reference_id']\n            if service not in ('tx', 'russia2018', 'sebare2018live', 'gorin'):\n                r_id = 'ref:' + r_id\n            bc_url = smuggle_url(\n                self.BRIGHTCOVE_URL_TEMPLATE % (p_id, r_id),\n                {'geo_countries': ['JP']})\n            info.update({\n                'url': bc_url,\n                'ie_key': 'BrightcoveNew',\n            })\n\n        return info\n", "path": "youtube_dl/extractor/tver.py"}], "after_files": [{"content": "# coding: utf-8\nfrom __future__ import unicode_literals\n\nimport re\n\nfrom .common import InfoExtractor\nfrom ..compat import compat_str\nfrom ..utils import (\n    int_or_none,\n    remove_start,\n    smuggle_url,\n    try_get,\n)\n\n\nclass TVerIE(InfoExtractor):\n    _VALID_URL = r'https?://(?:www\\.)?tver\\.jp/(?P<path>(?:corner|episode|feature)/(?P<id>f?\\d+))'\n    # videos are only available for 7 days\n    _TESTS = [{\n        'url': 'https://tver.jp/corner/f0062178',\n        'only_matching': True,\n    }, {\n        'url': 'https://tver.jp/feature/f0062413',\n        'only_matching': True,\n    }, {\n        'url': 'https://tver.jp/episode/79622438',\n        'only_matching': True,\n    }, {\n        # subtitle = ' '\n        'url': 'https://tver.jp/corner/f0068870',\n        'only_matching': True,\n    }]\n    _TOKEN = None\n    BRIGHTCOVE_URL_TEMPLATE = 'http://players.brightcove.net/%s/default_default/index.html?videoId=%s'\n\n    def _real_initialize(self):\n        self._TOKEN = self._download_json(\n            'https://tver.jp/api/access_token.php', None)['token']\n\n    def _real_extract(self, url):\n        path, video_id = re.match(self._VALID_URL, url).groups()\n        main = self._download_json(\n            'https://api.tver.jp/v4/' + path, video_id,\n            query={'token': self._TOKEN})['main']\n        p_id = main['publisher_id']\n        service = remove_start(main['service'], 'ts_')\n\n        r_id = main['reference_id']\n        if service not in ('tx', 'russia2018', 'sebare2018live', 'gorin'):\n            r_id = 'ref:' + r_id\n        bc_url = smuggle_url(\n            self.BRIGHTCOVE_URL_TEMPLATE % (p_id, r_id),\n            {'geo_countries': ['JP']})\n\n        return {\n            '_type': 'url_transparent',\n            'description': try_get(main, lambda x: x['note'][0]['text'], compat_str),\n            'episode_number': int_or_none(try_get(main, lambda x: x['ext']['episode_number'])),\n            'url': bc_url,\n            'ie_key': 'BrightcoveNew',\n        }\n", "path": "youtube_dl/extractor/tver.py"}]}