ytdl_hook.lua parse playlist error on bilibili interactive video
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 37k
- Forks
- 3.5k
- Avg merge
- 1d 10h
- Merged PRs (30d)
- 22
Description
mpv Information
mpv v0.39.0-927-g5338f4ba7 Copyright © 2000-2025 mpv/MPlayer/mplayer2 projects
built on Feb 26 2025 16:05:41
libplacebo version: v7.350.0 (v7.349.0-37-g7de2415-dirty)
FFmpeg version: N-118547-ge24920375
FFmpeg library versions:
libavcodec 61.33.102
libavdevice 61.4.100
libavfilter 10.9.100
libavformat 61.9.107
libavutil 59.57.100
libswresample 5.4.100
libswscale 8.13.100
Other Information
- Windows version: Win11 24H2
- GPU model, driver and version:
- Source of mpv: https://github.com/zhongfly/mpv-winbuild/releases/tag/2025-02-26-5338f4b
- Latest known working version:
- Issue started after the following happened:
Reproduction Steps
Interactive video is a special type of video in bilibili, different choices will have different results, yt-dlp outputs all branches as a playlist.
https://www.bilibili.com/video/BV1g5pqeBEXP/
- source of yt-dlp: https://github.com/yt-dlp/yt-dlp/releases/tag/2025.02.19
- run
mpv "ytdl://https://www.bilibili.com/video/BV1g5pqeBEXP/"
Expected Behavior
N/A
Actual Behavior
Line 1167 site is nil
https://github.com/mpv-player/mpv/blob/5338f4ba70903e7517bbfc7881e10ff13a912ffc/player/lua/ytdl_hook.lua#L1167-L1175
Log File
Sample Files
N/A
I carefully read all instruction and confirm that I did the following:
- I tested with the latest mpv version to validate that the issue is not already fixed.
- I provided all required information including system and mpv version.
- I produced the log file with the exact same set of files, parameters, and conditions used in "Reproduction Steps", with the addition of
--log-file=output.txt. - I produced the log file while the behaviors described in "Actual Behavior" were actively observed.
- I attached the full, untruncated log file.
- I attached the backtrace in the case of a crash.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with player/lua/ytdl_hook.lua around lines 1167-1175 and reproduce the issue using the bilibili URL and the provided mpv command. Compare the attached yt-dlp_stdout.json with the playlist-parsing assumptions at the failing line. Done means the interactive video no longer errors when its branches are returned as a playlist.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- lua
- Domain
- cli
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100