streamlink
streamlink copied to clipboard
plugins.vimeo: live event URL triggers ValidationError / DASH errors
Checklist
- [X] This is a plugin issue and not a different kind of issue
- [X] I have read the contribution guidelines
- [X] I have checked the list of open and recently closed plugin issues
- [X] I have checked the commit log of the master branch
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'
[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...
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
...
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'
Same error for me with a live stream.