Video Conferencing

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Video Conferencing

Michael.Doherty
I'm interested in experimenting with Video Conferencing using Squeak.
Has anyone done this? Are there examples? I'm thinking with Croquet
maybe it could be done peer to peer.

Thanks, Michael

Reply | Threaded
Open this post in threaded view
|

Re: Video Conferencing

Joshua Gargus-2
Hi Michael,

Howard Stearns and I have been working on video conferencing in  
Croquet.  It's not what I would call polished, but it's available:

http://opencroquet.org/WiscWorlds/

I'll note that Mac OS 10.4.7 has introduced some OpenAL weirdness  
that we haven't solved yet.  Also, the routers at Wisconsin are in a  
transitional period, so connectivity may be a bit spotty.

Josh



On Jul 3, 2006, at 3:23 PM, Michael Doherty wrote:

> I'm interested in experimenting with Video Conferencing using Squeak.
> Has anyone done this? Are there examples? I'm thinking with Croquet
> maybe it could be done peer to peer.
>
> Thanks, Michael
>


Reply | Threaded
Open this post in threaded view
|

Re: Video Conferencing

Ed Boyce
Josh Gargus said:

> Hi Michael,
>
> Howard Stearns and I have been working on video conferencing in
> Croquet.  It's not what I would call polished, but it's available:
>
> http://opencroquet.org/WiscWorlds/
>
> I'll note that Mac OS 10.4.7 has introduced some OpenAL weirdness
> that we haven't solved yet.  Also, the routers at Wisconsin are in a
> transitional period, so connectivity may be a bit spotty.
>
> Josh
>

Is/will WiscWorlds runnable from Linux?

    -- Ed


>
>
> On Jul 3, 2006, at 3:23 PM, Michael Doherty wrote:
>
>> I'm interested in experimenting with Video Conferencing using Squeak.
>> Has anyone done this? Are there examples? I'm thinking with Croquet
>> maybe it could be done peer to peer.
>>
>> Thanks, Michael
>>
>
>



Reply | Threaded
Open this post in threaded view
|

Re: Video Conferencing

Joshua Gargus-2
I haven't tested it personally (no linux box), but I don't see why  
not.  The video conferencing is Mac/Windows only, though.

Josh



On Jul 3, 2006, at 8:57 PM, Ed Boyce wrote:

> Josh Gargus said:
>> Hi Michael,
>>
>> Howard Stearns and I have been working on video conferencing in
>> Croquet.  It's not what I would call polished, but it's available:
>>
>> http://opencroquet.org/WiscWorlds/
>>
>> I'll note that Mac OS 10.4.7 has introduced some OpenAL weirdness
>> that we haven't solved yet.  Also, the routers at Wisconsin are in a
>> transitional period, so connectivity may be a bit spotty.
>>
>> Josh
>>
>
> Is/will WiscWorlds runnable from Linux?
>
>     -- Ed
>
>
>>
>>
>> On Jul 3, 2006, at 3:23 PM, Michael Doherty wrote:
>>
>>> I'm interested in experimenting with Video Conferencing using  
>>> Squeak.
>>> Has anyone done this? Are there examples? I'm thinking with Croquet
>>> maybe it could be done peer to peer.
>>>
>>> Thanks, Michael
>>>
>>
>>
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Video Conferencing

Michael.Doherty
In reply to this post by Joshua Gargus-2
Hi Josh,

Started Croquet on CroquetWiscWorld1.0.10.image on Mac-Mini osx 10.4.7
and got the following error:

Subject: [BUG]UndefinedObject(Object)>>doesNotUnderstand:

3 July 2006 8:17:14 pm

