• 1
  • 2
  • 3
  • 4(current)
  • 5
  • 6
  • 15
[RELEASE] Multiroom Audio & Video Streaming Plugin (Syncronized)
#46
ok, so apparently I just like to ramble. Sorry. Blush
Reply
#47
osli Wrote:@ teshephe:

I only today discovered this thread. Don't know how I missed it! Great work. I had also a few days ago found a much older thread in the features suggestion forum where I fanatasized about almost exactly what you have done. I rambled on a bit about how this could be useful for much more than multiroom audio support but would rather point you there if you care to read my ramblings than to reproduce the bulk of it here and possibly somewhat derail this thread.

However, I do have a few specific questions that are the core of my thoughts on the subject:

1. It seems that for true multiroom audio in a larger than average house (where distributed whole house audio is typically found), you will have some zones that are audio only with no video display. You could set up a box for each of those rooms that is hidden in a closet (either in each room or a centralized location where all wire pulls for speakers return as is typical in distributed audio), but I have to ask the natural question: can multiple instances of XBMC be launched on one physical box, each tied to a specific output device? For instance six instances of XBMC launched on one box housing six PCIe or USB audio cards? If so, you nearly instantly have support using your plugin for controlling audio in any of those zones from any XBMC installation in the house. If this sounds impossible at a glance (I have no idea whether this would cause serious hardware/driver conflicts or not), would running multiple VM installations of XBMC hooked into separate USB soundcards be a possibility (from my limited understanding, USB is about the only type of physical hardware you can tie a VM application to)? And if "maybe" then would that fubar the unique network ID needed for your plugin to differentiate one instance from another?


2. Each XBMC instance needs an ID, and I've been checking out the way you handle that. Looks great once setup. But for end user simplicity, how difficult would it be for an XBMC instance to have an ID defined at setup and/or in system settings (or in your plugin) that broadcasts its presence whenever connected to the network, such that all XBMC instances on the network auto-populate your plugin without any more setup required? I think this has some basic functional usefulness, since you'd only see XBMC instances that were on at any given time.

3. I'll have to play around with your plugin more when I get home, but does it have the ability to monitor another XBMC instance vs. simply directing a stream there? i.e., can you tell what your kids are watching upstairs, and "tune in" to that stream if you want to say check out a movie that you aren't familiar with?

4. From what I gather, the use of VLC is because streaming content directly to the core players in XBMC is not guaranteed to produce syncronized video/audio rendering at each of those clients? Is that because of possible hardware differences at each client node, or something inherent in the streaming process? I understand that VLC has a clock that can be used for this purpose... is this far outside of the capabilities of XBMC or just something that would have to be patched into the core players? I ask, because I'm curious how it would affect the answer to my question 1 above. If (big if?) multiple instances of XBMC could be launched on a single physical box, would they suffer from the non-synced rendering problem? Would an instance of VLC be needed for each XBMC instance? Is that just asking for even more problems (I can't imagine how one instance of VLC is supposed to know what soundcard to use as render target)?

Wow!!! Shocked

Well, lets start with number 1. My answers will be short but you can ask more later... Big Grin

1) Technically you could but there are inherent issues, like performance, 2) XBMC doesn't play very well with/inside VM's. (I have tested this with dismal results) but know why you asked the question. It's better off to get something like an eepc like the ones I use for each zone. @ $400 a pop they are a bargain.

2) I am well into implementing the next phase of the plugin with network signalling where ultimately this will do exactly as you asked.... auto configuration after you setup the master. You will see the beginnings of this in 1.1.0 which I hope to have released by the end of the next week. (Master Volume control, pause, stop, what's playing... will be in 1.1.0)

3) The foundation is there for this and I do/use it now. Needs to be tweaked but all the pieces are there.

4) If you read the readme file... I utilized VLC as the foundation because VLC can syncronize itself across the network and handle "Jitter" and compensate for it like true QA and control. XBMC's players do not have this ability. Now I am not knocking XBMC at all, it does what it was designed to do and does it very well. Big Grin

Thanks for the time and effort of your questions and I really appreciate the enthusiasm. I hope to keep making it better as I believe that it is a true "diamond" in the rough.

