Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Nebula] Support high-res AVC/H264 downloads #7588

Closed
9 of 10 tasks
Leseratte10 opened this issue Jul 14, 2023 · 4 comments · Fixed by #8566
Closed
9 of 10 tasks

[Nebula] Support high-res AVC/H264 downloads #7588

Leseratte10 opened this issue Jul 14, 2023 · 4 comments · Fixed by #8566
Labels
account-needed Account details are needed to test/fix this can-share-account Someone is willing to provide account details for development site-enhancement Feature request for some website

Comments

@Leseratte10
Copy link

Leseratte10 commented Jul 14, 2023

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

  • I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

Region

No response

Example URLs

https://nebula.tv/videos/jetlag-ep-5-we-played-a-96hour-game-of-capture-the-flag-across-japan
https://nebula.tv/videos/jetlag-ep-6-we-played-a-96hour-game-of-capture-the-flag-across-japan

Provide a description that is worded well enough to be understood

Right now when I use -F to find the available formats for a Nebula video, yt-dlp offers 360p, 540p, 720p in AVC encoding (H264), and 1080p, 1440p and 2160p in HVC encoding:

ID            EXT RESOLUTION FPS │   FILESIZE    TBR PROTO │ VCODEC           VBR ACODEC  
─────────────────────────────────────────────────────────────────────────────────────────────
audio-English mp4 audio only     │                   m3u8  │ audio only           unknown    
819           mp4 640x360     60 │ ~181.52MiB   820k m3u8  │ avc1.42C01F     820k video only
2283          mp4 960x540     60 │ ~505.69MiB  2284k m3u8  │ avc1.42C028    2284k video only
4672          mp4 1280x720    60 │ ~  1.01GiB  4672k m3u8  │ avc1.640029    4672k video only
5730          mp4 1920x1080   60 │ ~  1.24GiB  5731k m3u8  │ hvc1.2.4.L123  5731k video only
8024          mp4 2560x1440   60 │ ~  1.74GiB  8024k m3u8  │ hvc1.2.4.L150  8024k video only
16449         mp4 3840x2160   60 │ ~  3.56GiB 16450k m3u8  │ hvc1.2.4.L153 16450k video only

These are the exact same formats returned by the Nebula API at https://content.api.nebula.app/video_episodes/video_episode:2662249c-5844-4f2e-9caa-e74405e9d840/manifest.m3u8?token=token_censored

However when I watch a Nebula Video in Browser, it uses a slighly different URL - it appends the parameters &app_version=23.6.0&platform=web to the m3u8 URL.

Adding &platform=web to the M3U8 URL makes it return the higher-resolution videos (1080p and 1440p) in AVC / H264 as well:

$ yt-dlp -F "https://content.api.nebula.app/video_episodes/video_episode:2662249c-5844-4f2e-9caa-e74405e9d840/manifest.m3u8?token=token_censored&platform=web"

ID            EXT RESOLUTION FPS │   FILESIZE    TBR PROTO │ VCODEC           VBR ACODEC 
────────────────────────────────────────────────────────────────────────────────────────────
audio-English mp4 audio only     │                   m3u8  │ audio only           unknown 
810           mp4 640x360     60 │ ~334.80MiB   811k m3u8  │ avc1.42C01F     811k video only
2220          mp4 960x540     60 │ ~916.80MiB  2220k m3u8  │ avc1.42C028    2220k video only
4437          mp4 1280x720    60 │ ~  1.79GiB  4437k m3u8  │ avc1.640029    4437k video only
7487          mp4 1920x1080   60 │ ~  3.02GiB  7488k m3u8  │ avc1.64002A    7488k video only
11877         mp4 2560x1440   60 │ ~  4.79GiB 11878k m3u8  │ avc1.640034   11878k video only
15864         mp4 3840x2160   60 │ ~  6.40GiB 15864k m3u8  │ hvc1.2.4.L153 15864k video only

