bastimeyer · GitHub

Fixes #6432

@KOONWHITE @lloyd18
Please check and see if some streams are not working correctly. My local tests appeared fine, but I only checked one stream I picked randomly while using my local German IP address.
https://github.com/streamlink/streamlink/blob/master/CONTRIBUTING.md#pull-request-feedback

When requesting the input URL, their servers return an HTTP 500 status. That's also the case in your web browser, btw. Since extracting the user/channel ID from the HTML page which the previous plugin implementation did was already a bit questionable, the simple fix was to request it from their API instead.

$ ./script/test-plugin-urls.py pandalive -r CHANNEL flowerwar
:: https://w2.pandalive.co.kr/en/play/flowerwar
:::: Broadcast type: live
::  160p, 360p, 480p, 720p60, 1080p60, worst, best
:: https://www.pandalive.co.kr/live/play/flowerwar
:::: Broadcast type: live
::  160p, 360p, 480p, 720p60, 1080p60, worst, best
$ streamlink -l debug --hls-duration=5 -o /dev/null https://www.pandalive.co.kr/live/play/flowerwar best
[cli][debug] OS:         Linux-6.13.1-1-git-x86_64-with-glibc2.41
[cli][debug] Python:     3.13.1
[cli][debug] OpenSSL:    OpenSSL 3.4.0 22 Oct 2024
[cli][debug] Streamlink: 7.1.2+27.g03dc6a04
[cli][debug] Dependencies:
[cli][debug]  certifi: 2025.1.31
[cli][debug]  isodate: 0.7.2
[cli][debug]  lxml: 5.3.0
[cli][debug]  pycountry: 24.6.1
[cli][debug]  pycryptodome: 3.21.0
[cli][debug]  PySocks: 1.7.1
[cli][debug]  requests: 2.32.3
[cli][debug]  trio: 0.28.0
[cli][debug]  trio-websocket: 0.11.1
[cli][debug]  urllib3: 2.3.0
[cli][debug]  websocket-client: 1.8.0
[cli][debug] Arguments:
[cli][debug]  url=https://www.pandalive.co.kr/live/play/flowerwar
[cli][debug]  stream=['best']
[cli][debug]  --loglevel=debug
[cli][debug]  --player=/usr/bin/mpv
[cli][debug]  --output=/dev/null
[cli][debug]  --hls-duration=5.0
[cli][debug]  --webbrowser-headless=True
[cli][info] Found matching plugin pandalive for URL https://www.pandalive.co.kr/live/play/flowerwar
[plugins.pandalive][debug] user_id=24925015
[plugins.pandalive][info] Broadcast type: live
[utils.l10n][debug] Language code: en_US
[cli][info] Available streams: 160p (worst), 360p, 480p, 720p60, 1080p60 (best)
[cli][info] Opening stream: 1080p60 (hls)
[cli][info] Writing output to
/dev/null
[cli][debug] Checking file output
[stream.hls][debug] Reloading playlist
[cli][debug] Pre-buffering 8192 bytes
[stream.hls][debug] First Sequence: 12063; Last Sequence: 12076
[stream.hls][debug] Start offset: 0; Duration: 5; Start Sequence: 12074; End Sequence: None
[stream.hls][debug] Adding segment 12074 to queue
[stream.hls][debug] Adding segment 12075 to queue
[stream.hls][debug] Adding segment 12076 to queue
[stream.hls][info] Stopping stream early after 5
[stream.segmented][debug] Closing worker thread
[stream.hls][debug] Writing segment 12074 to output
[stream.hls][debug] Segment 12074 complete
[cli][debug] Writing stream to output
[stream.hls][debug] Writing segment 12075 to output
[stream.hls][debug] Segment 12075 complete
[stream.hls][debug] Writing segment 12076 to output
[stream.hls][debug] Segment 12076 complete
[stream.segmented][debug] Closing writer thread
[download] Written 6.03 MiB to /dev/null (0s)
[cli][info] Stream ended
[cli][info] Closing currently open stream...

Read the original on github.com ↗