Giter Club home page Giter Club logo

bunny-cdn-drm-video-dl's Introduction

Bunny CDN "DRM" Video Downloader

This is a simple Python class that I wrote to download Bunny CDN's "DRM" videos using yt-dlp.

Requirements

You only need to install yt-dlp and then you may integrate it within your script and modify it according to your needs:

pip install yt-dlp

or

python3 -m pip yt-dlp

It is also better to have FFmpeg installed on your system.

Usage

If you're willing to use the script as is, simply paste the the iframe embed page URL at the bottom where indicated between the quotes as well as the webpage referer and run the script:

python3 b-cdn-drm-vod-dl.py

Embed link structure: https://iframe.mediadelivery.net/embed/{video_library_id}/{video_id}


Alternatively, you may want to run this command once:

chmod +x b-cdn-drm-vod-dl.py

after that you can run it this way:

./b-cdn-drm-vod-dl.py

Expected Result

By default:

  • the highest resolution video is to be downloaded. You can change this behavior in the main_playlist function located under the prepare_dl method.
  • The video will be downloaded in the ~/Videos/Bunny CDN/ directory. This configuration can be changed by providing the path argument when instantiating a new BunnyVideoDRM object.
  • The video file name will be extracted from the embed page. This can be overridden by providing the name argument .

Please note that the video format will be always mp4.

Explanation

The idea is all about simulating what's happening in a browser.

The program runs a sequence of requests tied to a session first of which is the embed page request from which information are extracted such as the video name.

