skorokithakis / catt

Cast All The Things allows you to send videos from many, many online sources to your Chromecast.
BSD 2-Clause "Simplified" License
3.38k stars 155 forks source link

Password Protected Vimeo Albums #348

Open baghayi opened 3 years ago

baghayi commented 3 years ago

Hello There, I've been trying to play a password-protected album on my Chromecast. Omitting the --video-password option catt asks me to provide the password with "--video-password" option:

$  catt cast "https://vimeo.com/showcase/xyz"
ERROR: This album is protected by a password, use the --video-password option
Error: Remote resource not found.

When providing the password using this option it says the option does not exist:

$ catt cast --video-password MY_PASSWORD "https://vimeo.com/showcase/8551988"
Usage: catt cast [OPTIONS] VIDEO_URL
Try 'catt cast -h' for help.

Error: no such option: --video-password

Am I doing something wrong here? I verified it with youtube-dl and it works fine. But cannot make it work with catt.

skorokithakis commented 3 years ago

No, this is because that's a YouTube-dl option, not a CATT option. I'm not at the computer currently but I think we have a ytdl command line option.

theychx commented 3 years ago

Try this:

catt cast -y videopassword=MY_PASSWORD "https://vimeo.com/showcase/8551988"
baghayi commented 3 years ago

Try this:

catt cast -y videopassword=MY_PASSWORD "https://vimeo.com/showcase/8551988"

Thank you. It verifies the password now as youtube-dl does, but results in errors:

[vimeo:album] 8551988: Downloading JSON metadata
[vimeo:album] 8551988: Downloading JSON metadata
[vimeo:album] 8551988: Verifying the password
[vimeo:album] 8551988: Downloading page 1
Traceback (most recent call last):
  File "/usr/bin/catt", line 8, in <module>
    sys.exit(main())
  File "/usr/lib/python3.9/site-packages/catt/cli.py", line 644, in main
    return cli(obj=get_config_as_dict())
  File "/usr/lib/python3.9/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/usr/lib/python3.9/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/usr/lib/python3.9/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/lib/python3.9/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/lib/python3.9/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/usr/lib/python3.9/site-packages/click/decorators.py", line 33, in new_func
    return f(get_current_context().obj, *args, **kwargs)
  File "/usr/lib/python3.9/site-packages/catt/cli.py", line 219, in cast
    cst, stream = setup_cast(
  File "/usr/lib/python3.9/site-packages/catt/controllers.py", line 82, in setup_cast
    stream = StreamInfo(video_url, device_info=cast_device.info, ytdl_options=ytdl_options) if video_url else None
  File "/usr/lib/python3.9/site-packages/catt/stream_info.py", line 62, in __init__
    self._entries = list(self._preinfo["entries"])
TypeError: 'OnDemandPagedList' object is not iterable

This Vimeo URL (showcase) has 2 videos in it. Could it be the reason for this failure?

theychx commented 3 years ago

This Vimeo URL (showcase) has 2 videos in it. Could it be the reason for this failure?

It most likely is. If its possible, can you try video-urls from that showcase?

baghayi commented 3 years ago

It most likely is. If its possible, can you try video-urls from that showcase?

I tried a single link (https://vimeo.com/showcase/8551988/video/561679574) from the showcase but doesn't work. Apparently, Youtube-dl doesn't support it either. It gives me 404.

AntBurdin commented 3 years ago

Hi, I have similar issue - is there some way to log in to google account when starting a cast? I would like to cast my calendar to my "not so smart display" - Google Nest Hub Max. When casting https://calendar.google.com. - it shows log in page, which is useless without keyboard. Any ideas? Thank you!