Rabbit like sharring/streaming
#16
So, the development would be a little more involved than just doing this in a script, correct? I see this as multiple stages if done correctly, to allow room for future growth/development:

1. Build an IM client library into XBMC.
2. Set up the XBMC network settings to allow specifying the IM username/pass.
3. Come up with a simple message protocol to be used for the IM stuff: prefix messages with "MESSAGE" for actual messages intended to be read by that user or "PLUGINNAME" for messages intended to be read by the system.
4. Set up a plugin/script/whatever for "Peanut Gallery", with messages being prefixed by "PEANUTGALLERY" as they're sent over the IM client.

In this situation, Peanut Gallery would have to open a stream from somewhere online and send a message to all of the designated contacts with "PEANUTGALLERY: stream://..." and then once it starts playing with "PEANUTGALLERY: message: szsori,Look at the melons on that fruit stand!". You get the idea. The plugin/script/whatever would then have to handle doing the overlay of the avatars onto the video.

One more thing to consider: do you really have to worry about synchronizing the video/audio? In a perfect world with fiber connections, possibly, but people typing stuff and doing stuff with their avatar shouldn't matter if it's delayed up to 1 second anyway. For starting the video, you could always have it start exactly X seconds from when the stream message was sent, which would allow everyone to connect/cache and then start playing at approximately the same time. This way, XBMC's built-in video player might be able to handle things, with the script just overlaying stuff on top of it (is that possible?). If someone pauses, when they unpause they could be given the option to resync or continue on their own. Or you could just disable pausing or force synchronization by having the "master" send out its position every 15 seconds and have all the "slaves" sync to that.

Just trying to get all the possibilities out there first. Smile

Oh, by the way, a built-in IM client would also allow for a lot of stuff that people ask for that the devs don't have time for. Stuff like home automation, enhanced remote control, etc. Since a built-in IM client could handle any type of message, you could write a script to send a message like "GIRDER: light5,on" and have an IM handler on the other end interacting with Girder.
Reply
#17
Quote:I also like to point out that I do not think that the discussion IM part belongs in this topic-thread, instead that should be a separate topic-thread and a separate free-standing discussion. So please try to keep this discussion in this topic-thread on-topic and limited to only the synchronization part.

/agree

Unless I've sparked other developers to pitch into this idea I've got a lot of ramp time ahead of me before any of this will be realized. I've got the repository checked out but I need to get my development environment set up (the wiki is awesome by the way) and my C++ is pretty rusty.

The good news is that I contacted the owner of Peanut Gallery and asked if he'd be willing to open up his GMXP protocol so that we could potentially create another client for an open source media center program and he seemed interested. I guess we just have to wait and see.
Reply
#18
Sounds great. Big Grin I really like the idea, and really like the additional future possibilities such additions could provide us with.

szsori Wrote:One more thing to consider: do you really have to worry about synchronizing the video/audio? In a perfect world with fiber connections, possibly, but people typing stuff and doing stuff with their avatar shouldn't matter if it's delayed up to 1 second anyway. For starting the video, you could always have it start exactly X seconds from when the stream message was sent, which would allow everyone to connect/cache and then start playing at approximately the same time. This way, XBMC's built-in video player might be able to handle things, with the script just overlaying stuff on top of it (is that possible?). If someone pauses, when they unpause they could be given the option to resync or continue on their own. Or you could just disable pausing or force synchronization by having the "master" send out its position every 15 seconds and have all the "slaves" sync to that.

The way I'm picturing it is somewhat like the way the MSN Messenger functions with games. You would send an invitation to your friend to participate in a Video Theater (or whatever you want to call it) and on their side, a dialog would pop up saying, "ConeMan_01 has invited you to participate in Video Theater. Would you like to accept?" He could then say yes, the video would load and buffer sufficiently for both people and then there would be another pop up where you click "begin" when you're ready. Once you both have clicked "begin" it starts on both sides. This should keep things fairly synchronized and well managed I think. This may also allow for similar things to be implimented in other areas of xbmc, such as inviting others to participate in head to head tetris games, or possibly even emulators as somebody else mentioned. Also, I think for pausing it should work similarly. When you need to go to the bathroom or something, send your friend a pause request. A message would pop up saying "ConeMan_01 would like to pause the video. Accept/Deny" and then if accepted, it pauses until you return and send a similar request to continue it.

Yeah, i know, i'm a bit wordy in my explanations. but thats how i'm imagining it. I think it would work quite smoothly.
Reply
#19
Lightbulb 
Hey all,

Just a quick thought:

What about a feature that would allow us to watch a file be it a DVD that both people own, or an online tv channel being streamed or movie/file being streamed, watching a movie together? Political discussions during question time on iplayer? Watching a footy match with your friend's?....whatever ;-)

