Code Monkey home page Code Monkey logo

vemos's People

Contributors

dependabot[bot] avatar jon889 avatar jpmurray avatar nolaneo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

vemos's Issues

Chatting with 6 people, but not everyone sees everyone else

When watching with a group of 6 (but also less) we could see the initiator, and he sees everyone, but the others see only the initiator, and not the others...
Trying to add the others (where they are missing) by adding them manually doesn't work... I'm not sure but others might see more than the initiator, but I can't ask them right now, but it is complicated to communicate while relaying everything over one person :)

Screens flicker when starting or when switching back to tab

When starting on the app I have lots of flicker on my screens, it takes 10 to 20 seconds before things turn to normal and I can start watching...
When I switch tab and go back it sometimes does this flickering again... I have multi monitor setup, but it is not even running fullscreen yet, it looks like resolution remapping or so but that is weird without fullscreen view...

Environment:
Netflix
Windows 10
Versie 81.0.4044.113

Netflix: Switching episodes doesn't switch for everyone

Hi there! I noticed that on Netflix when I switch to a different episode, it doesn't switch on the other person's screen so we end up playing two different videos. The videos are still in sync, in the sense that the timecode matches precisely, though.

This is not a big deal because I can just ask the other folks to choose the same episode. I was wondering if this was intended to work, though. If it's still a to-do item, perhaps this could be a smallish task for a new developer? Is it as simple as sending the new URL over when the window location changes?

Drag to resize the extension's pane?

Sometimes you want the video to be much larger, especially when there's only two people on the call.
I tried to implement a proof-of-concept for a drag slider last week, but my quick first crack didn't work all that well, because
a) the ember is in an <iframe> outside the body, so one can't render a slider from there that occludes the <body> content at all, and
b) I'd have to register mouse events on the body, too, because with mouse events only on an element that's in a separate iframe, it's very difficult to stay within the couple of pixels in which one could slowly drag it larger ๐Ÿ˜†
c) my approach didn't take into account, and therefore rendered useless, vemos's show-hide toggle which just shifts the fixed div over by the hard-coded 10vh, heh

I think this would be a really good feature though, so I'm adding it as a feature request.
I would poke at it some more, as I could hack around issues a) and b) above, but I don't really have any good thoughts for quickly and reasonably overcoming c), so I don't know how much help I can be.
I will PR a cleaned-up version of last week's proof of concept in a sec.

Support for Plex

Hi!
Thank you for this, it looks amazing.
Would it be possible to add support for Plex?

Thanks!

Support Twitch

Hi, thanks for the great work.

Do you have plan to support twitch?
It would be nice if you support it.

play/pause and mute/unmute relationship suggestions

As the prompt that comes up when one starts a vemos session points out, when you're watching something on speakers and your mic is live, the person on the other end will hear the main video's audio through your microphone, echoing at the latency delay.

If you don't have headphones, you can prevent feedback by muting yourself while the video is playing by pressing the button on your webcam video.

As such, generally when watching something on the big screen with a remote friend, I'm muted. When I want to make a comment or ask a question, I need to pause the video, which is generally on the lower left hand corner of the screen (or at best, click somewhere in the video frame), and then click my unmute button in the opposite bottom corner of my video preview, basically the whole way across the screen. This takes a second or two and is not ergonomically friendly. Then I have to do the reverse when the discussion is over, to put myself back on mute and unpause the video.
I feel like this is likely a common use case for a lot of people...
We can solve this problem with some potential design features.