After that, the download link (that is the HLS/M3U8) is ready to be fed to yt-dlp to download the video segments, decrypt them (since Bunny CDN's "DRM" videos are encrypted with the AES-128 algorithm) and merge them into one playable video.

bunny-cdn-drm-video-dl's People

Contributors

mazed-up avatar nonab avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

bunny-cdn-drm-video-dl's Issues

Yt-dlp wont run?

I already have yt-dlp on my :C drive and added to my path variable. Why still is it saying yt-dlp not found when I run the script?

Most importantly, I saved it to a specific folder and added it to path and ran python3 b-cdn-drm-vod-dl.py on cmd but it does not run. I have python 3.8.10 installed because I run other scripts based on it.

Resolution

Hello Developer!

I have one question: it's possible to change resolution for downloading video from default maximum to 1280x720p in your script?

unsupported operand type(s) for |: 'type' and 'type'

HI,

I am getting the following error, am i doing something wrong ?

root@ashburn-node-ycdn:/# python3 b-cdn-drm-vod-dl.py
Traceback (most recent call last):
  File "b-cdn-drm-vod-dl.py", line 188, in <module>
    video.download()
  File "b-cdn-drm-vod-dl.py", line 147, in download
    resolution = self.prepare_dl()
  File "b-cdn-drm-vod-dl.py", line 96, in prepare_dl
    def ping(time: int | float, paused: str, res: str):
TypeError: unsupported operand type(s) for |: 'type' and 'type'

Issue #8 follow-up

          A hacky way to achieve this goal is edit the code as follows:
        ping(time=0, paused='true', res='0')
        activate()
-       resolution = main_playlist()
+       resolution = '1280x720'
        video_playlist()

Originally posted by @MaZED-UP in #8 (comment)

Thanks, but unfortunately, this doesn't work. Showing error:

[generic] Extracting URL: https://iframe.mediadelivery.net/9d8f8626-6059-4e7c-a166-b6888ebc730f/1280x720/video.drm?contextI...08-8a08-a97634d81847
[generic] video: Downloading webpage
ERROR: [generic] Unable to download webpage: HTTP Error 401: Unauthorized (caused by <HTTPError 401: Unauthorized>); please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
Traceback (most recent call last):
  File "C:\Python39\lib\site-packages\yt_dlp\networking\_urllib.py", line 396, in _send
    res = opener.open(urllib_req, timeout=float(request.extensions.get('timeout') or self.timeout))
  File "C:\Python39\lib\urllib\request.py", line 523, in open
    response = meth(req, response)
  File "C:\Python39\lib\urllib\request.py", line 632, in http_response
    response = self.parent.error(
  File "C:\Python39\lib\urllib\request.py", line 561, in error
    return self._call_chain(*args)
  File "C:\Python39\lib\urllib\request.py", line 494, in _call_chain
    result = func(*args)
  File "C:\Python39\lib\urllib\request.py", line 641, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 401: Unauthorized

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Python39\lib\site-packages\yt_dlp\YoutubeDL.py", line 4052, in urlopen
    return self._request_director.send(req)
  File "C:\Python39\lib\site-packages\yt_dlp\networking\common.py", line 114, in send
    response = handler.send(request)
  File "C:\Python39\lib\site-packages\yt_dlp\networking\_helper.py", line 204, in wrapper
    return func(self, *args, **kwargs)
  File "C:\Python39\lib\site-packages\yt_dlp\networking\common.py", line 325, in send
    return self._send(request)
  File "C:\Python39\lib\site-packages\yt_dlp\networking\_urllib.py", line 401, in _send
    raise HTTPError(UrllibResponseAdapter(e.fp), redirect_loop='redirect error' in str(e)) from e
yt_dlp.networking.exceptions.HTTPError: HTTP Error 401: Unauthorized

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Python39\lib\site-packages\yt_dlp\extractor\common.py", line 847, in _request_webpage
    return self._downloader.urlopen(self._create_request(url_or_request, data, headers, query))
  File "C:\Python39\lib\site-packages\yt_dlp\YoutubeDL.py", line 4074, in urlopen
    raise _CompatHTTPError(e) from e
yt_dlp.networking.exceptions._CompatHTTPError: HTTP Error 401: Unauthorized

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Python39\lib\site-packages\yt_dlp\YoutubeDL.py", line 1567, in wrapper
    return func(self, *args, **kwargs)
  File "C:\Python39\lib\site-packages\yt_dlp\YoutubeDL.py", line 1702, in __extract_info
    ie_result = ie.extract(url)
  File "C:\Python39\lib\site-packages\yt_dlp\extractor\common.py", line 715, in extract
    ie_result = self._real_extract(url)
  File "C:\Python39\lib\site-packages\yt_dlp\extractor\generic.py", line 2439, in _real_extract
    full_response = self._request_webpage(url, video_id, headers=filter_dict({
  File "C:\Python39\lib\site-packages\yt_dlp\extractor\common.py", line 860, in _request_webpage
    raise ExtractorError(errmsg, cause=err)
yt_dlp.utils.ExtractorError: [generic] Unable to download webpage: HTTP Error 401: Unauthorized (caused by <HTTPError 401: Unauthorized>); please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "i:\DownloadVideo\script.py", line 188, in <module>
    video.download()
  File "i:\DownloadVideo\script.py", line 174, in download
    ydl.download(url)
  File "C:\Python39\lib\site-packages\yt_dlp\YoutubeDL.py", line 3511, in download
    self.__download_wrapper(self.extract_info)(
  File "C:\Python39\lib\site-packages\yt_dlp\YoutubeDL.py", line 3486, in wrapper
    res = func(*args, **kwargs)
  File "C:\Python39\lib\site-packages\yt_dlp\YoutubeDL.py", line 1556, in extract_info
    return self.__extract_info(url, self.get_info_extractor(key), download, extra_info, process)
  File "C:\Python39\lib\site-packages\yt_dlp\YoutubeDL.py", line 1585, in wrapper
    self.report_error(str(e), e.format_traceback())
  File "C:\Python39\lib\site-packages\yt_dlp\YoutubeDL.py", line 1045, in report_error
    self.trouble(f'{self._format_err("ERROR:", self.Styles.ERROR)} {message}', *args, **kwargs)
  File "C:\Python39\lib\site-packages\yt_dlp\YoutubeDL.py", line 984, in trouble
    raise DownloadError(message, exc_info)
yt_dlp.utils.DownloadError: ERROR: [generic] Unable to download webpage: HTTP Error 401: Unauthorized (caused by <HTTPError 401: Unauthorized>); please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U```



Additionally: With default max resolution script is working, but not correct. Somehow script delete some already downloaded parts, usually first 10–15 parts. This caused a problem on the final stage, when all parts must be combined in one video file, script can't merge video.
            

Downloading Video

Hello,

I try to download this video : https://fdfmm.com/fdfmm1/video-1/
I got this iframe : https://iframe.mediadelivery.net/embed/123852/c43d53ec-1fd2-493c-ba9e-deca6ca83ff3?autoplay=false&loop=true&preload=true
I'm on Windows, so I wrote this command :

H:\Téléchargements\bunny-cdn-drm-video-dl-main\bunny-cdn-drm-video-dl-main>b-cdn-drm-vod-dl.py "https://iframe.mediadelivery.net/embed/123852/c43d53ec-1fd2-493c-ba9e-deca6ca83ff3"

H:\Téléchargements\bunny-cdn-drm-video-dl-main\bunny-cdn-drm-video-dl-main>

As you can see there is nothing as output...

Am I wrong in my command ?

Thanks for your help :-)

doesn't download vidio or not showing any error

when i run the script in window power shell as well as termux in android it does not dowload vidio or not showing any kind of error
only pop up in cmd show for just a second

and i am uploading photo and python script

Screenshot 2024-02-23 164419 [b-cdn-drm-vod-dl.txt](https://github.com/MaZED-UP/bunny-cdn-drm-video-dl/files/14384585/b-cdn-drm-vod-dl.txt)

Updates for Readme

Hello,

I'm so disappointed by your attitude : closing my request out of the blue, deleting my ticket without any comment...
I don't understand your annoyance, if I am asking questions, maybe other will too. It's an opportunity to complete your Readme.

By your attitude and your first reply I guess that your code doesn't work for no DRM video ? I throught that who can do the least can do the most...

If I'm right, maybe you can add to the Readme that the code has to be modified, and it's not working for no DRM videos.

I'm so sorry to have disturbed you, this will be my last message to you.

Best regards
P.S.: Sorry for my English, I'm not from English country.

Error b-cdn-drm-vod-dl.py

Traceback (most recent call last):
File "C:\Program Files (x86)\youtube-dl\b-cdn-drm-vod-dl.py", line 178, in
video = BunnyVideoDRM(
^^^^^^^^^^^^^^
File "C:\Program Files (x86)\youtube-dl\b-cdn-drm-vod-dl.py", line 84, in init
self.context_id, self.secret = search.group(1), search.group(2)
^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'group'

Same error in Linux.

Thank you for help!

Error opening input files: Server returned 404 Not Found

Error opening input: Server returned 404 Not Found
Error opening input file https://iframe.mediadelivery.net/2e8545ec-509d-4571-b855-4cf0235ccd75/1920x1080/<html><head><title>404 - File Not Found</title><link href='/fonts.bunny.net/css?family=Rubik:300,400,500' rel='stylesheet' type='text/css'><style>html, body { width: 100%; margin: 0; padding: 0; text-align: center; font-family: 'Rubik'; background-repeat: no-repeat; background-position: bottom center; background-size: cover; color: white; height: 100%; background-color: #313335; } h1 {margin-bottom: 0px;font-weight: bold;font-size: 140px;font-weight: 500;padding-top: 130px;margin-bottom: -35px;}h2 {font-size: 45px;color: white; font-weight: 200;}</style></head><body><div id='content'><h1 style='margin-bottom: -35px;'>404</h1><h2>File Not Found</h2></div></body></html>.
Error opening input files: Server returned 404 Not Found

ERROR: ffmpeg exited with code 3419392776 
Traceback (most recent call last):
  File "c:\Users\User\Documents\bny-cdn\bny-cdn.py", line 188, in <module>
    video.download()
  File "c:\Users\User\Documents\bny-cdn\bny-cdn.py", line 174, in download
    ydl.download(url)
  File "C:\Python311\Lib\site-packages\yt_dlp\YoutubeDL.py", line 3541, in download
    self.__download_wrapper(self.extract_info)(
  File "C:\Python311\Lib\site-packages\yt_dlp\YoutubeDL.py", line 3516, in wrapper
    res = func(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^
  File "C:\Python311\Lib\site-packages\yt_dlp\YoutubeDL.py", line 1576, in extract_info
    return self.__extract_info(url, self.get_info_extractor(key), download, extra_info, process)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Python311\Lib\site-packages\yt_dlp\YoutubeDL.py", line 1587, in wrapper
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Python311\Lib\site-packages\yt_dlp\YoutubeDL.py", line 1743, in __extract_info
    return self.process_ie_result(ie_result, download, extra_info)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Python311\Lib\site-packages\yt_dlp\YoutubeDL.py", line 1802, in process_ie_result
    ie_result = self.process_video_result(ie_result, download=download)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Python311\Lib\site-packages\yt_dlp\YoutubeDL.py", line 2952, in process_video_result
    self.process_info(new_info)
  File "C:\Python311\Lib\site-packages\yt_dlp\YoutubeDL.py", line 3418, in process_info
    success, real_download = self.dl(temp_filename, info_dict)
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Python311\Lib\site-packages\yt_dlp\YoutubeDL.py", line 3139, in dl
    return fd.download(name, new_info, subtitle)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Python311\Lib\site-packages\yt_dlp\downloader\common.py", line 455, in download
    ret = self.real_download(filename, info_dict)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Python311\Lib\site-packages\yt_dlp\downloader\external.py", line 80, in real_download
    self.report_error('%s exited with code %d' % (
  File "C:\Python311\Lib\site-packages\yt_dlp\YoutubeDL.py", line 1054, in report_error
    self.trouble(f'{self._format_err("ERROR:", self.Styles.ERROR)} {message}', *args, **kwargs)
  File "C:\Python311\Lib\site-packages\yt_dlp\YoutubeDL.py", line 993, in trouble
    raise DownloadError(message, exc_info)
yt_dlp.utils.DownloadError: ERROR: ffmpeg exited with code 3419392776

Size does not match in the mediadevliery embed

I have tried your program and it runs smoothly. However, I encountered an issue where the downloaded video size does not match the size on the web, and it is slightly cut off.

After trying to play it manually via the browser, I found that it needs to be in fullscreen mode first before it can play in the correct size.

Is there a possible solution for this?

RESULT VIDEO
ON VIDWO

Failed to download m3u8 information: HTTP Error 401: Unauthorized

Hi, I'm getting the following issue downloading videos. I filled in both embed_url and referer fields:

[generic] video: Downloading webpage
[generic] video: Downloading m3u8 information
ERROR: [generic] Failed to download m3u8 information: HTTP Error 401: Unauthorized (caused by <HTTPError 401: Unauthorized>); please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
Traceback (most recent call last):
  File "/Users/michal/.pyenv/versions/3.8.6/lib/python3.8/site-packages/yt_dlp/YoutubeDL.py", line 4082, in urlopen
    return self._request_director.send(req)
  File "/Users/michal/.pyenv/versions/3.8.6/lib/python3.8/site-packages/yt_dlp/networking/common.py", line 114, in send
    response = handler.send(request)
  File "/Users/michal/.pyenv/versions/3.8.6/lib/python3.8/site-packages/yt_dlp/networking/_helper.py", line 204, in wrapper
    return func(self, *args, **kwargs)
  File "/Users/michal/.pyenv/versions/3.8.6/lib/python3.8/site-packages/yt_dlp/networking/common.py", line 325, in send
    return self._send(request)
  File "/Users/michal/.pyenv/versions/3.8.6/lib/python3.8/site-packages/yt_dlp/networking/_requests.py", line 343, in _send
    raise HTTPError(res, redirect_loop=max_redirects_exceeded)
yt_dlp.networking.exceptions.HTTPError: HTTP Error 401: Unauthorized

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/Users/michal/.pyenv/versions/3.8.6/lib/python3.8/site-packages/yt_dlp/extractor/common.py", line 850, in _request_webpage
    return self._downloader.urlopen(self._create_request(url_or_request, data, headers, query))
  File "/Users/michal/.pyenv/versions/3.8.6/lib/python3.8/site-packages/yt_dlp/YoutubeDL.py", line 4114, in urlopen
    raise _CompatHTTPError(e) from e
yt_dlp.networking.exceptions._CompatHTTPError: HTTP Error 401: Unauthorized

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/michal/.pyenv/versions/3.8.6/lib/python3.8/site-packages/yt_dlp/YoutubeDL.py", line 1587, in wrapper
    return func(self, *args, **kwargs)
  File "/Users/michal/.pyenv/versions/3.8.6/lib/python3.8/site-packages/yt_dlp/YoutubeDL.py", line 1722, in __extract_info
    ie_result = ie.extract(url)
  File "/Users/michal/.pyenv/versions/3.8.6/lib/python3.8/site-packages/yt_dlp/extractor/common.py", line 718, in extract
    ie_result = self._real_extract(url)
  File "/Users/michal/.pyenv/versions/3.8.6/lib/python3.8/site-packages/yt_dlp/extractor/generic.py", line 2420, in _real_extract
    formats, subtitles = self._extract_m3u8_formats_and_subtitles(url, video_id, 'mp4', headers=headers)
  File "/Users/michal/.pyenv/versions/3.8.6/lib/python3.8/site-packages/yt_dlp/extractor/common.py", line 1968, in _extract_m3u8_formats_and_subtitles
    res = self._download_webpage_handle(
  File "/Users/michal/.pyenv/versions/3.8.6/lib/python3.8/site-packages/yt_dlp/extractor/common.py", line 906, in _download_webpage_handle
    urlh = self._request_webpage(url_or_request, video_id, note, errnote, fatal, data=data, headers=headers, query=query, expected_status=expected_status)
  File "/Users/michal/.pyenv/versions/3.8.6/lib/python3.8/site-packages/yt_dlp/extractor/common.py", line 863, in _request_webpage
    raise ExtractorError(errmsg, cause=err)
yt_dlp.utils.ExtractorError: [generic] Failed to download m3u8 information: HTTP Error 401: Unauthorized (caused by <HTTPError 401: Unauthorized>); please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "b-cdn-drm-vod-dl.py", line 188, in <module>
    video.download()
  File "b-cdn-drm-vod-dl.py", line 174, in download
    ydl.download(url)
  File "/Users/michal/.pyenv/versions/3.8.6/lib/python3.8/site-packages/yt_dlp/YoutubeDL.py", line 3541, in download
    self.__download_wrapper(self.extract_info)(
  File "/Users/michal/.pyenv/versions/3.8.6/lib/python3.8/site-packages/yt_dlp/YoutubeDL.py", line 3516, in wrapper
    res = func(*args, **kwargs)
  File "/Users/michal/.pyenv/versions/3.8.6/lib/python3.8/site-packages/yt_dlp/YoutubeDL.py", line 1576, in extract_info
    return self.__extract_info(url, self.get_info_extractor(key), download, extra_info, process)
  File "/Users/michal/.pyenv/versions/3.8.6/lib/python3.8/site-packages/yt_dlp/YoutubeDL.py", line 1605, in wrapper
    self.report_error(str(e), e.format_traceback())
  File "/Users/michal/.pyenv/versions/3.8.6/lib/python3.8/site-packages/yt_dlp/YoutubeDL.py", line 1054, in report_error
    self.trouble(f'{self._format_err("ERROR:", self.Styles.ERROR)} {message}', *args, **kwargs)
  File "/Users/michal/.pyenv/versions/3.8.6/lib/python3.8/site-packages/yt_dlp/YoutubeDL.py", line 993, in trouble
    raise DownloadError(message, exc_info)
yt_dlp.utils.DownloadError: ERROR: [generic] Failed to download m3u8 information: HTTP Error 401: Unauthorized (caused by <HTTPError 401: Unauthorized>); please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U```

`Latest version: [email protected] from yt-dlp/yt-dlp
yt-dlp is up to date ([email protected] from yt-dlp/yt-dlp)`

Cant download video

I try to download video from site similar
https://iframe.mediadelivery.net/embed/(some number)/b408bce8-c5e5-439e-bdef-b997a056d2be
and when i setup referer and embed url i recive some error:

Traceback (most recent call last):
File "C:\Users\Moka\Downloads\b-cdn-drm-vod-dl.py", line 179, in
video = BunnyVideoDRM(
^^^^^^^^^^^^^^
File "C:\Users\Moka\Downloads\b-cdn-drm-vod-dl.py", line 85, in init
self.context_id, self.secret = search.group(1), search.group(2)
^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'group'

HTTP error 404 Not Found

Error messages:

F:\Download\wget>python b-cdn-drm-vod-dl.py
[generic] Extracting URL: https://iframe.mediadelivery.net/7d440487-8835-4f15-9ab9-bd302e7097e2/1920x1080/video.drm?context...d4-af3f-c51c391b2cf3
[generic] video: Downloading webpage
[generic] video: Downloading m3u8 information
[generic] video: Checking m3u8 live status
[info] video: Downloading 1 format(s): 0
[download] Destination: temp\.20240309_011137  hellparty1mp4-yrvn74de3w.mp4\20240309_011137  hellparty1mp4-yrvn74de3w.mp4
[https @ 000002b5e072eec0] HTTP error 404 Not Found
https://iframe.mediadelivery.net/7d440487-8835-4f15-9ab9-bd302e7097e2/1920x1080/<html><head><title>404 - File Not Found</title><link href='/fonts.bunny.net/css?family=Rubik:300,400,500' rel='stylesheet' type='text/css'><style>html, body { width: 100%; margin: 0; padding: 0; text-align: center; font-family: 'Rubik'; background-repeat: no-repeat; background-position: bottom center; background-size: cover; color: white; height: 100%; background-color: #313335; } h1 {margin-bottom: 0px;font-weight: bold;font-size: 140px;font-weight: 500;padding-top: 130px;margin-bottom: -35px;}h2 {font-size: 45px;color: white; font-weight: 200;}</style></head><body><div id='content'><h1 style='margin-bottom: -35px;'>404</h1><h2>File Not Found</h2></div></body></html>: Server returned 404 Not Found


ERROR: ffmpeg exited with code 1
Traceback (most recent call last):
  File "F:\Download\wget\b-cdn-drm-vod-dl.py", line 188, in <module>
    video.download()
  File "F:\Download\wget\b-cdn-drm-vod-dl.py", line 174, in download
    ydl.download(url)
  File "C:\Users\VK\AppData\Local\Programs\Python\Python312\Lib\site-packages\yt_dlp\YoutubeDL.py", line 3558, in download
    self.__download_wrapper(self.extract_info)(
  File "C:\Users\VK\AppData\Local\Programs\Python\Python312\Lib\site-packages\yt_dlp\YoutubeDL.py", line 3533, in wrapper
    res = func(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\VK\AppData\Local\Programs\Python\Python312\Lib\site-packages\yt_dlp\YoutubeDL.py", line 1583, in extract_info
    return self.__extract_info(url, self.get_info_extractor(key), download, extra_info, process)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\VK\AppData\Local\Programs\Python\Python312\Lib\site-packages\yt_dlp\YoutubeDL.py", line 1594, in wrapper
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\VK\AppData\Local\Programs\Python\Python312\Lib\site-packages\yt_dlp\YoutubeDL.py", line 1750, in __extract_info
    return self.process_ie_result(ie_result, download, extra_info)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\VK\AppData\Local\Programs\Python\Python312\Lib\site-packages\yt_dlp\YoutubeDL.py", line 1809, in process_ie_result
    ie_result = self.process_video_result(ie_result, download=download)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\VK\AppData\Local\Programs\Python\Python312\Lib\site-packages\yt_dlp\YoutubeDL.py", line 2968, in process_video_result
    self.process_info(new_info)
  File "C:\Users\VK\AppData\Local\Programs\Python\Python312\Lib\site-packages\yt_dlp\YoutubeDL.py", line 3434, in process_info
    success, real_download = self.dl(temp_filename, info_dict)
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\VK\AppData\Local\Programs\Python\Python312\Lib\site-packages\yt_dlp\YoutubeDL.py", line 3155, in dl
    return fd.download(name, new_info, subtitle)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\VK\AppData\Local\Programs\Python\Python312\Lib\site-packages\yt_dlp\downloader\common.py", line 455, in download
    ret = self.real_download(filename, info_dict)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\VK\AppData\Local\Programs\Python\Python312\Lib\site-packages\yt_dlp\downloader\external.py", line 80, in real_download
    self.report_error('%s exited with code %d' % (
  File "C:\Users\VK\AppData\Local\Programs\Python\Python312\Lib\site-packages\yt_dlp\YoutubeDL.py", line 1061, in report_error
    self.trouble(f'{self._format_err("ERROR:", self.Styles.ERROR)} {message}', *args, **kwargs)
  File "C:\Users\VK\AppData\Local\Programs\Python\Python312\Lib\site-packages\yt_dlp\YoutubeDL.py", line 1000, in trouble
    raise DownloadError(message, exc_info)
yt_dlp.utils.DownloadError: ERROR: ffmpeg exited with code 1

<!DOCTYPE html> Syntax Error

Hi, I need your help, please...

While running the script I have an error:

File "/Users/ads/yt/b-cdn-drm-vod-dl.py", line 7
    <!DOCTYPE html>
    ^
SyntaxError: invalid syntax

But sincerly I don´t know whats going on...

Thanks in advance!!!!

AttributeError: 'NoneType' object has no attribute 'group'

Hello, im getting this error while running the script, it works fine before.

Traceback (most recent call last):
  File "c:\Users\fluf\Desktop\New folder\b-cdn-drm-vod-dl.py", line 183, in <module>
    video = BunnyVideoDRM(
  File "c:\Users\fluf\Desktop\New folder\b-cdn-drm-vod-dl.py", line 89, in __init__
    self.context_id, self.secret = search.group(1), search.group(2)
AttributeError: 'NoneType' object has no attribute 'group'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.