New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mpv cannot stream from vimeo any more #4827

Closed
gbstan opened this Issue Sep 2, 2017 · 17 comments

Comments

Projects
None yet
6 participants
@gbstan

gbstan commented Sep 2, 2017

mpv version and platform

mpv on macOS Sierra 10.12.6

mpv 0.26.0 (C) 2000-2017 mpv/MPlayer/mplayer2 projects
built on Mon Aug 7 22:10:40 BST 2017
ffmpeg library versions:
libavutil 55.58.100
libavcodec 57.89.100
libavformat 57.71.100
libswscale 4.6.100
libavfilter 6.82.100
libswresample 2.7.100
ffmpeg version: 3.3.3

Reproduction steps

mpv https://player.vimeo.com/video/150608819

Expected behavior

video is properly streamed using mpv and youtube-dl
This was working perfectly until a few weeks ago.

Actual behavior

mpv https://player.vimeo.com/video/150608819
Playing: https://player.vimeo.com/video/150608819
[ytdl_hook]
[ytdl_hook] stack traceback:
[ytdl_hook] [C]: in function 'len'
[ytdl_hook] @ytdl_hook.lua:71: in function 'edl_escape'
[ytdl_hook] @ytdl_hook.lua:139: in function 'edl_track_joined'
[ytdl_hook] @ytdl_hook.lua:171: in function 'add_single_video'
[ytdl_hook] @ytdl_hook.lua:454: in function 'fn'
[ytdl_hook] mp.defaults:518: in function 'handler'
[ytdl_hook] mp.defaults:339: in function 'handler'
[ytdl_hook] mp.defaults:458: in function 'call_event_handlers'
[ytdl_hook] mp.defaults:495: in function 'dispatch_events'
[ytdl_hook] mp.defaults:451: in function mp.defaults:450
[ytdl_hook] [C]: in ?
[ytdl_hook] [C]: in ?
[ytdl_hook] Lua error: @ytdl_hook.lua:71: bad argument #1 to 'len' (string expected, got nil)
Failed to recognize file format.

Exiting... (Errors when loading file)

Log file

See above (Actual behaviour) for error messages

Sample files

Any video on vimeo seems to trigger the problem
https://player.vimeo.com/video/230282582
https://player.vimeo.com/video/115435198

Sample files needed to reproduce this issue can be uploaded to https://0x0.st/
or similar sites. (Only needed if the issue cannot be reproduced without it.)

@gbstan

This comment has been minimized.

gbstan commented Sep 2, 2017

Just to be clear and complete, I have the latest version of youtube-dl installed: 2017.09.02

@CrisBRM

This comment has been minimized.

Contributor

CrisBRM commented Sep 2, 2017

Works on my machine with mpv-git, but then again, I'm using youtube-dl-2017.07.23. It's probably a youtube-dl issue.

@wiiaboo

This comment has been minimized.

Member

wiiaboo commented Sep 2, 2017

Duplicate of #4728. See #4728 (comment) for a workaround.

@wiiaboo wiiaboo closed this Sep 2, 2017

@gbstan

This comment has been minimized.

gbstan commented Sep 2, 2017

Hi Ricardo, I understand that I can apply the workaround referenced above, but shouldn't this be fixed without any workaround being applied? From the thread you reference it appears that this has been fixed but with the version of youtube-dl 2017.09.02 and the latest version of mpv available from brew it still isn't. Is the problem on the mpv or on the youtube-dl side? Is a release of mpv fixing this coming out soon?

@wiiaboo

This comment has been minimized.

Member

wiiaboo commented Sep 2, 2017

The linked comment has the answers to all those questions.
Only @lachs0r knows when's the next release.

@gbstan

This comment has been minimized.

gbstan commented Sep 2, 2017

@CounterPillow

This comment has been minimized.

Contributor

CounterPillow commented Sep 2, 2017

mpv 0.26.0 does not contain the fix, when you say very latest, make sure it's actually git HEAD.

@vitorgalvao

This comment has been minimized.

Contributor

vitorgalvao commented Sep 2, 2017

I’ve tried mpv HEAD yesterday (installed via homebrew) and it still wasn’t fixed.

@Hrxn

This comment has been minimized.

Hrxn commented Sep 3, 2017

Log for running the link/URL with only youtube-dl?

@gbstan

This comment has been minimized.

