streamlink icon indicating copy to clipboard operation
streamlink copied to clipboard

plugins.vimeo: live event URL triggers ValidationError / DASH errors

Open WolfganP opened this issue 6 months ago • 4 comments

Checklist

Streamlink version

6.4.2 on windows 10

Description

A live event on vimeo fails while being launched as event or video page

Debug log

 D:\_Downloads\TV+Streaming\youtubedl-streamlink\bin> .\streamlink.exe https://vimeo.com/event/3924129
[cli][debug] OS:         Windows 10
[cli][debug] Python:     3.11.6
[cli][debug] OpenSSL:    OpenSSL 3.0.11 19 Sep 2023
[cli][debug] Streamlink: 6.4.2
[cli][debug] Dependencies:
[cli][debug]  certifi: 2023.11.17
[cli][debug]  isodate: 0.6.1
[cli][debug]  lxml: 4.9.3
[cli][debug]  pycountry: 22.3.5
[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.0.6
[cli][debug]  websocket-client: 1.6.3
[cli][debug] Arguments:
[cli][debug]  url=https://vimeo.com/event/3924129
[cli][debug]  --loglevel=debug
[cli][debug]  --player=D:\Program Files\VideoLAN\VLC\vlc.exe
[cli][debug]  --player-args=--qt-minimal-view
[cli][debug]  --default-stream=['720p', '720p_alt', '720p60', 'best']
[cli][debug]  --retry-max=2
[cli][debug]  --stream-segment-threads=3
[cli][debug]  --stream-timeout=20.0
[cli][debug]  --hls-playlist-reload-attempts=3
[cli][debug]  --ffmpeg-ffmpeg="D:\_Downloads\TV+Streaming\youtubedl-streamlink\ffmpeg\ffmpeg.exe"
[cli][debug]  --generic-playlist-max=3
[cli][debug]  --generic-ignore-same-url=True
[cli][info] Found matching plugin vimeo for URL https://vimeo.com/event/3924129
[cli][error] Unable to validate response text: ValidationError(dict):
  Key 'uri' not found in <{'type': 'video', 'version': '1.0', 'provider_name': 'V...>
[cli][info] Waiting for streams, retrying every 1 second(s)
[cli][error] Unable to validate response text: ValidationError(dict):
  Key 'uri' not found in <{'type': 'video', 'version': '1.0', 'provider_name': 'V...>
[cli][error] Unable to validate response text: ValidationError(dict):
  Key 'uri' not found in <{'type': 'video', 'version': '1.0', 'provider_name': 'V...>
error: No playable streams found on this URL: https://vimeo.com/event/3924129



=========================


D:\_Downloads\TV+Streaming\youtubedl-streamlink\bin> .\streamlink.exe https://vimeo.com/890064882
[cli][debug] OS:         Windows 10
[cli][debug] Python:     3.11.6
[cli][debug] OpenSSL:    OpenSSL 3.0.11 19 Sep 2023
[cli][debug] Streamlink: 6.4.2
[cli][debug] Dependencies:
[cli][debug]  certifi: 2023.11.17
[cli][debug]  isodate: 0.6.1
[cli][debug]  lxml: 4.9.3
[cli][debug]  pycountry: 22.3.5
[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.0.6
[cli][debug]  websocket-client: 1.6.3
[cli][debug] Arguments:
[cli][debug]  url=https://vimeo.com/890064882
[cli][debug]  --loglevel=debug
[cli][debug]  --player=D:\Program Files\VideoLAN\VLC\vlc.exe
[cli][debug]  --player-args=--qt-minimal-view
[cli][debug]  --default-stream=['720p', '720p_alt', '720p60', 'best']
[cli][debug]  --retry-max=2
[cli][debug]  --stream-segment-threads=3
[cli][debug]  --stream-timeout=20.0
[cli][debug]  --hls-playlist-reload-attempts=3
[cli][debug]  --ffmpeg-ffmpeg="D:\_Downloads\TV+Streaming\youtubedl-streamlink\ffmpeg\ffmpeg.exe"
[cli][debug]  --generic-playlist-max=3
[cli][debug]  --generic-ignore-same-url=True
[cli][info] Found matching plugin vimeo for URL https://vimeo.com/890064882
[utils.l10n][debug] Language code: en_US
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "D:\_Downloads\TV+Streaming\youtubedl-streamlink\bin\streamlink.exe\__main__.py", line 18, in <module>
  File "D:\_Downloads\TV+Streaming\youtubedl-streamlink\pkgs\streamlink_cli\main.py", line 929, in main
    handle_url()
  File "D:\_Downloads\TV+Streaming\youtubedl-streamlink\pkgs\streamlink_cli\main.py", line 549, in handle_url
    streams = fetch_streams_with_retry(plugin, retry_streams, retry_max)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\_Downloads\TV+Streaming\youtubedl-streamlink\pkgs\streamlink_cli\main.py", line 458, in fetch_streams_with_retry
    streams = fetch_streams(plugin)
              ^^^^^^^^^^^^^^^^^^^^^
  File "D:\_Downloads\TV+Streaming\youtubedl-streamlink\pkgs\streamlink_cli\main.py", line 449, in fetch_streams
    return plugin.streams(stream_types=args.stream_types,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\_Downloads\TV+Streaming\youtubedl-streamlink\pkgs\streamlink\plugin\plugin.py", line 375, in streams
    ostreams = list(ostreams)
               ^^^^^^^^^^^^^^
  File "D:\_Downloads\TV+Streaming\youtubedl-streamlink\pkgs\streamlink\plugins\vimeo.py", line 178, in _get_streams
    for url in dash.values():
               ^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'values'

WolfganP avatar Dec 04 '23 18:12 WolfganP

[cli][debug] --generic-playlist-max=3 [cli][debug] --generic-ignore-same-url=True

Those are not part of Streamlink... Unrelated to the plugin issue though...

bastimeyer avatar Dec 04 '23 19:12 bastimeyer

It seems the issue appears just with live events somehow. Tested with an static video (not a live event) that I found at https://vimeo.com/categories/events and the plugin works. I'll try to found a live video for testing...

\bin> .\streamlink.exe https://vimeo.com/737854276
[cli][debug] OS:         Windows 10
[cli][debug] Python:     3.11.6
[cli][debug] OpenSSL:    OpenSSL 3.0.11 19 Sep 2023
[cli][debug] Streamlink: 6.4.2
[cli][debug] Dependencies:
[cli][debug]  certifi: 2023.11.17
[cli][debug]  isodate: 0.6.1
[cli][debug]  lxml: 4.9.3
[cli][debug]  pycountry: 22.3.5
[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.0.6
[cli][debug]  websocket-client: 1.6.3
[cli][debug] Arguments:
[cli][debug]  url=https://vimeo.com/737854276
[cli][debug]  --loglevel=debug
[cli][debug]  --player=D:\Program Files\VideoLAN\VLC\vlc.exe
[cli][debug]  --player-args=--qt-minimal-view
[cli][debug]  --default-stream=['720p', '720p_alt', '720p60', 'best']
[cli][debug]  --retry-max=2
[cli][debug]  --stream-segment-threads=3
[cli][debug]  --stream-timeout=20.0
[cli][debug]  --hls-playlist-reload-attempts=3
[cli][debug]  --ffmpeg-ffmpeg="D:\_Downloads\TV+Streaming\youtubedl-streamlink\ffmpeg\ffmpeg.exe"
[cli][debug]  --generic-playlist-max=3
[cli][debug]  --generic-ignore-same-url=True
[cli][info] Found matching plugin vimeo for URL https://vimeo.com/737854276
[utils.l10n][debug] Language code: en_US
[stream.ffmpegmux][warning] No valid FFmpeg binary was found. See the --ffmpeg-ffmpeg option.
[stream.ffmpegmux][warning] Muxing streams is unsupported! Only a subset of the available streams can be returned!
[utils.l10n][debug] Language code: en_US
[stream.dash][debug] Available languages for DASH audio streams: NONE (using: n/a)
[cli][info] Available streams: 360p_http, 240p (worst), 240p+a66k, 240p+a98k, 240p+a128k, 240p+a192k, 360p, 360p+a66k, 360p+a98k, 360p+a128k, 360p+a192k, 540p, 540p+a66k, 540p+a98k, 540p+a128k, 540p+a192k, 720p, 720p+a66k, 720p+a98k, 720p+a128k, 720p+a192k, 1080p, 1080p+a66k, 1080p+a98k, 1080p+a128k, 1080p+a192k (best)
[cli][info] Opening stream: 720p (hls)
[cli][info] Starting player: D:\Program Files\VideoLAN\VLC\vlc.exe
[stream.hls][debug] Reloading playlist
[cli][debug] Pre-buffering 8192 bytes
[stream.hls][debug] First Sequence: 0; Last Sequence: 630
[stream.hls][debug] Start offset: 0; Duration: None; Start Sequence: 0; End Sequence: 630
[stream.hls][debug] Adding segment 0 to queue
[stream.hls][debug] Adding segment 1 to queue
[stream.hls][debug] Adding segment 2 to queue
[stream.hls][debug] Adding segment 3 to queue
[stream.hls][debug] Adding segment 4 to queue
[stream.hls][debug] Adding segment 5 to queue
[stream.hls][debug] Adding segment 6 to queue
[stream.hls][debug] Adding segment 7 to queue
[stream.hls][debug] Adding segment 8 to queue
[stream.hls][debug] Adding segment 9 to queue
[stream.hls][debug] Adding segment 10 to queue
[stream.hls][debug] Adding segment 11 to queue
[stream.hls][debug] Adding segment 12 to queue
[stream.hls][debug] Adding segment 13 to queue
[stream.hls][debug] Adding segment 14 to queue
[stream.hls][debug] Adding segment 15 to queue
[stream.hls][debug] Adding segment 16 to queue
[stream.hls][debug] Adding segment 17 to queue
[stream.hls][debug] Adding segment 18 to queue
[stream.hls][debug] Adding segment 19 to queue
[stream.hls][debug] Adding segment 20 to queue
[stream.hls][debug] Adding segment 21 to queue
[stream.hls][debug] Writing segment 0 to output
[stream.hls][debug] Segment 0 complete
[cli.output][debug] Opening subprocess: ['D:\\Program Files\\VideoLAN\\VLC\\vlc.exe', '--input-title-format', 'https://vimeo.com/737854276', '--qt-minimal-view', '-']
[stream.hls][debug] Adding segment 22 to queue
[stream.hls][debug] Writing segment 1 to output
[stream.hls][debug] Segment 1 complete
[stream.hls][debug] Adding segment 23 to queue
[cli][debug] Writing stream to output
[stream.hls][debug] Writing segment 2 to output
[stream.hls][debug] Segment 2 complete
[stream.hls][debug] Adding segment 24 to queue
[stream.hls][debug] Writing segment 3 to output
[stream.hls][debug] Segment 3 complete
...

WolfganP avatar Dec 05 '23 13:12 WolfganP

It's failing even sooner for me. (Find a livestream here: https://vimeo.com/search?live=now )

root@pegasus:/# streamlink https://vimeo.com/908518904 --loglevel=debug
[cli][info] streamlink is running as root! Be careful!
[cli][debug] OS:         Linux-6.7.1-arch1-1-x86_64-with
[cli][debug] Python:     3.11.7
[cli][debug] OpenSSL:    OpenSSL 3.1.4 24 Oct 2023
[cli][debug] Streamlink: 6.5.1
[cli][debug] Dependencies:
[cli][debug]  certifi: 2023.11.17
[cli][debug]  isodate: 0.6.1
[cli][debug]  lxml: 4.9.4
[cli][debug]  pycountry: 22.3.5
[cli][debug]  pycryptodome: 3.20.0
[cli][debug]  PySocks: 1.7.1
[cli][debug]  requests: 2.31.0
[cli][debug]  trio: 0.21.0
[cli][debug]  trio-websocket: 0.11.1
[cli][debug]  typing-extensions: 4.9.0
[cli][debug]  urllib3: 1.26.18
[cli][debug]  websocket-client: 1.7.0
[cli][debug] Arguments:
[cli][debug]  url=https://vimeo.com/908518904
[cli][debug]  --loglevel=debug
[cli][info] Found matching plugin vimeo for URL https://vimeo.com/908518904
[utils.l10n][debug] Language code: en_US
Traceback (most recent call last):
  File "/usr/bin/streamlink", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/usr/lib/python3.11/site-packages/streamlink_cli/main.py", line 934, in main
    handle_url()
  File "/usr/lib/python3.11/site-packages/streamlink_cli/main.py", line 556, in handle_url
    streams = fetch_streams(plugin)
              ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/streamlink_cli/main.py", line 454, in fetch_streams
    return plugin.streams(stream_types=args.stream_types,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/streamlink/plugin/plugin.py", line 375, in streams
    ostreams = list(ostreams)
               ^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/streamlink/plugins/vimeo.py", line 178, in _get_streams
    for url in dash.values():
               ^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'values'

Sparticuz avatar Feb 01 '24 17:02 Sparticuz

Same error for me with a live stream.

WolfganP avatar Feb 01 '24 20:02 WolfganP