Can yt-dlp be made to automatically query the video twice when using the Nebula extractor, once without platform=web and once with platform=web? Or is there a seperate parameter for the Nebula extractor to trigger this "web" parameter?

I like to download videos in both H264 and H265 so I always have to get the M3U link from a browser to be able to set the parameters. I took a look at the Readme but it doesn't look like the Nebula extractor supports extractor arguments like YouTube does.

Basically, I'm looking for a command that results in this output (and/or lets me download all these formats):

ID            EXT RESOLUTION FPS │   FILESIZE    TBR PROTO │ VCODEC           VBR ACODEC 
────────────────────────────────────────────────────────────────────────────────────────────
audio-English mp4 audio only     │                   m3u8  │ audio only           unknown 
810           mp4 640x360     60 │ ~334.80MiB   811k m3u8  │ avc1.42C01F     811k video only
819           mp4 640x360     60 │ ~181.52MiB   820k m3u8  │ avc1.42C01F     820k video only
2220          mp4 960x540     60 │ ~916.80MiB  2220k m3u8  │ avc1.42C028    2220k video only
2283          mp4 960x540     60 │ ~505.69MiB  2284k m3u8  │ avc1.42C028    2284k video only
4437          mp4 1280x720    60 │ ~  1.79GiB  4437k m3u8  │ avc1.640029    4437k video only
4672          mp4 1280x720    60 │ ~  1.01GiB  4672k m3u8  │ avc1.640029    4672k video only
5730          mp4 1920x1080   60 │ ~  1.24GiB  5731k m3u8  │ hvc1.2.4.L123  5731k video only
7487          mp4 1920x1080   60 │ ~  3.02GiB  7488k m3u8  │ avc1.64002A    7488k video only
8024          mp4 2560x1440   60 │ ~  1.74GiB  8024k m3u8  │ hvc1.2.4.L150  8024k video only
11877         mp4 2560x1440   60 │ ~  4.79GiB 11878k m3u8  │ avc1.640034   11878k video only
15864         mp4 3840x2160   60 │ ~  6.40GiB 15864k m3u8  │ hvc1.2.4.L153 15864k video only
16449         mp4 3840x2160   60 │ ~  3.56GiB 16450k m3u8  │ hvc1.2.4.L153 16450k video only

(so I can download one of the 2160p formats, and the 1440p format both in H264 and H265).

Provide verbose output that clearly demonstrates the problem

  • Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
  • If using API, add 'verbose': True to YoutubeDL params instead
  • Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output