VM: Mac OS - a SmalltalkImage
Image: Wisconsin [latest update: #96]

SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir /Applications/Croquet/Croquet-WiscWorlds-1.0
Trusted Dir /Applications/Croquet/Croquet-WiscWorlds-1.0
Untrusted Dir /Users/ignatz/Library/Preferences/Squeak/Internet/My Squeak

UndefinedObject(Object)>>doesNotUnderstand:
        Receiver: nil
        Arguments and temporary variables:
                aMessage: asVmPathName
        Receiver's instance variables:
nil

MultiByteFileStream(StandardFileStream)>>open:forWrite:
        Receiver: MultiByteFileStream: nil
        Arguments and temporary variables:
                fileName: nil
                writeMode: false
                f: nil
                id: nil
        Receiver's instance variables:


MultiByteFileStream>>open:forWrite:
        Receiver: MultiByteFileStream: nil
        Arguments and temporary variables:
                fileName: nil
                writeMode: false
        Receiver's instance variables:


MultiByteFileStream class(StandardFileStream class)>>readOnlyFileNamed:
        Receiver: MultiByteFileStream
        Arguments and temporary variables:
                fileName: nil
                fullName: nil
                f: nil
        Receiver's instance variables:
                superclass: StandardFileStream
                methodDict: a MethodDictionary(#accepts:->a CompiledMethod (572)
#ascii->a Comp...etc...
                format: 152
                instanceVariables: #('converter' 'lineEndConvention'
'wantsLineEndConversion')
                organization: ('accessing' ascii binary converter converter:
fileInEncodingName...etc...
                subclasses: nil
                name: #MultiByteFileStream
                classPool: a Dictionary(#Cr->$
 #CrLf->'
' #Lf->$
 #LineEndDefault->#lf #LineE...etc...
                sharedPools: nil
                environment: a SystemDictionary(lots of globals)
                category: #'Multilingual-TextConversion'


--- The full stack ---
UndefinedObject(Object)>>doesNotUnderstand:
MultiByteFileStream(StandardFileStream)>>open:forWrite:
MultiByteFileStream>>open:forWrite:
MultiByteFileStream class(StandardFileStream class)>>readOnlyFileNamed:
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStream class>>readOnlyFileNamed:
TFormManager>>addFileNamed:mipmap:shrinkFit:extension:
TTexture>>initializeWithFileName:mipmap:shrinkFit:extension:
TTexture>>initializeWithFileName:mipmap:shrinkFit:
TSkyBox>>initializeWithFileName:
WisconsinWorld>>initialize
WisconsinWorld class(Behavior)>>new
TIsland(Island)>>new:
TIsland>>execute:
TIsland>>advanceTo:
TIsland>>decodeScheduleAndExecute:
[] in TFarRef>>syncSend:withArguments: {[result := myValue perform:
selector withArguments: args]}
BlockContext>>ensure:
TFarRef>>syncSend:withArguments:
TFarRef>>syncSend:
TMessageMaker>>doesNotUnderstand:
[] in WisconsinController(TIslandController)>>processMessages {[:obj |
obj decodeScheduleAndExecute: nextMsg]}
TFarRef>>send:
[] in WisconsinController(TIslandController)>>processMessages
{[[nextMsg := networkQueue nextOrNil.  nextMsg == nil]   whileFalse:
[island ...]}
BlockContext>>ensure:
[] in TMutex>>critical: {[owner := activeProcess.  aBlock   ensure:
[owner := nil]]}
[] in Semaphore>>critical: {[blockValue := mutuallyExcludedBlock value]}
BlockContext>>ensure:
Semaphore>>critical:
TMutex>>critical:
WisconsinController(TIslandController)>>critical:
WisconsinController(TIslandController)>>processMessages
WisconsinController(TIslandController)>>advanceTo:
WisconsinController(TIslandController)>>runEventLoop
[] in WisconsinController(Object)>>fork:at: {[self perform: aSelector]}
[] in BlockContext>>newProcess {[self value.  Processor terminateActive]}

Reply | Threaded
Open this post in threaded view
|

Re: Video Conferencing

Joshua Gargus-2
That seems like it's not able to connect to a running world (when you  
click 'Start Croquet', it attempts to connect to a running world in  
Wisconsin), and therefore tries to create a world from scratch.  The  
problem is that, by default, the WiscWorlds installer doesn't  
download all of the content to do the from-scratch generation.

Try install WiscWorlds again, and on the "Installation Type" step  
choose "Customize".  Then select *only* the Croquet SDK.  This will  
install the necessary content files.

(if this doesn't work for you, let's move the discussion over to  
Croquet-user)

Josh


On Jul 3, 2006, at 9:22 PM, Michael Doherty wrote:

> Hi Josh,
>
> Started Croquet on CroquetWiscWorld1.0.10.image on Mac-Mini osx 10.4.7
> and got the following error:
>
> Subject: [BUG]UndefinedObject(Object)>>doesNotUnderstand:
>
> 3 July 2006 8:17:14 pm
>
> VM: Mac OS - a SmalltalkImage
> Image: Wisconsin [latest update: #96]
>
> SecurityManager state:
> Restricted: false
> FileAccess: true
> SocketAccess: true
> Working Dir /Applications/Croquet/Croquet-WiscWorlds-1.0
> Trusted Dir /Applications/Croquet/Croquet-WiscWorlds-1.0
> Untrusted Dir /Users/ignatz/Library/Preferences/Squeak/Internet/My  
> Squeak
>
> UndefinedObject(Object)>>doesNotUnderstand:
> Receiver: nil
> Arguments and temporary variables:
> aMessage: asVmPathName
> Receiver's instance variables:
> nil
>
> MultiByteFileStream(StandardFileStream)>>open:forWrite:
> Receiver: MultiByteFileStream: nil
> Arguments and temporary variables:
> fileName: nil
> writeMode: false
> f: nil
> id: nil
> Receiver's instance variables:
>
>
> MultiByteFileStream>>open:forWrite:
> Receiver: MultiByteFileStream: nil
> Arguments and temporary variables:
> fileName: nil
> writeMode: false
> Receiver's instance variables:
>
>
> MultiByteFileStream class(StandardFileStream class)
> >>readOnlyFileNamed:
> Receiver: MultiByteFileStream
> Arguments and temporary variables:
> fileName: nil
> fullName: nil
> f: nil
> Receiver's instance variables:
> superclass: StandardFileStream
> methodDict: a MethodDictionary(#accepts:->a CompiledMethod (572)
> #ascii->a Comp...etc...
> format: 152
> instanceVariables: #('converter' 'lineEndConvention'
> 'wantsLineEndConversion')
> organization: ('accessing' ascii binary converter converter:
> fileInEncodingName...etc...
> subclasses: nil
> name: #MultiByteFileStream
> classPool: a Dictionary(#Cr->$
> #CrLf->'
> ' #Lf->$
> #LineEndDefault->#lf #LineE...etc...
> sharedPools: nil
> environment: a SystemDictionary(lots of globals)
> category: #'Multilingual-TextConversion'
>
>
> --- The full stack ---
> UndefinedObject(Object)>>doesNotUnderstand:
> MultiByteFileStream(StandardFileStream)>>open:forWrite:
> MultiByteFileStream>>open:forWrite:
> MultiByteFileStream class(StandardFileStream class)
> >>readOnlyFileNamed:
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> FileStream class>>readOnlyFileNamed:
> TFormManager>>addFileNamed:mipmap:shrinkFit:extension:
> TTexture>>initializeWithFileName:mipmap:shrinkFit:extension:
> TTexture>>initializeWithFileName:mipmap:shrinkFit:
> TSkyBox>>initializeWithFileName:
> WisconsinWorld>>initialize
> WisconsinWorld class(Behavior)>>new
> TIsland(Island)>>new:
> TIsland>>execute:
> TIsland>>advanceTo:
> TIsland>>decodeScheduleAndExecute:
> [] in TFarRef>>syncSend:withArguments: {[result := myValue perform:
> selector withArguments: args]}
> BlockContext>>ensure:
> TFarRef>>syncSend:withArguments:
> TFarRef>>syncSend:
> TMessageMaker>>doesNotUnderstand:
> [] in WisconsinController(TIslandController)>>processMessages {[:obj |
> obj decodeScheduleAndExecute: nextMsg]}
> TFarRef>>send:
> [] in WisconsinController(TIslandController)>>processMessages
> {[[nextMsg := networkQueue nextOrNil.  nextMsg == nil]   whileFalse:
> [island ...]}
> BlockContext>>ensure:
> [] in TMutex>>critical: {[owner := activeProcess.  aBlock   ensure:
> [owner := nil]]}
> [] in Semaphore>>critical: {[blockValue := mutuallyExcludedBlock  
> value]}
> BlockContext>>ensure:
> Semaphore>>critical:
> TMutex>>critical:
> WisconsinController(TIslandController)>>critical:
> WisconsinController(TIslandController)>>processMessages
> WisconsinController(TIslandController)>>advanceTo:
> WisconsinController(TIslandController)>>runEventLoop
> [] in WisconsinController(Object)>>fork:at: {[self perform:  
> aSelector]}
> [] in BlockContext>>newProcess {[self value.  Processor  
> terminateActive]}
>


Reply | Threaded
Open this post in threaded view
|

Re: Video Conferencing

Howard Stearns
In reply to this post by Joshua Gargus-2
If you go into the 'Wisconsinization' project, there are a number of  
buttons.  The one marked '3dWiki' is the same as the button on the  
startup project, and connects to a router on Mac which also has a  
headless peer on Windows connected to it (to provide the current  
world definitions).  The one marked 'campus' connects to a router and  
headless peer both running in the same Squeak, on Linux.

Each (Mac, Windows, Linux) is using the same images.  Although http://
opencroquet.org/WiscWorlds/ only has links for Windows and Mac  
installers, both of these installers have options (off by default)  
which give you the Linux VM.  You need to use one of these and copy  
to Linux for a reason: We don't have a way to test Linux opengl  
graphics and openal sound, and my impression is that both are more  
buggy than I want to deal with. (In fact, openAL doesn't work on the  
Linux box described above, and the software silently catches the  
error and ignores sound so that I can continue using it a router and  
headless peer.) So if you want to work with this on Linux, you should  
really have one of Windows/Mac so you can debug the graphics and  
sound yourself.

And finally, as Josh notes, there is a plugin for capturing video  
from the Web cam on Mac and another on Windows. None for Linux.

On Jul 3, 2006, at 8:08 PM, Josh Gargus wrote:

> I haven't tested it personally (no linux box), but I don't see why  
> not.  The video conferencing is Mac/Windows only, though.
>
> Josh
>
>
>
> On Jul 3, 2006, at 8:57 PM, Ed Boyce wrote:
>
>> Josh Gargus said:
>>> Hi Michael,
>>>
>>> Howard Stearns and I have been working on video conferencing in
>>> Croquet.  It's not what I would call polished, but it's available:
>>>
>>> http://opencroquet.org/WiscWorlds/
>>>
>>> I'll note that Mac OS 10.4.7 has introduced some OpenAL weirdness
>>> that we haven't solved yet.  Also, the routers at Wisconsin are in a
>>> transitional period, so connectivity may be a bit spotty.
>>>
>>> Josh
>>>
>>
>> Is/will WiscWorlds runnable from Linux?
>>
>>     -- Ed
>>
>>
>>>
>>>
>>> On Jul 3, 2006, at 3:23 PM, Michael Doherty wrote:
>>>
>>>> I'm interested in experimenting with Video Conferencing using  
>>>> Squeak.
>>>> Has anyone done this? Are there examples? I'm thinking with Croquet
>>>> maybe it could be done peer to peer.
>>>>
>>>> Thanks, Michael
>>>>
>>>
>>>
>>
>>
>>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Video Conferencing

Alan Grimes-2
> Each (Mac, Windows, Linux) is using the same images.  Although http://
> opencroquet.org/WiscWorlds/ only has links for Windows and Mac
> installers, both of these installers have options (off by default)
> which give you the Linux VM.  You need to use one of these and copy  to
> Linux for a reason: We don't have a way to test Linux opengl  graphics
> and openal sound, and my impression is that both are more  buggy than I
> want to deal with. (In fact, openAL doesn't work on the  Linux box
> described above, and the software silently catches the  error and
> ignores sound so that I can continue using it a router and  headless
> peer.) So if you want to work with this on Linux, you should  really
> have one of Windows/Mac so you can debug the graphics and  sound yourself.

My Linux machine loads the Croquet image just fine. However it crashes
THE MACHINE when I try to open a 3D space. This is unquestionably a
problem with the linux kernel _AND_ the X-org server because the OS
should guarentee that no program can put the computer into an
unrecoverable state. I suspect that a lock deep in the kernel is not
beeing freed and the entire SMP machine is coming to a screeching halt...

For this reason and because I would really like to play Spore, I will
probably buy a windows machine about this time next year, funds
permitting... =((((

--
Don't let your schoolwork get in the way of your learning.

### NEW E-MAIL: [hidden email] ###