Together as a group as can be done for example with Sky Player on Xbox 360. Obviously without the graphical room and avatar business as it'll probably be too much for our poor consoles and a coding nightmare?

The idea would basically be to allow voip chat and synchronised viewing through the headsets already available for voice chat during games it will probably require a method of syncing the streaming timing or something and that might be a real problem if the stream buffers rather than playing straight through?

This, I assume might be easier on non-xbox target platforms one might guess but hey I'm a real fan of the original xbox for XBMC) ;-)

Is it possible?
Reply
#20
ugh, i feel ultimately this is a worthless feature that was created by Netflix to sucker people into usig their featured player.
Reply
#21
Rainbow 
Couldn't disagree more, I've always liked the idea and have been using it on skyplayer. It's very social, really livens up the experience....problem if your friends won't shutup during crucial moments though! :-)

But all said and done really nice feature.
Reply
#22
you could always invite your friends over to watch the movie, unless you are embarassed to be in the same room with them lol or if they are several hundred miles away i could see this being a cool feature.
Reply
#23
Actually, the graphical room probably wouldn't be that hard if it were static. XBMC already uses an overlay. There are no rules saying the overlay has to look like an overlay instead of a MST3K-style room. You'd just have to get a skinner to agree to make it happen.

Actually, for a theater heavy skin, that's kind of a fun idea, though more an idea for a different discussion.

As to the original idea, it might not be that hard, if you used an Iphone or Android device to control XBMC. My understanding is that both can communicate to XBMC over 3G and not just LAN. If you got that connection working and the developers of those respective remote controls figured out how to control 2 or more instances of XBMC at once, then you could very easily hit play at one location and control multiple devices.

I.e. You could say XBMC already supports this feature, it's the remote controls that are lacking.
Reply
#24
I'm not sure if this is the correct area to post this in, but google is failing me. What I'm trying to find, is some sort of plugin that would allow me to share what's being watched with friends who are else where within the US (usually Anime I own). To explain further, I use Linux, and screen sharing is either a pain to setup, or somewhat tricky to get going properly.
Reply
#25
enjoy Add-on:Trakt (wiki)

Note: the title suggests areas that contravene the Official:Forum rules (wiki) don't make your first post your last; or am I reading into the tea cup too deeply?
Reply
#26
I think he wants to share the currently viewed movie - like watch it at the same time with friends. Not only the statistics.
AppleTV4/iPhone/iPod/iPad: HowTo find debug logs and everything else which the devs like so much: click here
HowTo setup NFS for Kodi: NFS (wiki)
HowTo configure avahi (zeroconf): Avahi_Zeroconf (wiki)
READ THE IOS FAQ!: iOS FAQ (wiki)
Reply
#27
(2019-02-27, 08:20)Memphiz Wrote: I think he wants to share the currently viewed movie - like watch it at the same time with friends. Not only the statistics.
 Correct, that's what I'm looking for, or, if anyone knows a good screen sharing program that's cross compatible, low latency, and easy to setup, that I don't have to spend an hour dragging my friends through installing. Nomachine has been my weapon of choice, but that has the difficulty of needing a direct connection, and trying to explain to them how to setup OpenVPN would be like trying to explain surgery to a toddler.
Reply
#28
To the best of my knowledge there isn't anything like that within Kodi, and it's very questionable that discussing any such method would be allowable here as it could have usage that would come under our piracy policy (wiki) perhaps.

You might have luck with more general screen sharing solutions (TeamViewer style stuff) as you mention but that's outside of our support scope here. I would doubt that way would be useful due to the latency issues etc, unless your network speeds in all parts of the connection are high.
|Banned add-ons (wiki)|Forum rules (wiki)|VPN policy (wiki)|First time user (wiki)|FAQs (wiki) Troubleshooting (wiki)|Add-ons (wiki)|Free content (wiki)|Debug Log (wiki)|

Kodi Blog Posts
Reply
#29
you are trying to simulcast across the internet? kodi does not do this. you are going to have a bad time. closest I can think of this back in the day was netflix on xbox with your avatars.
first_time_user (wiki) | free content (wiki) | forum rules (wiki) | PVR (wiki) | Debug Log (wiki)

IMPORTANT:
The official Kodi version does not contain any content what so ever. This means that you should provide your own content from a local or remote storage location, DVD, Blu-Ray or any other media carrier that you own. Additionally Kodi allows you to install third-party plugins that may provide access to content that is freely available on the official content provider website. The watching or listening of illegal or pirated content which would otherwise need to be paid for is not endorsed or approved by Team Kodi.
Reply
#30
This belongs in the feature suggestion forum, so maybe merge with this other very old thread with the same request => https://forum.kodi.tv/showthread.php?tid=32038
Reply

Logout Mark Read Team Forum Stats Members Help
Rabbit like sharring/streaming1