Feel free to let me know as I really need the feedback. Nod
Enjoy OpenSource! :nod:
MY SETUP: XBMC 12 Frodo RC3, Multiple Asus EB1501's throughout the Home for XBMC based STB's
Reply
#48
Thanks for the response. For now I'm just going to install xbmc on every pc or laptop I have in the house just play with your plugin more and get a better feel for it. I'll ask more questions later after some more thorough playing and thinking.
Reply
#49
Rainbow 
Hey guys,

I am playing around with this plugin and can not get it to work.
I followed the instructions step by step and didn't get it to run (either Video nor Audio).

Everytime the MASTER XBMC instance is started, I get this error message :

Script ERROR:
sendUDP.PY

I attached the log file for better analsys.
Anyone any idea? Would be really cool, if its working!

I am on VLC 1.1.4 actually.Smile

Thanks
Stefan


00:18:50 T:2072 M:4294967295 NOTICE: -----------------------------------------------------------------------
00:18:50 T:2072 M:4294967295 NOTICE: Starting XBMC, Platform: Windows 7, 64-bit (WoW) build 7600. Built on Sep 23 2010 (SVN:34129, compiler 1500)
00:18:50 T:2072 M:4294967295 NOTICE: Intel® Core™2 Duo CPU E8500 @ 3.16GHz
00:18:50 T:2072 M:4294967295 NOTICE: Desktop Resolution: 1280x800 16Bit at 60Hz
00:18:50 T:2072 M:4294967295 NOTICE: Running with restricted rights
00:18:50 T:2072 M:4294967295 NOTICE: special://xbmc/ is mapped to: C:\Program Files (x86)\XBMC
00:18:50 T:2072 M:4294967295 NOTICE: special://xbmcbin/ is mapped to: C:\Program Files (x86)\XBMC
00:18:50 T:2072 M:4294967295 NOTICE: special://masterprofile/ is mapped to: C:\Users\Stefan\AppData\Roaming\XBMC\userdata
00:18:50 T:2072 M:4294967295 NOTICE: special://home/ is mapped to: C:\Users\Stefan\AppData\Roaming\XBMC
00:18:50 T:2072 M:4294967295 NOTICE: special://temp/ is mapped to: C:\Users\Stefan\AppData\Roaming\XBMC\cache
00:18:50 T:2072 M:4294967295 NOTICE: The executable running is: C:\Program Files (x86)\XBMC\XBMC.exe
00:18:50 T:2072 M:4294967295 NOTICE: Log File is located: C:\Users\Stefan\AppData\Roaming\XBMC\xbmc.log
00:18:50 T:2072 M:4294967295 NOTICE: -----------------------------------------------------------------------
00:18:50 T:2072 M:4294967295 NOTICE: Setup SDL
00:18:50 T:2072 M:4294967295 NOTICE: Found screen: Dummy Monitor on RDPDD Chained DD, adapter 0.
00:18:50 T:2072 M:4294967295 NOTICE: Primary mode: 1280x800 @ 60.00 - Full Screen
00:18:50 T:2072 M:4294967295 NOTICE: load settings...
00:18:50 T:2072 M:4294967295 NOTICE: special://profile/ is mapped to: special://masterprofile/
00:18:50 T:2072 M:4294967295 NOTICE: loading special://masterprofile/guisettings.xml
00:18:50 T:2072 M:4294967295 NOTICE: Getting hardware information now...
00:18:50 T:2072 M:4294967295 NOTICE: Checking resolution 11
00:18:50 T:2072 M:4294967295 NOTICE: Loading player core factory settings from special://xbmc/system/playercorefactory.xml.
00:18:50 T:2072 M:4294967295 NOTICE: Loaded playercorefactory configuration
00:18:50 T:2072 M:4294967295 NOTICE: Loading player core factory settings from special://profile/playercorefactory.xml.
00:18:50 T:2072 M:4294967295 NOTICE: Loaded playercorefactory configuration
00:18:50 T:2072 M:4294967295 NOTICE: No advancedsettings.xml to load (special://masterprofile/advancedsettings.xml)
00:18:50 T:2072 M:4294967295 NOTICE: Default DVD Player: dvdplayer
00:18:50 T:2072 M:4294967295 NOTICE: Default Video Player: dvdplayer
00:18:50 T:2072 M:4294967295 NOTICE: Default Audio Player: paplayer
00:18:50 T:2072 M:4294967295 NOTICE: Loading media sources from special://masterprofile/sources.xml
00:18:50 T:2072 M:4294967295 NOTICE: Enabled Joystick: Logitech Cordless RumblePad 2
00:18:50 T:2072 M:4294967295 NOTICE: Details: Total Axis: 4 Total Hats: 1 Total Buttons: 12
00:18:51 T:2072 M:4294967295 NOTICE: initializing playlistplayer
00:18:51 T:2072 M:4294967295 NOTICE: DONE initializing playlistplayer
00:18:51 T:2072 M:4294967295 NOTICE: CApplication::UpdateLibraries - Starting video library startup scan
00:18:51 T:2072 M:4294967295 NOTICE: initialize done
00:18:51 T:2072 M:4294967295 NOTICE: Running the application...
00:18:51 T:5160 M:4294967295 NOTICE: VideoInfoScanner: Starting scan ..
00:18:51 T:2072 M:4294967295 NOTICE: Webserver: Starting...
00:18:51 T:2072 M:4294967295 NOTICE: WebServer: Started the webserver
00:18:51 T:2072 M:4294967295 NOTICE: ES: Starting event server
00:18:51 T:5332 M:4294967295 NOTICE: ES: Starting UDP Event server on 127.0.0.1:9777
00:18:51 T:5332 M:4294967295 NOTICE: UDP: Listening on port 9777
00:18:52 T:3140 M:4294967295 NOTICE: -->Python Interpreter Initialized<--
00:18:53 T:5320 M:4294967295 NOTICE: -->Python Interpreter Initialized<--
00:18:54 T:5836 M:4294967295 NOTICE: -->Python Interpreter Initialized<--
00:18:54 T:1556 M:4294967295 NOTICE: -->Python Interpreter Initialized<--
00:18:57 T:5836 M:4294967295 NOTICE: [MAV]: MAV-DB - MAV Database already exists...
00:18:57 T:5836 M:4294967295 NOTICE: [MAV]: MAV UDP Receiver Started and Running in background...
00:18:58 T:1556 M:4294967295 ERROR: Error Type: urllib2.URLError
00:18:58 T:1556 M:4294967295 ERROR: Error Contents: <urlopen error (10061, 'Connection refused')>
00:18:58 T:1556 M:4294967295 ERROR: Traceback (most recent call last):
File "C:\Users\Stefan\AppData\Roaming\XBMC\addons\plugin.program.multiroomaudio\resources\lib\sendUDP.py", line 25, in ?
usock = urllib2.urlopen(url)
File "special://xbmc/system/python/Lib\urllib2.py", line 130, in urlopen
return _opener.open(url, data)
File "special://xbmc/system/python/Lib\urllib2.py", line 358, in open
response = self._open(req, data)
File "special://xbmc/system/python/Lib\urllib2.py", line 376, in _open
'_open', req)
File "special://xbmc/system/python/Lib\urllib2.py", line 337, in _call_chain
result = func(*args)
File "special://xbmc/system/python/Lib\urllib2.py", line 1021, in http_open
return self.do_open(httplib.HTTPConnection, req)
File "special://xbmc/system/python/Lib\urllib2.py", line 996, in do_open
raise URLError(err)
URLError: <urlopen error (10061, 'Connection refused')>
00:18:58 T:5648 M:4294967295 NOTICE: -->Python Interpreter Initialized<--
00:19:06 T:5160 M:4294967295 NOTICE: VideoInfoScanner: Finished scan. Scanning for video info took 00:14
00:19:23 T:2072 M:4294967295 WARNING: Failed to find previously selected audio sink
00:19:26 T:2072 M:4294967295 NOTICE: Enabled debug logging due to GUI setting. Level 2.
00:19:29 T:2072 M:4294967295 DEBUG: SDLKeyboard: scancode: 28, sym: 13, unicode: 13, modifier: 1000
00:19:29 T:2072 M:4294967295 DEBUG: CApplication::OnKey: 61453 pressed, action is Select
00:19:29 T:2072 M:4294967295 NOTICE: Disabled debug logging due to GUI setting. Level 0.
00:19:35 T:2072 M:4294967295 NOTICE: Storing total System Uptime
00:19:35 T:2072 M:4294967295 NOTICE: Saving settings
00:19:35 T:2072 M:4294967295 NOTICE: stop all
00:19:35 T:2072 M:4294967295 NOTICE: ES: Stopping event server
00:19:35 T:2072 M:4294967295 NOTICE: Webserver: Stopping...
00:19:35 T:2072 M:4294967295 NOTICE: WebServer: Stopped the webserver
00:19:35 T:2072 M:4294967295 NOTICE: Webserver: Stopped...
00:19:35 T:5332 M:4294967295 NOTICE: ES: UDP Event server stopped
00:19:35 T:2072 M:4294967295 NOTICE: stop sap announcement listener
00:19:35 T:2072 M:4294967295 NOTICE: clean cached files!
00:19:35 T:2072 M:4294967295 NOTICE: unload skin
00:19:35 T:2072 M:4294967295 NOTICE: stop python
Reply
#50
stefan1983 Wrote:Hey guys,