[debug] Command-line config: ['-vU', '-N8', '--username', 'PRIVATE', '--password', 'PRIVATE', '-F', 'https://nebula.tv/videos/jetlag-ep-4-we-played-a-96hour-game-of-capture-the-flag-across-japan']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version stable@2023.07.06 [b532a3481] (pip)
[debug] Python 3.8.10 (CPython x86_64 64bit) - Linux-5.15.0-58-generic-x86_64-with-glibc2.29 (OpenSSL 1.1.1f  31 Mar 2020, glibc 2.31)
[debug] exe versions: ffmpeg N-109005-g649d7cbda8 (fdk,setts), ffprobe N-109005-g649d7cbda8, rtmpdump 2.4
[debug] Optional libraries: Cryptodome-3.18.0, brotli-1.0.9, certifi-2023.05.07, mutagen-1.46.0, pyxattr-0.6.1, secretstorage-3.3.1, sqlite3-2.6.0, websockets-11.0.3
[debug] Proxy map: {}
[debug] Extractor Plugins: ARDPlusIE
[debug] Plugin directories: ['/home/florian/.config/yt-dlp/plugins/ardplus/yt_dlp_plugins']
[debug] Loaded 1856 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Available version: stable@2023.07.06, Current version: stable@2023.07.06
yt-dlp is up to date (stable@2023.07.06)
[Nebula] Logging in to Nebula with supplied credentials
[Nebula] Authorizing to Nebula
[Nebula] Extracting URL: https://nebula.tv/videos/jetlag-ep-4-we-played-a-96hour-game-of-capture-the-flag-across-japan
[Nebula] jetlag-ep-4-we-played-a-96hour-game-of-capture-the-flag-across-japan: Fetching video meta data
[Nebula] jetlag-ep-4-we-played-a-96hour-game-of-capture-the-flag-across-japan: Fetching video stream info
[Nebula] jetlag-ep-4-we-played-a-96hour-game-of-capture-the-flag-across-japan: Downloading m3u8 information
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, hdr:12(7), vcodec:vp9.2(10), channels, acodec, size, br, asr, proto, vext, aext, hasaud, source, id
[info] Available formats for 125fbb36-836d-4052-90ed-589e3047bac6:
ID            EXT RESOLUTION FPS │   FILESIZE    TBR PROTO │ VCODEC           VBR ACODEC     MORE INFO
─────────────────────────────────────────────────────────────────────────────────────────────────────────
audio-English mp4 audio only     │                   m3u8  │ audio only           unknown    [en] English
819           mp4 640x360     60 │ ~181.52MiB   820k m3u8  │ avc1.42C01F     820k video only
2283          mp4 960x540     60 │ ~505.69MiB  2284k m3u8  │ avc1.42C028    2284k video only
4672          mp4 1280x720    60 │ ~  1.01GiB  4672k m3u8  │ avc1.640029    4672k video only
5730          mp4 1920x1080   60 │ ~  1.24GiB  5731k m3u8  │ hvc1.2.4.L123  5731k video only
8024          mp4 2560x1440   60 │ ~  1.74GiB  8024k m3u8  │ hvc1.2.4.L150  8024k video only
16449         mp4 3840x2160   60 │ ~  3.56GiB 16450k m3u8  │ hvc1.2.4.L153 16450k video only
@Leseratte10 Leseratte10 added site-enhancement Feature request for some website triage Untriaged issue labels Jul 14, 2023
@bashonly bashonly added the account-needed Account details are needed to test/fix this label Jul 14, 2023
@pukkandan
Copy link
Member

There are multiple nebula issues open for which we basically know the fix but have no account to test with. If you can share account, I can have a look.

@pukkandan pukkandan removed the triage Untriaged issue label Jul 14, 2023
@Leseratte10
Copy link
Author

Leseratte10 commented Jul 14, 2023

Yeah, if necessary I can do that. Should I send mail and password to the email on your Github profile?

@pukkandan
Copy link
Member

Yes pls

Contact: discord (pukkandan#4207) / reddit (/u/pukkandan) / email (pukkandan.ytdlp@gmail.com)

@pukkandan pukkandan added the can-share-account Someone is willing to provide account details for development label Jul 14, 2023
@Leseratte10
Copy link
Author

I've sent you an email, thanks.

bashonly pushed a commit that referenced this issue Nov 20, 2023
Closes #4300, Closes #5814, Closes #7588, Closes #6334, Closes #6538
Authored by: elyse0, pukkandan, seproDev

Co-authored-by: Elyse <26639800+elyse0@users.noreply.github.com>
Co-authored-by: pukkandan <pukkandan.ytdlp@gmail.com>
aalsuwaidi pushed a commit to aalsuwaidi/yt-dlp that referenced this issue Apr 21, 2024
Closes yt-dlp#4300, Closes yt-dlp#5814, Closes yt-dlp#7588, Closes yt-dlp#6334, Closes yt-dlp#6538
Authored by: elyse0, pukkandan, seproDev

Co-authored-by: Elyse <26639800+elyse0@users.noreply.github.com>
Co-authored-by: pukkandan <pukkandan.ytdlp@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
account-needed Account details are needed to test/fix this can-share-account Someone is willing to provide account details for development site-enhancement Feature request for some website
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants