mpv-player / mpv-player/mpv

ytdl_hook.lua parse playlist error on bilibili interactive video

Open
#15,976 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

os:win
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/

Expected Behavior

N/A

Actual Behavior

Image
Line 1167 site is nil
https://github.com/mpv-player/mpv/blob/5338f4ba70903e7517bbfc7881e10ff13a912ffc/player/lua/ytdl_hook.lua#L1167-L1175

Log File

yt-dlp_stdout.json

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.