I am playing around with this plugin and can not get it to work.
I followed the instructions step by step and didn't get it to run (either Video nor Audio).

Everytime the MASTER XBMC instance is started, I get this error message :

Script ERROR:
sendUDP.PY

I attached the log file for better analsys.
Anyone any idea? Would be really cool, if its working!

I am on VLC 1.1.4 actually.Smile

Thanks
Stefan


File "special://xbmc/system/python/Lib\urllib2.py", line 1021, in http_open
return self.do_open(httplib.HTTPConnection, req)


Your HTTP server on XBMC is not turned on... Big Grin

Goto System > Network > Services > Allow Control of XBMC via HTTP and set the port to 8081.

Make sure you do this on the clients as well.

That should do it. Let me know if you need anything else. Wink
Enjoy OpenSource! :nod:
MY SETUP: XBMC 12 Frodo RC3, Multiple Asus EB1501's throughout the Home for XBMC based STB's
Reply
#51
Hey man, thanks for your help so far.

But somehow it sill does not work for me.

I don`t get the error message any more, but I do also not get any sound out of my client station.

I'm testing with AUDIO so far, the XBMC Master plays any mp3 file, but does not stream it to the network I guess.
This is because the client can start the PLS and does'n get anything, but the client got the correct master information like : udp@224.... aso

Even if I try to put this information directly into VLC, it does not work.
VLC is starting the stream but does not receive anything.

How can I find out the problem of the master?
Is this a firewall Issue?

I'm on Windows 7 X64 Smile

I like this idea of multiroom-audio. First I´ve seen the solution Sonos created, but it´s way tooo expensive. Since I have enough PCs and 2 tiny ones Wink it would be easy to put XBMC there with some sound boxes attached.
Easyli put Wake on LAN on them and XBMC into Autostart..., thats it Smile
You´re good to go! Smile

With the NEW & FREE iPhone XBMC App from Laurie Murphy I can do nearly everything remotely Smile



Thanks
Reply
#52
I turned out the firewall of both systems, because I thought the multicast IPs are probably beeing blocked.
But they aren't.

Then I looked into the Windows processes of the MASTER where I figured out, that VLC was not running! That could be a reason why I don't receive anything on the client Wink

But what is going wrong there? The path to VLC is correct.
And even if I run XBMC as Administrator, VLC won't start when playing something.

Any idea?
Reply
#53
Does not tell why VLC is not beeing started.
Reply
#54
1) NEVER EVER EVER inline logs. it arses up searches for each and every forum user in the future and fills our databases with crap.
2) that's not a debug log. put a debug log on a pastebin service.
Reply
#55
Would a neater way to do it be via PulseAudio ? The audo syncing on it seems pretty nice . Little guide how to do it here http://www.linux.com/learn/tutorials/332...-computers
Reply
#56
stefan1983 Wrote:Hey man, thanks for your help so far.

But somehow it sill does not work for me.

I don`t get the error message any more, but I do also not get any sound out of my client station.

Thanks

Could be a firewall issue but a couple things to check...

Is your Win7 machine the master?

If it is... a couple things to check first is to goto task manager and make sure that there are 2 vlc instances running... manually stop the streamer and restart it to see if they pop up into the task manager.

2) If they don't, make sure that check that powershell is configured to execute scripts. Here is a link to show you how...

http://www.tech-recipes.com/rx/2513/powe...t_support/

3) In the plugin settings - (For Windows only) select the default audio player as
MR-Audio_Stream (only if this is the master). Unlike the linux variant where you have the ability to select "MAV Mulicast Sink" as the default audio output device which is how the audio is virtually piped to the streamer for broadcast, we have to hand feed the media to the streamer. BTW... there is a utility that I use to bypass this on my Windows based Master called Virtual Cable which creates a Directshow audio device but it cost $$. Not terribly expensive but if you want to know more about this let me know.

Keep me posted. Windows is a bitch Oo... but once setup, you won't have to mess with it anymore. Big Grin
Enjoy OpenSource! :nod:
MY SETUP: XBMC 12 Frodo RC3, Multiple Asus EB1501's throughout the Home for XBMC based STB's
Reply
#57
Mnuu Wrote:Would a neater way to do it be via PulseAudio ? The audo syncing on it seems pretty nice .

The linux based machines, the plugin does use pulseaudio.... MAV Multicast Sink.Big Grin
Enjoy OpenSource! :nod:
MY SETUP: XBMC 12 Frodo RC3, Multiple Asus EB1501's throughout the Home for XBMC based STB's
Reply
#58
teshephe Wrote:Your HTTP server on XBMC is not turned on... Big Grin

Goto System > Network > Services > Allow Control of XBMC via HTTP and set the port to 8081.

Make sure you do this on the clients as well.

That should do it. Let me know if you need anything else. Wink

Great work, great potential, this is amazing. Now I too am trying hard to get it to work.

1. I have the same sendUDP.PY error on the server (win7) and the client (xbmc live) both running latest Dharma beta2. Both have port 8081 enabled.
Could this be a password issue?

2. I opened the readme, but its not readable even with word wrap. Just many long sentences. Do you have suggestion?

3. XBMC on the server does not want to close properly anymore, perhaps a reason for the sendUDP.PY ?

4. Could you please expand what is powershell and where best to get it, what do I need to do in the powershell?

5. Do I need to install vlc also on the xbmc live client? How should this be done

I apologise for the starters questions

thanks a lot
Reply
#59
Rrrr Wrote:Great work, great potential, this is amazing. Now I too am trying hard to get it to work.

1. I have the same sendUDP.PY error on the server (win7) and the client (xbmc live) both running latest Dharma beta2. Both have port 8081 enabled.
Could this be a password issue?

2. I opened the readme, but its not readable even with word wrap. Just many long sentences. Do you have suggestion?

3. XBMC on the server does not want to close properly anymore, perhaps a reason for the sendUDP.PY ?

4. Could you please expand what is powershell and where best to get it, what do I need to do in the powershell?

5. Do I need to install vlc also on the xbmc live client? How should this be done

I apologise for the starters questions

thanks a lot

To answer your questions...

What version of the plugin are you using? If you are using the 1.1.1 ver... the default now for the HTTP port should be 8080. (sorry, caught the issue and fixed it in 1.1.1) Rolleyes

Regarding your question to XBMC not shutting down properly, it actually is but there will be a pause as XBMC does a controlled shutdown of the communication processes for MAV.

Powershell... powershell is part of windows7 already so there should not be any downloading necessary... to check if it is loaded, goto a cmd prompt and type powershell.

XBMCLive ... it is not supported (yet) as there are some specific differences on what/how XBMC configures the sound system. Better off, installing Lucid(Full) and installing XBMC on top, then you can tweak the boot up/splash.
Enjoy OpenSource! :nod:
MY SETUP: XBMC 12 Frodo RC3, Multiple Asus EB1501's throughout the Home for XBMC based STB's
Reply
#60
Quote:Unlike the linux variant where you have the ability to select "MAV Mulicast Sink" as the default audio output device which is how the audio is virtually piped to the streamer for broadcast, we have to hand feed the media to the streamer. BTW... there is a utility that I use to bypass this on my Windows based Master called Virtual Cable which creates a Directshow audio device but it cost $$. Not terribly expensive but if you want to know more about this let me know.


Another, cheaper option I found is VirtualAudioStreaming (Windows) ($29 USD) @:

http://www.shinningmorning.com/VirtualAudioStreaming
Enjoy OpenSource! :nod:
MY SETUP: XBMC 12 Frodo RC3, Multiple Asus EB1501's throughout the Home for XBMC based STB's
Reply
  • 1
  • 2
  • 3
  • 4(current)
  • 5
  • 6
  • 15

Logout Mark Read Team Forum Stats Members Help
[RELEASE] Multiroom Audio & Video Streaming Plugin (Syncronized)1