gbstan commented Sep 3, 2017

Here is the output when using youtube-dl only:

youtube-dl https://player.vimeo.com/video/150608819
[vimeo] 150608819: Downloading webpage
[vimeo] 150608819: Extracting information
[vimeo] 150608819: Downloading JSON metadata
WARNING: Unable to download JSON metadata: HTTP Error 403: Forbidden
[vimeo] 150608819: Downloading akfire_interconnect_quic m3u8 information
[vimeo] 150608819: Downloading fastly_skyfire m3u8 information
[vimeo] 150608819: Downloading akfire_interconnect_quic MPD information
[vimeo] 150608819: Downloading akfire_interconnect_quic MPD information
[vimeo] 150608819: Downloading fastly_skyfire MPD information
[vimeo] 150608819: Downloading fastly_skyfire MPD information
[dashsegments] Total fragments: 151
[download] Destination: Trail Of Hope Short-150608819.fdash-fastly_skyfire_sep-video-606502192.mp4
[download] 5.1% of ~248.57MiB at 1.17MiB/s ETA 03:33

and here is the same when trying to play the same link through mpv:
mpv https://player.vimeo.com/video/150608819
Playing: https://player.vimeo.com/video/150608819
[ytdl_hook]
[ytdl_hook] stack traceback:
[ytdl_hook] [C]: in function 'len'
[ytdl_hook] @ytdl_hook.lua:71: in function 'edl_escape'
[ytdl_hook] @ytdl_hook.lua:139: in function 'edl_track_joined'
[ytdl_hook] @ytdl_hook.lua:171: in function 'add_single_video'
[ytdl_hook] @ytdl_hook.lua:454: in function 'fn'
[ytdl_hook] mp.defaults:518: in function 'handler'
[ytdl_hook] mp.defaults:339: in function 'handler'
[ytdl_hook] mp.defaults:458: in function 'call_event_handlers'
[ytdl_hook] mp.defaults:495: in function 'dispatch_events'
[ytdl_hook] mp.defaults:451: in function mp.defaults:450
[ytdl_hook] [C]: in ?
[ytdl_hook] [C]: in ?
[ytdl_hook] Lua error: @ytdl_hook.lua:71: bad argument #1 to 'len' (string expected, got nil)
Failed to recognize file format.

Exiting... (Errors when loading file)

@wiiaboo

This comment has been minimized.

Member

wiiaboo commented Sep 3, 2017

Apparently vimeo's CDNs don't like relative URLs.
This doesn't work:
https://skyfire.vimeocdn.com/1504434122-0x16c82c8e17c8e66565df5cdf8dd383866e4b297f/150608819/sep/video/606502191,606502196,606502193,606502192/../../audio/606502196/chop/segment-0.mp4
but this does:
https://skyfire.vimeocdn.com/1504434122-0x16c82c8e17c8e66565df5cdf8dd383866e4b297f/150608819/sep/audio/606502196/chop/segment-0.mp4

@gbstan

This comment has been minimized.

gbstan commented Sep 3, 2017

Ok. But how to fix it? There might be other websites affected too. 2 weeks ago this was working perfectly.

@wiiaboo

This comment has been minimized.

Member

wiiaboo commented Sep 3, 2017

I'm referring to the error in #4827 (comment).
I've answered your issue when I closed this. It's still the same solution. If you can't build git master yourself, use the workarounds listed in #4728 (comment).

@vitorgalvao

This comment has been minimized.

Contributor

vitorgalvao commented Sep 3, 2017

@wiiaboo Again, I tried mpv from master (brew install --HEAD mpv). I’ve also tried your other solution. It still isn’t fixed.

While all vimeo videos can be downloaded with youtube-dl, only some can be played with mpv.

Video that works: https://vimeo.com/130975566
Video that doesn’t: https://vimeo.com/230282582

wiiaboo added a commit that referenced this issue Sep 3, 2017

ytdl_hook: resolve relative paths when joining segment urls
FFmpeg/mpv don't do it automatically.
See #4827
@wiiaboo

This comment has been minimized.

Member

wiiaboo commented Sep 3, 2017

@vitorgalvao it's a related but different issue. Should be fixed with d280b3d.

@vitorgalvao

This comment has been minimized.

Contributor

vitorgalvao commented Sep 3, 2017

@wiiaboo Confirmed as fixed with that commit. Thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment