-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Description
Checklist
- This is a plugin issue and not a different kind of issue
- I have read the contribution guidelines
- I have checked the list of open and recently closed plugin issues
- I have checked the commit log of the master branch
Streamlink version
streamlink 6.5.0
Description
~$ streamlink --no-config --version
streamlink 6.5.0
For at least several weeks, Pluto has not been properly filtering out ads during the ad breaks. However, the issue manifests itself differently, depending on the Pluto channel, the time or show being presented on that channel, and the particular player (VLC and MPV) being used. Depending on the channel or time or show, the ads might be filtered like used to be normal. On other channels, most or all the ads are unfiltered. Sometimes, during an ad break, the show is paused, but the audio of the advertisements play, and the stream breaks. If the user starts watching a pluto channel during an ad break, I have seen the ads run smoothly and the actual program get filtered out as though it was the ad.
The variable, changing nature of the issue makes it hard for me to select a good sample of debug log output for diagnosing the issue. A channel which is experiencing the problem today might start filtering out ads properly later in the day during a different show. Or maybe the issue exists during one day but manifests itself a little differently on the next day. I am pasting a sample debug log from a couple of days ago, from a stream which, at the time at least, was not filtering out ads but otherwise running fairly smoothly. Also keep in mind that issue #5475 is still relevant, which requires the user to know the old urls of each stream in order to use streamlink. Please let me know if this debug log is not sufficient for some reason.
Step 1: enter "streamlink https://pluto.tv/en/live-tv/star-trek-1 best --loglevel=debug --auto-version-check=True --player=mpv --player-no-close=True" (I use a config file to enter most of these options, and I use one-click launchers on my desktop Linux to enter the command into the terminal for each stream I am interested in).
Step 2: watch the stream and wait for an ad break
Step 3: observe results and hope that the stream does not break
Step 4: close out of the stream after the ad break is over and the normal content resumes
Step 5: copy and paste the debug log from the event into a text editor.
Debug log
[cli][debug] OS: Linux-5.15.0-91-generic-x86_64-with-glibc2.35
[cli][debug] Python: 3.10.12
[cli][debug] OpenSSL: OpenSSL 3.0.2 15 Mar 2022
[cli][debug] Streamlink: 6.5.0
[cli][debug] Dependencies:
[cli][debug] certifi: 2023.7.22
[cli][debug] isodate: 0.6.1
[cli][debug] lxml: 4.8.0
[cli][debug] pycountry: 20.7.3
[cli][debug] pycryptodome: 3.19.0
[cli][debug] PySocks: 1.7.1
[cli][debug] requests: 2.31.0
[cli][debug] trio: 0.22.2
[cli][debug] trio-websocket: 0.11.1
[cli][debug] typing-extensions: 4.8.0
[cli][debug] urllib3: 2.1.0
[cli][debug] websocket-client: 1.2.3
[cli][debug] Arguments:
[cli][debug] url=https://pluto.tv/en/live-tv/star-trek-1
[cli][debug] --loglevel=debug
[cli][debug] --auto-version-check=True
[cli][debug] --player=mpv
[cli][debug] --player-no-close=True
[cli][debug] --default-stream=['best']
[cli][info] Found matching plugin pluto for URL https://pluto.tv/en/live-tv/star-trek-1
[plugins.pluto][debug] slug=star-trek-1
[plugins.pluto][debug] app_version=7.8.3-0cae52359d82558db2247a6ec8c0aca12b24f675
[plugins.pluto][debug] path=/stitch/hls/channel/5efbd39f8c4ce900075d7698/master.m3u8
[utils.l10n][debug] Language code: en_US
[cli][info] Available streams: 570k (worst), 1000k, 1500k, 2100k, 3100k (best)
[cli][info] Opening stream: 3100k (hls-pluto)
[cli][info] Starting player: mpv
[stream.hls][debug] Reloading playlist
[cli][debug] Pre-buffering 8192 bytes
[stream.hls][debug] Segments in this playlist are encrypted
[stream.hls][debug] First Sequence: 45; Last Sequence: 49
[stream.hls][debug] Start offset: 0; Duration: None; Start Sequence: 47; End Sequence: None
[stream.hls][debug] Adding segment 47 to queue
[stream.hls][debug] Adding segment 48 to queue
[stream.hls][debug] Adding segment 49 to queue
[stream.hls][debug] Writing segment 47 to output
[stream.hls][debug] Segment 47 complete
[cli.output][debug] Opening subprocess: ['/usr/bin/mpv', '--force-media-title=https://pluto.tv/en/live-tv/star-trek-1', '-']
[stream.hls][debug] Writing segment 48 to output
[stream.hls][debug] Segment 48 complete
[cli][debug] Writing stream to output
[stream.hls][debug] Writing segment 49 to output
[stream.hls][debug] Segment 49 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Segments in this playlist are encrypted
[stream.hls][debug] Adding segment 50 to queue
[stream.hls][debug] Writing segment 50 to output
[stream.hls][debug] Segment 50 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Segments in this playlist are encrypted
[stream.hls][debug] Adding segment 51 to queue
[stream.hls][debug] Writing segment 51 to output
[stream.hls][debug] Segment 51 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Segments in this playlist are encrypted
[stream.hls][debug] Adding segment 52 to queue
[stream.hls][debug] Writing segment 52 to output
[stream.hls][debug] Segment 52 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Segments in this playlist are encrypted
[stream.hls][debug] Adding segment 53 to queue
[stream.hls][debug] Writing segment 53 to output
[stream.hls][debug] Segment 53 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Segments in this playlist are encrypted
[stream.hls][debug] Adding segment 54 to queue
[stream.hls][debug] Writing segment 54 to output
[stream.hls][debug] Segment 54 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Segments in this playlist are encrypted
[stream.hls][debug] Adding segment 55 to queue
[stream.hls][debug] Writing segment 55 to output
[stream.hls][debug] Segment 55 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Segments in this playlist are encrypted
[stream.hls][debug] Adding segment 56 to queue
[stream.hls][debug] Writing segment 56 to output
[stream.hls][debug] Segment 56 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Segments in this playlist are encrypted
[stream.hls][debug] Adding segment 57 to queue
[stream.hls][debug] Writing segment 57 to output
[stream.hls][debug] Segment 57 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Segments in this playlist are encrypted
[stream.hls][debug] Adding segment 58 to queue
[stream.hls][debug] Writing segment 58 to output
[stream.hls][debug] Segment 58 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Segments in this playlist are encrypted
[stream.hls][debug] Adding segment 59 to queue
[stream.hls][debug] Writing segment 59 to output
[stream.hls][debug] Segment 59 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Segments in this playlist are encrypted
[stream.hls][debug] Adding segment 60 to queue
[stream.hls][debug] Writing segment 60 to output
[stream.hls][debug] Segment 60 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Segments in this playlist are encrypted
[stream.hls][debug] Adding segment 61 to queue
[stream.hls][debug] Writing segment 61 to output
[stream.hls][debug] Segment 61 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Segments in this playlist are encrypted
[stream.hls][debug] Adding segment 62 to queue
[stream.hls][debug] Writing segment 62 to output
[stream.hls][debug] Segment 62 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Segments in this playlist are encrypted
[stream.hls][debug] Adding segment 63 to queue
[stream.hls][debug] Adding segment 64 to queue
[stream.hls][debug] Writing segment 63 to output
[stream.hls][debug] Segment 63 complete
[stream.hls][debug] Writing segment 64 to output
[stream.hls][debug] Segment 64 complete
[stream.hls][warning] Encountered a stream discontinuity. This is unsupported and will result in incoherent output data.
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Segments in this playlist are encrypted
[stream.hls][debug] Adding segment 65 to queue
[stream.hls][debug] Writing segment 65 to output
[stream.hls][debug] Segment 65 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Segments in this playlist are encrypted
[stream.hls][debug] Adding segment 66 to queue
[stream.hls][debug] Writing segment 66 to output
[stream.hls][debug] Segment 66 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Segments in this playlist are encrypted
[stream.hls][debug] Adding segment 67 to queue
[stream.hls][debug] Writing segment 67 to output
[stream.hls][debug] Segment 67 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Segments in this playlist are encrypted
[stream.hls][debug] Adding segment 68 to queue
[stream.hls][debug] Writing segment 68 to output
[stream.hls][debug] Segment 68 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Segments in this playlist are encrypted
[stream.hls][debug] Adding segment 69 to queue
[stream.hls][debug] Writing segment 69 to output
[stream.hls][debug] Segment 69 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Segments in this playlist are encrypted
[stream.hls][debug] Adding segment 70 to queue
[stream.hls][debug] Writing segment 70 to output
[stream.hls][debug] Segment 70 complete
[stream.hls][warning] Encountered a stream discontinuity. This is unsupported and will result in incoherent output data.
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Segments in this playlist are encrypted
[stream.hls][debug] Adding segment 71 to queue
[stream.hls][debug] Writing segment 71 to output
[stream.hls][debug] Segment 71 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Segments in this playlist are encrypted
[stream.hls][debug] Adding segment 72 to queue
[stream.hls][debug] Writing segment 72 to output
[stream.hls][debug] Segment 72 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Segments in this playlist are encrypted
[stream.hls][debug] Adding segment 73 to queue
[stream.hls][debug] Discarding segment 73
[stream.hls][info] Filtering out segments and pausing stream output
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Segments in this playlist are encrypted
[stream.hls][debug] Adding segment 74 to queue
[stream.hls][debug] Discarding segment 74
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Segments in this playlist are encrypted
[stream.hls][debug] Adding segment 75 to queue
[stream.hls][debug] Discarding segment 75
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Segments in this playlist are encrypted
[stream.hls][debug] Adding segment 76 to queue
[stream.hls][debug] Writing segment 76 to output
[stream.hls][debug] Segment 76 complete
[stream.hls][warning] Encountered a stream discontinuity. This is unsupported and will result in incoherent output data.
[stream.hls][info] Resuming stream output
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Segments in this playlist are encrypted
[stream.hls][debug] Adding segment 77 to queue
[stream.hls][debug] Writing segment 77 to output
[stream.hls][debug] Segment 77 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Segments in this playlist are encrypted
[stream.hls][debug] Adding segment 78 to queue
[stream.hls][debug] Writing segment 78 to output
[stream.hls][debug] Segment 78 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Segments in this playlist are encrypted
[stream.hls][debug] Adding segment 79 to queue
[stream.hls][debug] Writing segment 79 to output
[stream.hls][debug] Segment 79 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Segments in this playlist are encrypted
[stream.hls][debug] Adding segment 80 to queue
[stream.hls][debug] Writing segment 80 to output
[stream.hls][debug] Segment 80 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Segments in this playlist are encrypted
[stream.hls][debug] Adding segment 81 to queue
[stream.hls][debug] Writing segment 81 to output
[stream.hls][debug] Segment 81 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Segments in this playlist are encrypted
[stream.hls][debug] Adding segment 82 to queue
[stream.hls][debug] Discarding segment 82
[stream.hls][info] Filtering out segments and pausing stream output
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Segments in this playlist are encrypted
[stream.hls][debug] Adding segment 83 to queue
[stream.hls][debug] Discarding segment 83
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Segments in this playlist are encrypted
[stream.hls][debug] Adding segment 84 to queue
[stream.hls][debug] Discarding segment 84
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Segments in this playlist are encrypted
[stream.hls][debug] Adding segment 85 to queue
[stream.hls][debug] Discarding segment 85
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Segments in this playlist are encrypted
[stream.hls][debug] Adding segment 86 to queue
[stream.hls][debug] Discarding segment 86
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Segments in this playlist are encrypted
[stream.hls][debug] Adding segment 87 to queue
[stream.hls][debug] Discarding segment 87
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Segments in this playlist are encrypted
[stream.hls][debug] Adding segment 88 to queue
[stream.hls][debug] Discarding segment 88
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Segments in this playlist are encrypted
[stream.hls][debug] Adding segment 89 to queue
[stream.hls][debug] Discarding segment 89
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Segments in this playlist are encrypted
[stream.hls][debug] Adding segment 90 to queue
[stream.hls][debug] Discarding segment 90
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Segments in this playlist are encrypted
[stream.hls][debug] Adding segment 91 to queue
[stream.hls][debug] Writing segment 91 to output
[stream.hls][debug] Segment 91 complete
[stream.hls][warning] Encountered a stream discontinuity. This is unsupported and will result in incoherent output data.
[stream.hls][info] Resuming stream output
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Segments in this playlist are encrypted
[stream.hls][debug] Adding segment 92 to queue
[stream.hls][debug] Writing segment 92 to output
[stream.hls][debug] Segment 92 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Segments in this playlist are encrypted
[stream.hls][debug] Adding segment 93 to queue
[stream.hls][debug] Writing segment 93 to output
[stream.hls][debug] Segment 93 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Segments in this playlist are encrypted
[stream.hls][debug] Adding segment 94 to queue
[stream.hls][debug] Writing segment 94 to output
[stream.hls][debug] Segment 94 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Segments in this playlist are encrypted
[stream.hls][debug] Adding segment 95 to queue
[cli][info] Player closed
[stream.segmented][debug] Closing worker thread
[stream.segmented][debug] Closing writer thread
[cli][info] Stream ended
[cli][info] Closing currently open stream…