-
-
Notifications
You must be signed in to change notification settings - Fork 6.9k
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
Facebook Pages videos are only downloaded in SD quality, but on FB page HD is available #9720
Comments
this seems to fix it: diff --git a/yt_dlp/extractor/facebook.py b/yt_dlp/extractor/facebook.py
index 834b1df18..b76407a5c 100644
--- a/yt_dlp/extractor/facebook.py
+++ b/yt_dlp/extractor/facebook.py
@@ -560,7 +560,7 @@ def extract_from_jsmods_instances(js_data):
js_data, lambda x: x['jsmods']['instances'], list) or [])
def extract_dash_manifest(video, formats):
- dash_manifest = video.get('dash_manifest')
+ dash_manifest = traverse_obj(video, 'dash_manifest', 'playlist', expected_type=str)
if dash_manifest:
formats.extend(self._parse_mpd_formats(
compat_etree_fromstring(urllib.parse.unquote_plus(dash_manifest)), $ yt-dlp -F https://facebook.com/475841587884690/videos/744372871141776
[facebook] Extracting URL: https://facebook.com/475841587884690/videos/744372871141776
[facebook] 744372871141776: Downloading webpage
[info] Available formats for 744372871141776:
ID EXT RESOLUTION │ FILESIZE TBR PROTO │ VCODEC VBR ACODEC ABR ASR MORE INFO
───────────────────────────────────────────────────────────────────────────────────────────────────────────────────
2890193591132187a m4a audio only │ ~ 10.64MiB 65k https │ audio only mp4a.40.5 65k 48k DASH audio, m4a_dash
sd mp4 unknown │ https │ unknown unknown
308764358916363v mp4 256x144 │ ~ 10.46MiB 64k https │ avc1.4D400C 64k video only DASH video, mp4_dash
454016937233089v mp4 426x240 │ ~ 23.25MiB 142k https │ avc1.4D4015 142k video only DASH video, mp4_dash
7151401058299907v mp4 640x360 │ ~ 40.43MiB 248k https │ avc1.4D401E 248k video only DASH video, mp4_dash
442595941470298v mp4 854x480 │ ~ 65.56MiB 402k https │ avc1.4D401F 402k video only DASH video, mp4_dash
448319621059078v mp4 1280x720 │ ~111.09MiB 681k https │ avc1.4D4020 681k video only DASH video, mp4_dash |
hello @bashonly , thanks for your fast reply and for your fix, but I'm not very familiar with Python, neither with the yt-dlp workflow. Is there anything I can do to apply your patch or it will be released soon in some specific version of yp-dlp? |
I'm also very interested in this fix, but I don't understand where I need to insert this code snippet to make it work. |
i have the same problem too. |
@elpresti |
Thanks a lot @bashonly , your fix works like a charm in the last version! |
Closes yt-dlp#9720 Authored by: bashonly
DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE
Checklist
Region
Worldwide, it's a public Facebook Page
Provide a description that is worded well enough to be understood
Hello, I'm experiencing an issue since some days ago, while trying to download a video from Facebook. The quality downloaded is 360, but the best available should be 720 (you can verify it from the Facebook Video Player). So I ran the "--print formats_table" in order to verify which quality alternatives is yt-dlp seeing for this video, and then I realize that it is only one SD alternative (which surely is the 360p previously downloaded), and the 720p alternative is not shown on the table.
Example: yt-dlp.exe -vU --print formats_table https://facebook.com/475841587884690/videos/744372871141776
Is this a bug from yt-dlp that will get fixed soon?
Thanks in advance.
Regards
Provide verbose output that clearly demonstrates the problem
yt-dlp -vU <your command line>
)'verbose': True
toYoutubeDL
params instead[debug] Command-line config
) and insert it belowComplete Verbose Output
The text was updated successfully, but these errors were encountered: