ytdl-org / youtube-dl

Command-line program to download videos from YouTube.com and other video sites
http://ytdl-org.github.io/youtube-dl/
The Unlicense
132.36k stars 10.04k forks source link

Site Support Request: BoyfriendTV #30299

Open SmoochySix4 opened 2 years ago

SmoochySix4 commented 2 years ago

Checklist

Example URLs

Description

Using youtube-dl on this site always defaults to the lowest quality with no other options for higher quality. Only the generic extractor is used. The HTML source of the pages that have HD video shows there are multiple streams with a description tag in the code. Example provided below of one of the videos from the list.

sources: {mp4:[{"src":"https:\/\/cdn.boyfriendtv.com\/key=PEvVLklSFwEraHVi56a-kA,end=1638351759\/ip=162.235.55.100\/speed=373916\/buffer=3.0\/2021-11\/hq_ade7857234800601182c4c91d95a4acc.mp4","desc":"720p","active":"true"},{"src":"https:\/\/cdn.boyfriendtv.com\/key=UZY7VOeHBpFlbNwc2AatHA,end=1638351759\/ip=162.235.55.100\/speed=179180\/buffer=3.0\/2021-11\/ade7857234800601182c4c91d95a4acc.mp4","desc":"480p","active":""},{"src":"https:\/\/cdn.boyfriendtv.com\/key=B4yKycOfc6sEuBduRdXGkA,end=1638351759\/ip=162.235.55.100\/speed=70290\/buffer=3.0\/2021-11\/m_ade7857234800601182c4c91d95a4acc.mp4","desc":"360p","active":""}]},

dirkf commented 2 years ago

The HTML <src> element served by the site lists one resolution. Presumably JS served by the site parses JSON similar to what you quote to access other resolutions.

The generic extractor, not unreasonably, looks for media links in the HTML of a web page. Unless there is a case that many sites are encoding media links using the same JSON format, a separate extractor would be needed. With a separate extractor for the single video pages, the generic extractor ought to handle the playlist automatically.

SmoochySix4 commented 2 years ago

Thank you for that information. Does that mean a separate extractor can be created to parse the video URLs in the HTML source?

dirkf commented 2 years ago

It could be if someone cared enough, but two issues should be considered:

The Manual also describes how to create an extractor.