Kodi Community Forum
Synchronize music/video multicast-stream playback to multiple instances of XBMC - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Discussions (https://forum.kodi.tv/forumdisplay.php?fid=222)
+--- Forum: Feature Requests (https://forum.kodi.tv/forumdisplay.php?fid=9)
+--- Thread: Synchronize music/video multicast-stream playback to multiple instances of XBMC (/showthread.php?tid=6207)

Pages: 1 2 3 4 5 6 7 8 9


- Neil - 2010-08-20

teshephe Wrote:Not anymore!!!! Big Grin

Checkout http://forum.xbmc.org/showthread.php?tid=78431

Of course, that does nothing to sync the video.


- rudeboyx - 2010-08-20

rickatnight11*

We all know there is a web interface for xbmc. what was meant by "a web ui could be created to control it" was that a web ui could be specifically created to control MULTI ROOM AUDIO. ie - control volumes and playback for individual rooms via 1 interface instead of having to connect to each xbmc web ui to control each separate room/system.

RBX


- Neil - 2010-08-23

cturnbull802 Wrote:...here is a video to make everyone drool Nod

http://www.youtube.com/watch?v=kvqIYEFy21I

(wiping drool) Yes, that is very cool.


- teshephe - 2010-08-29

Neil Wrote:Of course, that does nothing to sync the video.

Sure it does... albeit that as of right now you can only stream both from the master but with a little more development it can certainly work all the way around.

Ideally, we would need a master controller that would be able to learn about all of the XBMC's in your home/location and then you would really control all of your XBMC's from a single remote tied to that master/controller server. Thats the direction that I am going to develop towards.


- Neil - 2010-08-30

Perfect. I can't wait. You guys rock.


- osli - 2010-09-27

Of all the threads talking about multi-room / multi-zone audio, synchronized streaming, streaming to VLC, pulseaudio servers, and such, this seemed like the most appropriate to ask some questions to help me learn.

I've been digging through years of xbmc threads trying to follow what ideas have been suggested, dismissed, revisited, actively developed...

1. I understand that xbmc's core audio/video playing functions began life playing local media (and still do for the majority of users) and weren't exactly intended to "listen" to a stream broadcast over the network. From what I understand, network media locations just used uPnP or similar protocol to deliver the file as if it were local. So teshephe and others turned to tools like VLC in part because they have built in multicasting support. But I have to wonder... now that the PVR frontend is actively in development, aren't TV and media streams from most backend servers like MythTV, Mediaportal, VDR, etc. based on streaming protocols like UDP, RTC/RTSP etc.? How does xbmc render those video/audio streams, i.e. do the same core players handle that? If so, doesn't that sort of imply that multiple xbmc instances should be able to render that same stream once the request is initiated and the backend server starts broadcasting the stream on the network? Or will it even be possible for two xbmc installations to request a single tuner feed simultaneously? Could a developer or similar help me understand this better?

2. Syncing will be a major issue as discussed here... teshephe's use of VLC was in part because it also offered sync capability among instances, correct? Using a network time protocol has been discussed, but that only syncs the computer clocks which AFAIK should be enough to prevent drift but may not completely address absolute sync. Would there not still be buffer differences within the video/audio rendering paths for each instance/installation? Another request for education... does rendering of a stream (as I assume will be done for TV backends...) allow for variable user defined buffering of the signal? i.e., can you specify a buffer size/length which must be filled before rendering/output? If so, would a simple manual buffer adjustment suffice for the typical installation? What I'm talking about is a one time setup where a reference file (like a series of clicks, flashes, whatever) was streamed from server to multiple instances and the buffer on each adjusted so that sync was obtained (and if it's good enough for your ears... then its good enough for your ears, right?). Would this be expected to change under various conditions? I can't see network use changing this, since we're talking about a single stream which would affect all instances equally as far as network traffic. Would local conditions on each installation (other programs running, time since reboot, alignment of planets) affect the "time to render" and thus necessary buffer from day to day or worse?

My point is that I'm trying to determine how much of the underlying programming may have already been done as a natural part of other development goals. As much as the devs insist that this is a limited usefuless feature (and they may be right), there may be many many pieces of the puzzle created for other reasons that are waiting to be tied together for this purpose. And before I spend any more time requesting one feature or another or trying to write scripts as I develop programming skills I'd like to have a better "high level" understanding of just how xbmc works internally (somewhere between the "very high" level contained in the wiki, and very low level contained in the source comments).


- morgoth67 - 2011-07-09

Osli, any progress on this? I am also very interested in this feature, I've been looking around for months already, and I'm not able to find any solution.

Anything you could share?

Thanks in advance.


- xbmcg - 2012-01-05

Just found this interesting thread an was wondering, if there is a solution meanwhile for a distributed multiroom - xbmc installation?


- Robert_it - 2012-01-12

I have followed this thread as well.

Tried the LifeHacker way some time ago and "FUC..." up ended up with reinstalling XBMC on several computers and just accepted that I was too thick to make this work... Shocked
Or not having the time to put into it!!

To make this work out of the box would be really sweet...a big whish on my system... as with the live tv / PVR funktion... Looking forward to this.... Can't wait :o

Keep this going please....


Robert


- xbmcg - 2012-01-12

Hi osli,

you've got the point (partly).

xbmc is a play back engine for all kind of content and streams. But it is quite limited in regard of a streaming server. It supports uPnP, but only unicast and no multicast / broadcast protocols yet afaik. So for the server part VLC was chosen - it can do this. I think VDR / Myth is also capable for multicast.

xbmc can be a player for all 3.

On the other hand VLC also has some proprietary sync capabilities, and this was the reasn to choose VLC player as frontend to to make in-sync playback. With the mutiroom plugin xbmc's engine is not used at all for the media part - just for navigation / UI.

So I would call it a workaround rather than a solution. Big Grin

I would first try a clean vlc client / server setup and when it works I would go th the plugin stuff. Otherwise you could kill your xbmc install.


- rickatnight11 - 2012-01-12

I've never gotten synchronized playback working with the native VLC client, whether I'm streaming from the master to 1-or-more slaves or simply playing back locally on each host and setting a master. Confused


- coeps - 2012-02-25

I think two (three) things would be possible:

1. dlna/upnp sync playback (dlna 2.0, upnp MediaServer:4 and MediaRenderer:3) which probably would be supported widely in the future and therefore is my favorite.
upnp av4: http://upnp.org/specs/av/av4/
how it works, page 29: http://upnp.org/specs/av/UPnP-av-AVArchitecture-v2.pdf

2. Until somebody implements the upnp sync playback stuff i think you might be interested in this, probably one of you can integrate that with minor effort.
MPlayer UDP Master/Slave sync: http://www.mplayerhq.hu/DOCS/HTML/en/networksync.html
I didn't try it yet, did anybody already test it? Otherwise I will give you feedback as soon as I find some time to check it out...

3. Almost forgot that one, had success with vlc vlm (1.1.11) rtp multicasts to vlc player (1.1.11) which were in sync for 1h no problem. But sadly there is a bug with mp4 h264 movies where you only get sound and no video, i think it is this bug here but i'm not sure: http://trac.videolan.org/vlc/ticket/3306
because of the mp4 bug its useless for me, but only sound should work fine...


RE: Synchronize music/video multicast-stream playback to multiple instances of XBMC - Ned Scott - 2012-03-13

HOW-TO:Sync multiple libraries (wiki)


RE: Synchronize music/video multicast-stream playback to multiple instances of XBMC - rickatnight11 - 2012-03-13

(2012-03-13, 03:47)Ned Scott Wrote: HOW-TO:Sync multiple libraries (wiki)
That guide explains how to store the XBMC library in a centralized database. We're discussing how to synchronize media playback between multiple computers.


RE: Synchronize music/video multicast-stream playback to multiple instances of XBMC - coeps - 2012-03-14

Update: MPlayer UDP Master/Slave sync is not really sync, at least if you use it for HD Movies. There is this -udp-seek-threshold option, which has a min value of 0.1, which means 100ms. when I use that it jumps a lot, which means it is more than 100ms out of sync. Sometimes if you pause and start or seek it is quite well, but most of the time it is not sync.

Actually I updated my previous post, I had some expressions which could lead to confusion, what I think happened now with this how-to... therefore I changed "content sync" to "sync playback" because content sync is used by upnp for synchronization between content on servers, like media files etc... which would do what your how-to does for xbmc Wink
sorry for that Smile