One thing that could work would be a single button that's like a master "mute all", with a state shared across the connection.
When it's engaged, no one is transmitting audio to anyone else.
When you toggle it off, it also sends play to the main video, and when you toggle it on, it also sends pause to the main video. (Or I suppose, slaving them could be a checkbox underneath the button, in case people want to use the mute all without it controlling the video state.)
Each person maintains control over their own mute button, so that when mute all is disengaged, they can remain muted if they want and have to unmute to participate in the conversation, or if their own mute is not engaged, their mic goes live when mute all is disengaged, but either way, when mute all is engaged, no one can hear anyone.
That element would solve the feedback problem (and is also a style of watching something that keeps people from talking over the movie and missing important or entertaining dialogue because they're talking ๐Ÿ˜†)

The only trouble with that idea is that, for people who ARE using headphones, you'd miss out on non-verbal aural reactions like laughs or gasps or that kind of thing, which some users may find important to their shared experience as well...
So another thought might be to have a toggle in the UI of whether the user is using headphones or speakers, and make the shared mute/play button only mute people who have it set to speakers.

The absolute simplest implementation though, which would get us 80% of the way there, is just to add a main video play/pause button right next to the existing mute button on the webcam video. That would still take two clicks and other muted people would still have to unmute to respond, but at least then, everyone's mouse pointer can be idly over where it needs to be to do those things.

... k that got a bit long, so let me distill my thoughts into bullet-point feature suggestions, in what I assume are increasing order of like MVP vs. nice-to-have:

  1. Add a main video play/pause toggle right next to the mute toggle on each person's webcam video.
  2. Add a mute-all button, state shared for the session, that also toggles play/pause when toggled.
  3. Make the button from point 2 above selectable for the session (via checkbox below it maybe?) whether the mute-all button toggles play/pause, or split the button into two halves, or something like that, basically in some way make the mute-all its own feature that doesn't have to control play/pause.
  4. Allow the user to indicate whether they're using headphones or speakers (at first this could just affecs an indicator icon on their webcam video, for people's reference?)
  5. Make it selectable for the session how the mute-all/playpause button(s) affect users depending on their indication in point 4 above. (requires additional design thought as I'm not sure what that would look like)

there is no audio without video

When I connect with a friend who has a microphone but not a camera, on her end she appears as a black square and she can see my video and hear my audio, but on my end I see no indication of her presence other than the onPeerCall event having fired in the console. I can't hear her audio at all, nor do I see an empty black camera window.
Also, when I turn off my camera by using the "Disable your webcam" button, she can no longer hear my microphone either, though the microphone is not muted. I suspect these problems may be related.
(Version 0.1.0)

Can't seem to unmute myself

When I set up a call, I am not able to unmute myself. I have given it permission to access video and microphone, and everything else seems to be working perfectly. Others on the call can see me, but cannot hear me, and I'm not sure how to fix this.

Investigate issues with jwplayer

Got a report that this doesn't work with jwplayer, which is a kind of ad-supporting video player used by a bunch of larger companies.

Doesn't seem to be working on Hulu

The icon lit up purple, but when I clicked the button to start a session nothing happened. This was on a video on Hulu (regular with ads, US).

It did seem to work, though, with YouTube TV (tv.youtube.com).

Disable video and audio?

Hey!

First of all, great work on this!

I would love to use this package with my friends, but we already have a much more performant video calling service. Would it be possible to use this extension while disabling calling?

Constant `on-peer-error-peer-unavailable` errors

There are 3 of us in the call (say A, B and C), A can see and hear B and C; B can only see and hear A; and C can also only see A.

The dev console repeatedly throws on-peer-error-peer-unavailable errors for persons B/C (presumably as it retries the connection to the peer you can't see/hear).

Support for Crave?

While we're talking about adding media providers to this extension:

Crave is the Canadian streaming provider for HBO, Cinemax, Showtime, and a bunch of other stuff. I use it as daily as I do netflix and prime video...

I know that might be hard to do for non-Canadians, and I'm a dev (never used ember but lots of experience with react and angular) so I can take point on it, if you're okay with it existing?

Friend can't join our chat and no one can join hers

There are 4 of us, 3 are able to join the link of each other. We are using YouTube.
The other one has Vemos installed, can create a chat but when we try to join it says she's disconnected (but she is still on, we facetimed while she did it). If I try to join with the code it simply close the "manually connect" pop up and does nothing.
Same, when I create the link she gets the disconnected error when she tries to join but I am online, same with the "manually connect" code. Her Chrome is updated.
What could it be?

Not working on Prime Video.

I tried to use vemos on prime video, but the chrome extension icon never turned purple like it does on Netflix. I'm in North America.

[Request] Better landing page design

I am no designer. The current page was put together in about an hour or two, it's not particularly pleasing to the eye, and doesn't work well on mobile.

image

If anyone has any design chops โ€“ it'd be cool to figure out what a good landing page should look like bearing in mind the most likely user of this extension will be non-technical.

How can I help?

Hello! I'd love to contribute to this project, please let me know where I can help! Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.