making5555tk

5555tk com  时间:2021-03-02  阅读:()
M.
ReedLittleandL.
Nigay(Eds.
):EHCI2001,LNCS2254,pp.
73–90,2001.
Springer-VerlagBerlinHeidelberg2001ExploringNewUsesofVideowithVideoSpaceNicolasRousselDIUF,UniversitédeFribourgCheminduMusée,31700Fribourg,Switzerlandnicolas.
roussel@unifr.
chAbstract.
ThispaperdescribesvideoSpace,asoftwaretoolkitdesignedtofacilitatetheintegrationofimagestreamsintoexistingornewdocumentsandapplicationstosupportnewformsofhuman-computerinteractionandcollaborativeactivities.
Inthisperspective,videoSpaceisnotfocusedonperformanceorreliabilityissues,butratherontheabilitytosupportrapidprototypingandincrementaldevelopmentofvideoapplications.
Thetoolkitisdescribedinextensivedetails,byshowingthearchitectureandfunctionalitiesofitsclasslibraryandbasictools.
SeveralprojectsdevelopedwithvideoSpacearealsopresented,illustratingitspotentialandthenewusesofvideoitwillallowinthefuture.
1IntroductionAlthoughalmostfortyyearshavepassedsinceAT&T'sfirstPicturePhone,mostcommercialsystemsandapplicationsdealingwithvideocommunicationtodayarestillbasedonaphoneparadigm.
Thisparadigmusuallyimpliesaformalandexplicitsetupofthelinkbybothpartiesandthedisplayoftheimages"as-is"onamonitororinawindowonacomputerscreen.
Overthelasttwentyyearshowever,theHCIandCSCWresearchcommunitieshaveproposedanumberofinnovativeusesofvideoincludingsupportforinformalcommunication[1]aswellashighlyfocusedcollaborativeactivities[2],orimageprocessingforhuman-computerinteraction[3].
Inthispaper,IpresentvideoSpace,asoftwaretoolkitdesignedtofacilitatetheuseofimagestreamstosupportsuchnewformsofhuman-computerinteractionandcomputer-supportedcollaborativeactivities.
VideoSpaceismotivatedbythedesiretofocusontheusesofvideo,ratherthanthetechnologiesitrequires.
Inthisperspective,thetoolkitisnotfocusedonperformanceorreliabilityissues,butratherontheabilitytosupportrapidprototypingandincrementaldevelopmentofvideoapplications.
ThisapproachcontrastswithmanyoftheresearchthemesusuallyassociatedtovideointheMultimediaorNetworkcommunitiessuchascompression,transportorsynchronization.
VideoSpaceisnotaimedatthesetopics.
ItisratherintendedtohelpHCIandCSCWresearcherswhowanttoexplorenewusesoftheimages.
VideoSpaceisdesignedafterA.
Kay'sfamoussaying:"simplethingsshouldbesimple,complexthingsshouldbepossible".
Itprovidesusersanddeveloperswithasetofbasictoolsandaclasslibrarythatmakeiteasytointegrateimagestreamswithinexistingornewdocumentsandapplications.
Thetools,forexample,allow74NicolasRousseluserstodisplayimagestreamsinHTMLdocumentsinplaceofordinarystaticimagesortoembedthesestreamsintoexistingXWindowapplications.
Creatingavideolinkwiththelibraryrequiresonlyafewlinesofcode;managingmultiplesourcesandincludingvideoprocessingisnotmuchmorecomplicated.
SincetheimagestreamsmanagedbyvideoSpaceofteninvolvelivevideoofpeople,thetoolkitalsoprovidesaflexiblemechanismthatallowsuserstomonitorandcontrolaccesstotheirownimage.
Thepaperisorganizedasfollows.
Afterintroducingsomerelatedwork,IdescribevideoSpacebyshowingthearchitectureandfunctionalitiesofitslibraryandbasictools.
Ithenpresentseveralprojectsbasedonthetoolkitthatillustrateitspotentialandthenewusesofvideoitwillallowinthefuture.
Finally,Idiscusssomelessonslearnedfromthisworkandconcludewithdirectionsforfutureresearch.
2RelatedWorkPrototypinghasbeenrecognizedasanefficientmeansofdevelopinginteractiveapplicationsforsometime[4]:iterativedesignpromotestherefinementandoptimizationoftheenvisionedinteractiontechniquesthroughdiscussion,exploration,testinganditerativerevision.
However,exploringnewusesofvideothroughprototypingishard.
Researchersarefacedwithmultipledifficultproblemssuchastheneedfordigitizinghardwareaswellasspecializedencoding/decodingalgorithmsandcommunicationprotocols.
Moreover,evaluatingasolutiontoanyoftheseproblemsusuallymeanshavingsomesolutiontoallofthem.
Manyinnovativeworksontheuseofimagestreamsovercometheseproblemsbyusingspecificvideohardware.
EarlyMediaSpaces,forexample,werebasedonanalogaudio/videonetworks[5,6,7].
ClearBoard[2]alsousesananalogvideolinkanddedicatedvideooverlayboardstosuperimposetwoimagestreamsinreal-time.
Likewise,Videoplace[8]reliesondedicatedhardwareforimageprocessing.
Althoughthesespecifichardwaresolutionsallowresearcherstofocusontheinteractionsandnotthetechnologyrequiredtoimplementthem,theyareusuallyexpensive,hardtosetup,hardtomaintainandsometimesevenhardtoreproduce.
Specificvideohardwareallowstocreatefullyfunctional,high-fidelityprototypes.
Buthigh-fidelityprototypingisnotgoodforidentifyingconceptualapproaches,unlessthealternativeshavealreadybeennarroweddowntotwoorthree,orsometimesevenone[4].
Low-fidelityprototypeshaveprovedusefultonarrowthesealternatives.
Penandpaper,paintingprogramsorothersimpleelectronictoolscanbeusedtogetfeedbackfrompotentialusersfromtheveryearlystagesofproductdevelopment.
SoftwaretoolkitssuchasTcl/TkorGroupKit[9]havelongbeenusedforrapidprototypinganditerativedevelopmentofgraphicalinterfacesandgroupwareapplications.
ThemorerecentadventofWeb-basedapplicationsalsopromotestheuseofquicklyhackedHTMLinterfacesthatcanbeeasilymodifiedtoexplorealternativedesigns.
ThemotivationforcreatingvideoSpaceresidesinthelackofsuchflexiblesoftwaretoolsforexploringnewusesofvideothroughthecreationofhigh-fidelityaswellaslow-fidelityprototypes.
Mostmodernoperatingsystemsprovidesoftwarelibrariestomanipulateimagestreams,suchasAppleQuickTime,MicrosoftDirectXorSGIExploringNewUsesofVideowithVideoSpace75DigitalMediaLibraries.
Theselibrarieshavealltheirownadvantagesanddisadvantages,buttheyareusuallyplatform-dependentandincompatiblewitheachother.
Thesecharacteristicsmakethemdifficulttouseforbuildingthecomplex-andusuallydistributed-applicationsrequiredtoexplorenewusesofvideo.
AlthoughIrealizetheimportanceofthelow-levelservicesofferedbytheselibraries,IbelievethattheHCIandCSCWcommunitieswouldbenefitfromahigher-levelsoftwareplatformforimagestreamsmanipulation.
TheMashstreamingmediatoolkit[10]andsomeotherplatformsdevelopedbytheMultimediaandNetworkresearchcommunitiesofferhigh-levelvideodigitizingandtransmissionservices.
However,theseplatformsnaturallytendtofocusonthetransmissiontechniquesandusuallyrelyontheideathatimagesaretobedisplayed"as-is",asbigandasfastaspossible.
Althoughthisconceptioniswellsuitedtoapplicationssuchasvideoconferencing,tele-teachingorvideo-on-demand,itistoorestrictiveformoreinnovativeapplicationsthatmightinvolveimageprocessingorcompositionatanypointbetweenitsproductionandfinaluse.
TheJavaMediaFramework(JMF)isprobablytheexistingplatformclosesttovideoSpace.
Itprovidesprogrammerswithasetofhigh-levelclassestodigitize,store,transmit,processanddisplayimages.
However,itisaclosedproductofacommercialorganization.
Atthetimeofthiswriting,forexample,JMFsupportsvideodigitizingonMicrosoftWindowsandSunSolarisplatformsonly.
Sinceitssourcecodeisnotpubliclyavailable,implementingthisfeatureonotherplatformsrequireswritingseparateextensionsandpossiblyrewritingsomeexistingcode.
Moreover,correctingbugsorimplementingnewfeaturesisaprivilegeofafewpeoplewhoseinterestsmightdifferfromthoseoftheHCIandCSCWresearchcommunities.
VideoSpacegrewoutofmynumerousexperiencesandfrustrationsinwritingapplicationsthatdigitize,synthesize,transmit,store,retrieve,display,modifyoranalyzeimagestreams.
Bymovingthecommonelementsoftheseapplicationsintoalibraryandprovidingtoolssuchasanetworkvideoserver,Icannowquicklycreatevideoapplicationswhosecomplexityshrunkfromseveralthousandlinesofcodetoonlyafewhundredlines.
This,inturn,facilitatestheexplorationofawiderrangeofusesoftheimagestreamstosupporthuman-computerinteractionanddistantcollaboration.
3TheVideoSpaceLibraryThevideoSpacelibrarywasinitiallydevelopedinC++onSGIworkstations.
Initscurrentstate,itconsistsoflessthanahundredclassesand15000linesofcode.
Thehardwareandsystemdependentcodeisclearlyseparatedfromtherestofthecode,whichallowedustoeasilyportittoLinuxansSunSolarisandshouldfacilitateporttoothersystems.
ThelibraryandseveralvideoSpaceapplicationswereindeedsuccessfullyportedtoAppleMacOSinSeptember1999,althoughthisdevelopmentbranchwaslaterabandoned.
InadditiontotheprimaryC++library,someofthecoreservicesofvideoSpacearealsoavailablefromPythonscripts,throughadynamicextension,andsomeothershavebeenre-implementedinpureJava.
IntegrationwithTcl/TkisalsoprovidedthroughaspecificityoftheXWindowsystemthatwillbedetailedinthenextsection.
76NicolasRoussel3.
1GeneralOverviewThevideoSpacelibraryisbuiltaroundtheconceptofimage:itprovidesdeveloperswithclassesandfunctionstoproduce,process,transmit,displayandrecordimages(Fig.
1)andtomultiplexthesebasicoperations.
Fig.
1.
Typicallife-cycleofavideoSpaceimageVideoSpaceimagesareproducedbylocalornetwork-accessibleimagesources.
Animagesourcemaydigitizeorsynthesizeinreal-timetheimagesitproduces.
Itmayalsoretrievethemfromapre-recordedstream.
AllimagesourcesaredescribedbyaURLthatdefinestheminauniqueway.
TheoperationmodeofaparticularsourcecanbeadjustedthroughtheadditionofquerystringparameterstoitsURL.
Suchparameterscanbeused,forexample,tospecifytheframe-rate,thesizeorthequalityoftheimagesproduced.
VideoSpacesupportsreal-timeprocessingofimagesthroughfiltersthattransformoranalyzethem.
Transformationfiltersmodifythedimensions,thedataortheencodingoftheimageswhereasanalysisfiltersonlyextractvaluableinformationfromthem.
Thelibraryprovidesanumberoffiltersforbothtransformingandanalyzingimages.
Someofthemallowtoconvertimagesbetweenthedifferentencodingsavailableandtoresizethem.
Othersareusedforgammacorrectionorconvolutionbya3x3kernel.
Otherstopaintrectangularregions,toinsertanimageinanotheroneortosuperimposetwoimages.
Morecomplexfilterssuchaschroma-keying,imagedifferenceandbasicmotiondetectionarealsoprovided.
Imagesinksareusedtotransmitimagesonthenetwork,todisplaythemonthecomputerscreenoronananalogvideooutput(e.
g.
,aseparatemonitor)andtorecordthemintofiles.
Likeimagesources,imagesinksandtheiroperationmodearedescribedbyURLs.
Aswewillseeinthefollowingsections,thisuseoftext-baseddescriptionsforsourcesandsinksallowstospecifythematrun-time,makingitpossibletocreatesimpleyetpowerfulapplicationsformanipulatingtheimagestreams.
Combininganimagesourcewithasinkmayresultincomplexexecutionflows.
Forexample,ifanimagecomingfromaremotesourcehastobedisplayedonananalogvideooutput,theapplicationhastolistentothenetworkconnectiontogettheimagedataand,atthesametime,ithastomakesurethatthehardwareisreadytodisplayitwhenitiscompletelydecoded.
Theuseofmultipleimagesourcesorsinksmakesthisexecutionflowmorecomplex.
Interactiveuserinterfacesaddevenmoreeventsourcestomonitor,increasingthecomplexityfurther.
InordertoreducethisExploringNewUsesofVideowithVideoSpace77complexity,thevideoSpacelibraryprovidessimplemechanismsbasedonclassinheritanceandmethodoverridingformultiplexingobjectsthatdealwithfiles,networkconnectionsorhardwaredevices.
3.
2ImplementationDetailsImage,pixelencodingsandmemorymanagement.
TheImageclassimplementssimpledatastructuresthatdescribethewidth,heightandpixelencodingofarectangularbitmapandpointtothememorylocationofthecorrespondingdata.
Thefollowingencodingsaresupported:L-forluminance-,RGB,ABGR,RGBA,Y'CbCr4:2:0andJPEG.
Inordertofacilitatememorymanagementbetweensuccessivemanipulations,thememorylocationofanImagecannotbemodifiedwithoutexplicitlystatingwhatshouldhappentothenewbufferwhenitislatelyreplaced.
Thisinformation,storedalongwiththepointer,allowsasingleImageobjecttosuccessivelyusedifferentmemoryareasthatareautomaticallyde-allocatedwhennotneededanymore.
Networksupport.
ThevideoSpacelibraryprovidesseveralclassesforsendingandreceivingUDPdatagrams-unicastormulticast-,creatingTCPserversandclientsanddecodingHTTPmessages.
TheseclassesallowvideoSpaceapplicationstoexchangeanykindofdata,includingimages.
Fournetworkprotocolsforimagestreaminghavebeenimplementedontopofthem:Netscape'sHTTPServer-Pushextension[11]appliedtoaseriesofJPEGimages,theclientsideoftheRFBprotocol1,andVSMPandVSTP,twoproprietaryprotocols.
VSMPisbasedonUDPandcanbeusedforone-to-one(unicast)orone-to-many(multicast)videotransmissions.
ImagesareJPEG-encodedsotheycanfitinasingledatagramanda"besteffort"strategyisused:lostdatagramsarenotretransmitted.
VSTPwasdesignedforclient-typeapplicationsthatrequestvideofromaserver.
ItcombinesaVSMPtransmissionofimageswithanHTTPconnectionusedasasignalingchannel:theclientsendsontheHTTPconnectiontheinformationrequiredtostarttheVSMPtransmission,i.
e.
thelocalhostnameandaUDPportnumber,andclosesittostopthetransmission.
AlthoughVSMPandVSTPweredesignedforsimplicityandnotperformanceorreliability,theirperformancelevelisquiteacceptable:overthelastthreeyears,theyhavebeenusedtotransmitvideostreamsbetweenFrance,TheNetherlands,Denmark,Germany,SwitzerlandandAustriaatupto20QCIFimagespersecond(176x144pixels)and10CIFimagespersecond(320x240pixels)withalatencyoflessthanhalfasecondandnoperceivableimageloss.
1TheRemoteFrameBuffer(RFB)protocolwasdevelopedbyAT&TfortheirVirtualNetworkComputing(VNC)project[12].
Itallowsthinclientapplicationstodisplayreal-timeimagesofaremoteXWindow,AppleMacOSorMicrosoftWindowsdesktopserverandtosendmouseandkeyboardeventstothisserver.
78NicolasRousselImageproduction.
ThevideoSpacelibrarydefinesanabstractImageSourceclasswithmethodsforstartingtheimageproduction,gettingthenextorthemostrecentimageavailable2andstoppingtheimageproduction.
SeveralclassesderivedfromImageSourceimplementtheactualsourcetypessupportedbythelibrary.
Afactoryfunctionallowstherun-timecreationofagenericImageSourceobjectfromtheappropriatederivedclass,givenaURLandthedesiredencoding.
TheURLdescribingahardwarevideoinputonthelocalmachinespecifiesthedeviceandtheactualinputusedonthisdevice(e.
g.
,analoginputnumbertwoondigitizingboardone).
Twogenericnames,anydevandanynode,canbeusedasdefaultvaluesforportability.
Threeoptionalquerystringparameters(zoom,lengthandpause)controlthesizeoftheimages,theirnumberandthetimebetweentwosubsequentones.
Afourthoneallowsuserstoindicatewhetherthehardwareresourceshouldbelocked(locked=1)orwhetherotherapplicationscanpreemptitwhenneeded.
URLscorrespondingtonetworksourcesspecifytheremotehostnameoraddress(orgroupaddress,inthecaseofmulticast),possiblyfollowedbyaTCPorUDPportnumber,somepathinformationandsomequerystringparameters.
Inadditiontothefourimagestreamingprotocolswementioned,videoSpacesupportstosomeextentthereal-timecaptureofawindowonthecomputerscreenthroughtheXprotocol.
Italsosupportstwotypesofpre-recordedimagesources,oneforsingleimageJPEGfiles,andtheotherforfilescontainingJPEGimagestreamsproducedbytheServer-Pushprotocol.
ThefollowingURLsillustrateandsummarizetheimagesourcescurrentlyimplemented:videoin:/anydev/camerazoom=3localdigitizinghardwarehttp://host:5555/push/videoHTTPserverusingthePushextensionrfb://host:1VNCservervsmp://host:9823videoSpaceapp.
usingVSMPunicastvsmp://225.
0.
0.
252:5557videoSpaceapp.
usingVSMPmulticastvstp://host/videopause=1videoSpaceapp.
usingVSTPxwindow://localhost:0/0x1c0000eXwindow(experimental)file:/tmp/test.
jpgsingleJPEGimagefile:/tmp/demo.
vssJPEGstreamintheServer-PushformatImageprocessing.
Imagefilterscanbeimplementedasfunctions,orasclassesthatassociatedataandpossiblystate-basedtransitionstotheprocessingalgorithm.
Inthelattercase,aSimpleFilterclasscanbeusedasabaseclasstoshareacommonsyntaxandallowtherun-timespecificationoffilters.
Processingalgorithmsareusuallyimplementedforasubsetoftheavailableencodings(e.
g.
,RGB,RGBAandABGR).
Consequently,encodingconversionmightberequiredbeforeand/orafterapplyingafilter.
2Themostrecentimagemightnotbethenextoneifthesourceimplementssomebufferingalgorithm.
ExploringNewUsesofVideowithVideoSpace79Imagetransmission,displayandrecording.
ApointertothememorylocationofanImagedatacanbeobtainedthroughagetDatamethod.
SincetheencodingssupportedbyvideoSpacearealsosupportedbymanylow-levelgraphicalorvideolibraries,itsimagescanbeeasilymanipulatedwiththem.
OpenGL,GTKortheLinuxSVGAlibrary,forexample,canbeusedtodisplaytheimagesonthecomputerscreen.
OnSGIO2andOctaneworkstationswithproperhardware,theDigitalMediaLibrariescanalsobeusedtosendthemtoanexternalanalogvideodevicesuchasamonitororaVCR.
RecentadditionstothelibraryalsoprovidesomepreliminarysupportforcreatingMPEG-1andRealPlayercompatiblevideostreams.
ThevideoSpacelibrarydefinesanabstractImageSinkclassandseveralderivedclassestofacilitatethetransmissionofimagesusingVSMP,theirdisplayusingseveralgraphicaltoolkits,andtheirrecordinginseveralformats.
Asforimagesources,afactoryfunctionallowstherun-timecreationofagenericImageSinkobjectfromgivenaURL.
ThefollowingURLsillustrateandsummarizetheimagesinkscurrentlyimplemented:vsmp://localhost:9823videoSpaceapp.
usingVSMPunicastvsmp://225.
0.
0.
252:5557videoSpaceapp.
usingVSMPmulticastglxwindow://localhost:0OpenGLdisplayinanXWindowgtkwindow://localhost:0GTKwindowsvga:/640x480centered=1SVGAfull-screendisplay(Linuxonly)videoout:/anydev/anynodeanalogvideooutput(SGIonly)file:/tmp/capture.
jpegsingleJPEGimagefile:/tmp/capture.
vssJPEGstreamintheServer-Pushformatfile:/tmp/capture.
mpegMPEG-1stream(experimental,Linuxonly)file:/tmp/capture.
rmRealPlayerstream(experimental,Linuxonly)Multiplexing.
ThevideoSpacelibraryprovidesaMultiplexNodeclassformultiplexinglow-leveloperationsonfiles,networkconnectionsandhardwaredevices.
Themultiplexmethodofthisclass,basedontheUNIXpollsystemcall,suspendstheexecutionoftheapplicationuntilatimerexpiresorsomedescriptorassociatedtoafile,connectionordevicebecomesreadableorwritable.
multiplexreliesontwoothermethods:prepare,thatspecifiesthesetofdescriptorstowatchandthetimelimit,andcheck,thatdefineshowtheobjectreactstolow-levelstatechanges.
Manyclassesofthelibrary,includingallimagesourcesandsinks,derivefromMultiplexNodeandoverridethesetwomethodstoimplementhigh-levelreactiveobjects.
EveryMultiplexNodeobjectmaintainsalistofotherMultiplexNodeinstancesassociatedtoitbytheapplicationdeveloper.
Callingthemultiplexmethodofoneobjectautomaticallycallstheprepareandcheckmethodsofallassociatedinstancesinadditiontothoseoftheprimaryobject.
Thisallowsdeveloperstodescribehierarchicalstructuresofhigh-levelreactiveobjectsandtomultiplextheminasinglecall.
Thefollowingcodeexampleillustratesthisbyshowinghowtoblendalocalandaremoteimagestreamanddisplaytheresultingimagesonananalogvideooutput:80NicolasRousselImageSource*src1=createImageSource(Image::RGB,"videoin:/anydev/camerazoom=2");ImageSource*src2=createImageSource(Image::RGB,"vstp://remotehost/video");ImageSink*dst=createImageSink("videoout:/anydev/anynode");dst->addNode(src1);//Associatethetwoimagesourcesdst->addNode(src2);//totheimagesinksrc1->start();src2->start();dst->start();Imageimg1,img2,composite;boolnewComposite=false;while(dst->isActive()){dst.
multiplex();//Multiplexthesinkandthesourcesif(src1->getNextImage(&img1)||src2->getNextImage(&img2)){//Atleastoneimagehaschanged//updatethecompositeblendImages(&img1,&img2,&composite);newComposite=true;}if(newComposite){//Thecompositestays"new"untilhandlednewComposite=!
dst->handle(&composite);}}4VideoSpaceBasicToolsInadditiontotheC++library,aimedatdevelopers,thevideoSpacetoolkitprovidesend-userswithanumberoftoolsthatcanbeusedoff-the-shelf,withnoorlittleprogramming,andserveasbuildingblocksformorecomplexapplications.
ExploringNewUsesofVideowithVideoSpace814.
1VideoServerThemaintoolprovidedbyvideoSpaceisvideoServer[13].
VideoServerisapersonalWebserverrunbytheuserofaworkstationanddedicatedtovideo:itistheuniquepointofaccesstothatperson'svideosources.
Thethreeservicesitprovidesare:1.
creatingaone-waylivevideoconnection;2.
retrievingapre-recordedvideofile;3.
actingasarelayforanotherimagesource.
VideoServerservicesaremappedtoresourcenamesthatareaccessiblethroughtheHTTPprotocolandcanbedescribedbysimpleURLs.
VideodataitselfcanbetransmittedwiththeHTTPServer-PushorVSTP.
ThefollowingURL,forexample,requestsalivevideostreamwith1frameevery60secondstobesentwithHTTPServer-Push(5555isvideoServer'sdefaultportnumber):http://host:5555/push/videopause=60ThisURLrequestsapre-recordedvideofiletobesentwithVSTPtoaclientlisteningondesthostonport9257:http://host:5555/vstp/movie/demo.
vsshost=desthost&port=9257ThisthirdexampleillustratestheuseofvideoServerasarelayforanothersource,inthiscaseanRFBserver.
TheURLdescribingthesourcerelayed,rfb://srchost:1,hastobeencodedinordertobeusedinthequerystringoftherequest:http://host:5555/push/relaysrc=rfb%3A%2F%2Fsrchost%3A1UsingcustomHTTPserverstoprovidevideoservicesisnotnew.
AnumberofWebcamsavailableontheInternetworkthisway,andinfactvideoSpaceusersoftenusethemasimagesources.
However,videoServerdiffersfromtheseWebcamsonamajorissue:itprovidesitsuser(i.
e.
,thepersonwhorunsit)withaccesscontrolandnotificationmechanismstosupportprivacy.
Foreveryrequestitreceives,videoServerexecutesanexternalprogram,thenotifier,withargumentsindicatingthenameoftheremotemachine,possiblytheremoteuser'sloginname,theresourcethatledtotheserver-theHTTPreferrer-andtherequestedservice.
Inresponse,thenotifiersendsbacktotheserverthedescriptionoftheservicetoexecute,whichcandifferfromtheonetheclientrequested.
Thedefaultnotifier,aUNIXshellscript,allowsuserstoeasilydefineaccesspolicies.
Lowqualityorpre-recordedvideo,forexample,canbesenttounidentifieduserswhileknownpeoplegetahighqualitylivevideostream.
Inadditiontocomputingtheservicetoexecute,thenotifiercantriggerseveralauditoryorgraphicalnotificationstoreflectsomeoftheinformationavailable,suchastheidentityoftheremoteuserortheservicerequested.
Whenalivevideorequestdoesnotspecifythenumberofimages,videoServerlimitsitto5000,thatis,uptothreeminutes.
Thisensuresthatconstantmonitoringcannottakeplacewithoutperiodicallyaskingpermissionandthustriggeringnotifications.
AlltheseelementsfacilitatetheacceptanceofvideoServerbytheusersandhelpsfindingatrade-offbetweenaccessibilityandprivacy.
82NicolasRoussel4.
2VideoClientVideoClientstartedasasimplelightweightapplicationdesignedtodisplayvideoSpacestreamsonthecomputerscreen,thevideobeingscaledtomatchthewindowsize[13].
Astheclasslibraryevolved,itbecameamoregenerictoolforeasilyfilteringvideostreamsanddisplaying,recording,orsendingthemonthenetwork.
ThecurrentimplementationofvideoClientisabout100linesofC++andallowstospecifyatrun-timeanImageSource,aSimpleFilterandanImageSink.
Forexample,videoClientcanbeusedfor:1.
recordingimagesfromlocalhardwareintoafilevideoClient-ivideoin:/anydev/anynode\-ofile:demo.
vss2.
multicastingtherecordedsequenceafterapplyingadifferencefiltervideoClient-ifile:demo.
vss\-fdifference\-ovsmp://225.
0.
0.
252:55573.
displayingthemulticastedstreaminanXwindowusingOpenGLvideoClient-ivsmp://225.
0.
0.
252:5557\-oglxwindow://localhost:0Inadditiontotop-levelwindowswhichcanbemanipulatedthroughthewindowmanager,theglxwindowimagesinkcantakeadvantageofthearchitectureoftheXWindowsystemtodisplayvideoinanewsubwindowofanexistingone.
Thiscanbedonebysimplyspecifyingtheidoftheparentwindow:videoClient-oglxwindow://localhost:0parent=0x120000eThisfeatureofglxwindowcanbeusedto"augment"existingXWindowapplicationswithvideostreams.
Sincethevideowindowisachildofthehostwindow,itismoved,raised,loweredandiconifiedwithit.
Thiswayforexample,onecaneasilyaddvideotoatext-basedchatapplication.
Thisapproachcanalsobeusedwithuserinterfacetoolkitsthatexplicitlysupportwidgetsthathostexternalapplications.
Forexample,theframewidgetoftheTcl/Tktoolkitcanhostaseparateapplicationbysettingthewidget'scontainerpropertytotrue.
ThesamplecodebelowillustratestheuseofvideoClienttoembedavideostreaminaTkframe:#createaframewidgetforthevideoframe.
video-containertrue-width160-height120setid[winfoid.
video]#launchavideoClientinsidetheframeexecvideoClient\ExploringNewUsesofVideowithVideoSpace83-ivstp://host/video\-oglxwindow://localhost:0parent=$id&#maketheframevisiblepack.
video4.
3OtherVideoToolsInadditiontovideoServerandvideoClient,videoSpaceprovidesuserswithanumberofothertoolstomanipulate,displayorconvertvideostreams.
Oneofthesetools,forexample,allowstochangethewidthandheightofastream.
Anotheronecancombineseveralstreamsinasingleoneusingamosaicplacement.
AsimpleUNIXShellscriptalsoallowsusersto"stick"avideoClientonanyexistingXWindowusingtheparentparameteroftheglxwindowimagesink.
5ExploringNewUsesofVideoInthissection,IpresentseveralprojectsthatweredevelopedwithvideoSpaceandbenefittedfromitsflexibilityandextensibility.
Thedetailsoftheseprojectsunfortunatelyfallbeyondthescopeofthispaper.
Somehavebeenpublishedandsomeotherswillbe.
WhatIwanttoillustratehereishowthevarietyofimagesourcesprovidedbyvideoSpacecombinedwithitsfacilitiesfortransmitting,displayingandrecordingvideostreamssupporttherapidprototypingandincrementaldevelopmentofvideoapplications.
HowvideoSpacefacilitatestheexplorationofnewusesofvideo.
5.
1UsingDocumentsasInterfacestoAwarenessandCoordinationServicesOverthelastfewyears,IhavebeenexploringtheuseofWeb-basedvideoenvironmentstoprovideawarenessandcoordinationservicestodistributedgroupsofpeople[13].
InspiredbypreviousworkonMediaSpaces,IhaveusedvideoSpacetopromotethedevelopmentofcollaborativeenvironmentsinwhichvideocommunicationfacilitiesareembeddedintotheexistingenvironmentoftheusers,i.
e.
theirdocumentsandapplications,ratherthanprovidedasseparateapplications.
MostWebbrowserscandisplayJPEGimagesandsomeofthemcanalsodisplayanHTTPServer-PushedJPEGstreaminplaceofanordinaryimagewithoutanyplug-in.
Combinedwiththesebrowsers,videoServerallowstoincludeliveorpre-recordedvideostreamsinHTMLdocumentsbyusingcodesuchas:ByincludingsuchreferencestovideoServers,onecaneasilycreatededicatedinterfacestothevideocommunicationspace,suchastheawarenessviewofFig.
2,butalso"augment"existingdocumentsbyembeddingvideoservicesintheexistingcontent.
Forexample,onecanincludeavideolinkinane-mailmessagesothe84NicolasRousselreceiverwillseethesender'sofficewhenhereadsthemessage.
WhencooperativelyeditinganHTMLdocument,theauthorscanalsoincludeliveviewsoftheirofficesinthedocumentsotheycanseeiftheirco-authorsarepresentwhentheyworkonit.
Fig.
2.
HTML-basedawarenessviewshowingseveralvideoServersHTML-basedinterfacescanbeeasilysharedandexchanged.
AsmoreandmorepeoplearegettingfamiliarwithHTMLauthoring,theyarealsoeasilytailorable.
UsingHTMLandvideoServerstocreateaWeb-basedvideocommunicationenvironmentemphasizesthedesignprinciplethat"simplethingsshouldbesimple".
VideoServerisindeedindailyuseinseveralplacesaroundtheworld.
EndusershavecreatedHTMLinterfacestoitandhavedevelopedusagepatternswithoutanyknowledgeofthearchitectureofthesystem.
5.
2DesigningaNewCommunicationDevicetoSupportTeleconvivialityVideoconferencingsystemsaregettingclosertotechnicalperfectioneveryyear,makingthemmoreandmorepleasanttouse.
However,theusualsettingofthesesystemsfavorsafacetofacebetweenalltheparticipantsofeachsite,whichmakescross-siteinformalconversationsdifficult:beforeandafteraformalmeetingorduringpauses,peopletendtodiscusswithsomeoftheirco-locatedpartnersandoftenignoretheremotepeople.
Istronglybelievethatoneofthekeystoinformalcommunicationinthesesituationsisintheabilityforpeopletomoveawayfromthecentralfocuspointoftheformalmeetingandgatherinsmallcross-sitegroupsisolatedfromeachother.
Startingfromthisidea,severalresearchpartnersandIdesignedanewcommunicationdevice,lepuits[14](thewell),thatcombinesanSGIO2workstationwithmicrophones,cameras,speakersandahorizontalvideoprojectionsystemtoestablishanaudioandvideolinkbetweendistantgroupsofupto6people(Fig.
3).
ExploringNewUsesofVideowithVideoSpace85Fig.
3.
Lepuits:hardwareprototypeandsampledisplayconfigurations.
Thetworightmostconfigurationsaddpre-recordedsimulatedviewstotherealviewsfromtheprototypeThedesignoflepuitsrequiredseveraliterationsfromtheinitialsketchestofullyfunctionalprototypes.
WhatisinterestingtomentionhereisthatvideoSpaceallowedtodevelopthesoftwareusedtocomposetheprojectedimagesseveralhundredkilometersawayfromtheplacewherethehardwarepartswereactuallyassembled.
Pre-recordedvideostreamsshowingaroughviewofwhatthecameraswouldseewereusedtoexperimentwithdifferentcompositionmethodsevenbeforethefirstprototypewasbuilt.
Networksourceswerelaterusedtosimulateanalogvideocablesandproprietarycodecsbetweentwoprototypes.
Themosaiccomposerapplicationwasalsousedtosimulateitsanalogequivalentwhenitwasdecidedtousesuchadevicetoputallthecamerasofaprototypeonasinglevideostream.
Inadditiontosupportingrapidprototypingofthesoftwareandsimulationofvarioushardwareconfigurations,videoSpaceallowedustodevelopthesoftwarerequiredforlepuitsonalaptoprunningLinuxandtolaterrecompileitwithoutasinglemodificationandrunitontheSGIO2softheprototypes.
5.
3UsingtheHandasaTelepointerGesturingisanaturalmeansofcommunicationforhumans.
Handgesturesinparticularareoftenusedtoexpressideas,torefertoobjects,toattractattentionortosignalturntaking.
Torecreatethiscommunicationchanneloverdistance,real-timegroupwaresystemsusuallydisplaytelepointersthatparticipantscanmoveoverthesharedview.
However,standardtelepointersusuallylacksemanticinformation.
Atbest,theyarechosenamongapredefinedsetofshapesand/orcolors,whichmakesithardtodrawattention,todesignateseveralobjectsatthesametimeortoexpressanidea.
Amousecursorisaverypoorsubstituteforthehandforgesturecommunication,andsomecolleaguesandIthoughtthattheimageofthehanditself,capturedinreal-time,woulddoabettertelepointer.
Wesetupacameraaboveadeskcoveredbyalargebluesheetofpaperandrecordedseveralvideosequencesshowingsomehandgesturesoverthissolid-colorbackground.
Wethendevelopedachroma-86NicolasRousselkeyingfiltertoextracttheimageofthehandsfromthesesequencesandseveralprototypestodisplaythemoverotherimagestreamsorrunningapplications[15].
Thefirstprototypesuperimposedthechroma-keyedvideostreamoverascreen-shotofasupposedlysharedapplication.
Thisfirstimplementationgaveussomeinterestinghintsforfurthertests.
Werealized,forexample,thatthechroma-keyingprocessallowedustoannotatethesharedviewwithrealworldobjects.
Weimplementedasecondprototypeinwhichtheusercouldcontrolthesize,thepositionandthetransparencyofthechroma-keyedoverlaywiththemouseandthekeyboard.
Thissecondprototypeusedthesame"parentwindow"trickasvideoClienttooverlaythechroma-keyedvideostreamonarunningapplication.
Thissolution,however,couldn'tbeappliedtomorethanoneapplicationatthesametimeandwastoospecifictotheXWindowsystem.
Insteadoftryingothercomplexwaystosuperimposeourchroma-keyedvideostreamoveratraditionalcomputerdesktop,wesimplyusedanRFBimagestreamasthebackgroundofathirdprototype(Fig.
4).
Fig.
4.
UsingthehandasatelepointeroveranRFBimagestreamItisstilltooearlytoclaimthattheimageofthehandsareindeedbetterthanatraditionaltelepointer.
However,again,thisprojectemphasizestherapidprototypinganditerativedesignparadigmsupportedbyvideoSpace,fromthedevelopmentofthechroma-keyingfilterusingpre-recordedsequencestotheimplementationofseveralalternativedesignsusingdifferentimagesources.
Asthechroma-keyingfilterwasintegratedintothevideoSpacelibrary,thecomplexityoftheprototypeswasreducedtotheminimum:eachofthemisonly200linesofC++code.
5.
4ExploringNewDesktopInteractionsAsillustratedbythepreviousexample,usingtheimagesofcomputerdesktopsinvideoSpaceapplicationsofferssomeinterestingperspectivesforexploringnewinteractionsormetaphorsforthesedesktops.
IamcurrentlydevelopingvideoDesktop,ExploringNewUsesofVideowithVideoSpace87anewvideoSpaceapplicationthatactsasawindowmanagerforanXWindowserveraccessiblethroughRFB(anXvncserver).
Asawindowmanagerapplication,videoDesktopknowsthedimensionsofalltheapplicationwindows.
Byusingasimpletilingplacementalgorithm(Fig.
5),itisabletoextracttheimagesofindividualapplicationsfromtheRFBimagestreamandusethemastexturestocomposeanewdesktopview.
Fig.
5.
SampleviewofthetileddesktopimagestreamFigure6showsanexampleofgraphicalre-compositionoftheapplicationsshowninFig.
5.
Thiscompositionscales,rotatesandtranslateseveryapplicationandaddssometransparencyandasimpleshadow.
Initscurrentstate,videoDesktopallowstosendkeyboardeventstotheapplicationsbasedonaclick-to-focuspolicy.
MouseeventcoordinateswouldhavetobetransformedbeforesendingtheeventtotheXvncserver.
However,thistransformationisnotcurrentlyimplemented.
Fig.
6.
ViewcomposedbyvideoDesktopfromthetileddesktopimagestreamofFig.
588NicolasRousselThetechniqueusedbyvideoDesktopisquitesimilartotheredirectionmechanismoftheTaskGallery[16].
However,whereasTaskGalleryrequiresamodifiedversionofWindows2000,videoDesktopisonly800linesofcodeandrequiresonlyastandardXvncserver.
Althoughthisprojectisstillinaveryearlystage,italreadyallowstouseamoderngraphicaltoolkitsuchasOpenGLtoexperimentnewwindowmanagingtechniquesthatwereuntilnowrelyingongraphicalmodelsfromthe80sor90s.
6DiscussionThelibraryandtoolscomposingvideoSpacearetheresultofaniteratingprocessofdesignanduse.
Asthelibrarywasgettingmorecomplex,thetoolsweregettingsimpler.
Asthelevelofabstractionoftheclasseswasincreasing,thenumberoflinesofcodeofeachtoolwasdecreasing.
Inthissection,Idiscussseveralaspectsofthetoolkitthatcontributedtothisevolutionanditssuccess.
OneoftheearlykeychoiceswastheseparationbetweentheImageclass,usedasasimpledatacontainer,andthesources,filtersandsinksthatoperateonthedata.
TheimplementationoftheseimageoperatorsasindependentclassesinsteadofmethodsoftheImageclassincreasestheflexibilityofthetoolkitandfacilitatesitsextension.
Everyapplicationcaneasilydefineitsownoperatorsthatcanbecreatedandmodifiedatrun-time.
Ifthesenewoperatorsproveusefulforotherapplications,theycanthenbeintegratedintothecorelibrary.
TheJPEGencodingandtheHTTPServer-Pushprotocolwereinitiallychosenfortheireaseofuseandimplementation,nottheirperformance.
ThesamedesireofsimplicityinspiredthedesignofVSMPandVSTP.
However,videoSpaceisnotrestrictedtothesesimplechoices.
Newencodingorprotocolscanbeeasilyaddedtothelibrarytoovercomeperformanceproblemsortocommunicatewithotherapplications.
AddinganencodingsimplyconsistsinaddingaconstanttothelistofsupportedencodingsintheImageclassandprovidingafewconversionfilters.
Similarly,asillustratedbytherfbimagesource,addingaprotocolsimplyconsistsinaddingclassesderivedfromImageSourceand/orImageSinkandchangingtheassociatedfactoryfunctions.
AnotherearlykeychoicewastheuseofURLstonamevideosources.
Whenanewsourcetypeisaddedtothetoolkit,thefactoryfunctionismodifiedandallapplicationsbenefitfromitwithoutanyotherchange.
Asexplainedintheprevioussection,localsourcesorpre-recordedstreamsareoftenusedinsteadofnetworksourcesduringdevelopmenttotestanapplication,tocomparealternativedesignsortoevaluateperformance.
TheuseofURLsmakeitpossibletoswitchbetweensourceswithoutevenrecompilingtheapplication;therefore,applicationscanbedevelopedonmachinesthatdonothaveanyvideohardwareorevenanetworkconnection.
AnotheradvantageofusingURLsistheseamlessintegrationwithWebapplications,mostnotablyWebbrowsers.
ExploringNewUsesofVideowithVideoSpace897ConclusionandFutureWorkVideoSpaceisasoftwaretoolkitdesignedwithonespecificgoalinmind:facilitatetheexplorationofnewusesofvideo.
Inthispaper,Ihavedescribedtheclasslibraryandbasictoolsitprovides.
Ihavealsopresentedseveralprojectsthatillustrateitsflexibilityanditsabilitytosupportrapidprototypingandincrementaldevelopment.
VideoSpacehasnowreachedastablestateandsomeofitsapplicationsareindailyuseinseveralresearchlabs.
Itssourcecodeispubliclyavailablefordownload3.
Short-termdevelopmentplansincludetheintegrationofadditionalvideoencodingsandprotocolssuchasMPEG-4.
Iwouldalsoliketoexperimentwithfiltersfordetecting,identifyingandtrackingobjectsorpeople,basedonthetechniquespresentedin[3].
Anotherdirectionforfutureworkistheadditionofhighlevelfunctionalitiesrelatedtosessionmanagement,suchasexplicitsupportforbi-directionalormultipleconnections.
AcknowledgmentsVideoSpacegrewoutofthemanyvideoapplicationsIwrotewhileIwasworkingatLRI-UniversitéParis-SudontheTelemediaproject,fundedbyFranceTélécomR&D.
ThanksareduetoMichelBeaudouin-Lafon,whocontributedtomanyideaspresentedinthispaper.
IamalsogratefultoJacquesMartin,Jean-DominiqueGascuelandtheotherpeoplefromCSTBandiMAGISwhocontributedtothedesignandprototypingoflepuits.
CurrentworkonvideoSpaceissupportedbyERCIM,theEuropeanResearchConsortiumforInformaticsandMathematics,andtheSwissNationalScienceFoundation.
References1.
W.
Mackay.
MediaSpaces:EnvironmentsforInformalMultimediaInteraction.
InM.
Beaudouin-Lafon,editor,Computer-SupportedCo-operativeWork,TrendsinSoftwareSeries.
JohnWiley&SonsLtd,1999.
2.
H.
Ishii,M.
Kobayashi,andK.
Arita.
IterativeDesignofSeamlessCollaborationMedia.
CommunicationsoftheACM,37(8):83–97,August1994.
3.
J.
L.
Crowley,J.
Coutaz,andF.
Bérard.
Perceptualuserinterfaces:thingsthatsee.
CommunicationsoftheACM,43(3):54–64,March2000.
4.
J.
Rudd,K.
Stern,andS.
Isensee.
Lowvs.
high-fidelityprototypingdebate.
ACMinteractions,3(1):76–85,1996.
5.
M.
OlsonandS.
Bly.
ThePortlandExperience:areportonadistributedresearchgroup.
InternationalJournalofMan-MachineStudies,34:211–228,1991.
6.
C.
Cool,R.
S.
Fish,R.
E.
Kraut,andC.
M.
Lowery.
IterativeDesignofVideoCommunicationSystems.
InProc.
ofACMCSCW'92ConferenceonComputer-SupportedCooperativeWork,Toronto,Ontario,pages25–32.
ACM,NewYork,November1992.
7.
W.
BuxtonandT.
Moran.
EuroPARC'sIntegratedInteractiveIntermediaFacility(IIIF):EarlyExperiences.
InMulti-UserInterfacesandApplications,pages11–34.
S.
Gibbsand3Seehttp://www-iiuf.
unifr.
ch/~rousseln/projects/videoSpace/90NicolasRousselA.
A.
Verrijn-Stuart,North-Holland,September1990.
ProceedingsofIFIPWG8.
4Conference,Heraklion,Greece.
8.
M.
Krueger.
ArtificialRealityII.
Addison-Wesley,1991.
9.
M.
RosemanandS.
Greenberg.
BuildingRealTimeGroupwarewithGroupKit,AGroupwareToolkit.
ACMTransactionsonComputer-HumanInteraction,3(1):66–106,March1996.
10.
S.
McCanne,E.
Brewer,R.
Katz,L.
Rowe,E.
Amir,Y.
Chawathe,A.
Coopersmith,K.
Mayer-Patel,S.
Raman,A.
Schuett,D.
Simpson,A.
Swan,T-L.
Tung,D.
Wu,andB.
Smith.
TowardaCommonInfrastructureforMultimedia-NetworkingMiddleware.
InProc.
of7thIntl.
WorkshoponNetworkandOperatingSystemsSupportforDigitalAudioandVideo(NOSSDAV97),May1997.
11.
AnExplorationofDynamicDocuments.
Technicalreport,NetscapeCommunications,1995.
12.
T.
Richardson,Q.
Stafford-Fraser,K.
R.
Wood,andA.
Hopper.
VirtualNetworkComputing.
IEEEInternetComputing,2(1):33–38,Jan-Feb1998.
13.
N.
Roussel.
Mediascape:aWeb-basedMediaspace.
IEEEMultimedia,6(2):64–74,April-June1999.
14.
N.
Roussel,M.
Beaudouin-Lafon,J.
Martin,andG.
Buchner.
Terminaletsystèmedecommunication.
PatentsubmittedforapprovalbyFranceTélécomR&D(INPIn°00-08670),July2000.
15.
N.
RousselandG.
Nouvel.
Lamaincommetélépointeur.
InTome2desactesdesonzièmesjournéesfrancophonessurl'InteractionHommeMachine(IHM'99),Montpellier,pages33–36,Novembre1999.
16.
G.
Robertson,M.
vanDantzich,D.
Robbins,M.
Czerwinski,K.
Hinckley,K.
Risden,D.
Thiel,andV.
Gorokhovsky.
Thetaskgallery:a3Dwindowmanager.
InProc.
ofACMCHI2000ConferenceonHumanFactorsinComputingSystems,pages494–501.
ACM,NewYork,April2000.
DiscussionD.
Salber:Thisismoreofacommentthanaquestion-youmentionedtheprivacyprovidedforthepersoninfrontofthecamera,butwhataboutthepersonconnectingtothecameratheiraddressisrevealed.
Thereisprivacy,butitisonlyoneway.
N.
Roussel:Theuseridentityishidden,butonecannothideconnectingmachineidentity.
I'mnothighlyconcernedwiththislevelofprivacy,Idonotthinkitisamajorissue-ifsomeonewantstoconnecttome,thentheyshouldnotbeconcernedwithmeknowingwhoitis.
ThatlevelofprivacyisOK.
J.
Coutaz:Aremark:Becauseofthelackofreciprocity,Istoppedlookingatyourwebpage.
IfeltIwasa"voyeur",thatis,lookingatyouwhileyouwerenotawareofme.
N.
Roussel:Experiencewiththesystemsofarhasnotshownthistobeacommonreaction.
N.
Graham:WheredidyouuseVNCprotocolintheexampleshowingahandoveradesktop.
Ididnotrealizethiswaspossible.
N.
Roussel:VNCwasusedbecausetheexampleisnotshowingscreensharing,itisshowingaremotedisplay,thewindowshownisthatofdifferentsystem.

半月湾hmbcloud升级500Mbps带宽,原生VPS,$4.99/月

关于半月湾HMBCloud商家之前也有几篇那文章介绍过这个商家的产品,对于他们家的其他产品我都没有多加留意,而是对他们家的DC5机房很多人还是比较喜欢的,这个比我们有些比较熟悉的某商家DC6 DC9机房限时,而且半月湾HMBCloud商家是相对便宜的。关于半月湾DC5机房的方案选择和介绍:1、半月湾三网洛杉矶DC5 CN2 GIA同款DC6 DC9 1G内存 1TB流量 月$4.992、亲测选择半...

日本CN2、香港CTG(150元/月) E5 2650 16G内存 20M CN2带宽 1T硬盘

提速啦简单介绍下提速啦 是成立于2012年的IDC老兵 长期以来是很多入门级IDC用户的必选商家 便宜 稳定 廉价 是你创业分销的不二之选,目前市场上很多的商家都是从提速啦拿货然后去分销的。提速啦最新物理机活动 爆炸便宜的香港CN2物理服务器 和 日本CN2物理服务器香港CTG E5 2650 16G内存 20M CN2带宽 1T硬盘 150元/月日本CN2 E5 2650 16G内存 20M C...

BeerVM1GB内存/VDSps端口1GB,350元/月

beervm是一家国人商家,主要提供国内KVM VPS,有河南移动、广州移动等。现在预售湖南长沙联通vds,性价比高。湖南长沙vps(长沙vds),1GB内存/7GB SSD空间/10TB流量/1Gbps端口/独立IP/KVM,350元/月,有需要的可以关注一下。Beervm长沙联通vps套餐:长沙联通1G青春版(预售)长沙联通3G标准版(预售)长沙联通3G(预售)vCPU:1vCPU:2vCPU...

5555tk com为你推荐
雅特士西安法士特主要是生产什么?公司是什么样的?真正免费的网络电话有真正的免费的网络电话吗 ?伪静态什么是伪静态伪静态怎么做伪静态?网站联盟怎样进入网站联盟淘宝店推广如何推广淘宝店qq空间打扮QQ空间怎么打扮如何打扮怎么升级ios6苹果iPhone6怎么升级系统idc前线求电影敢死队电影里的歌曲!二层交换机请教:二层交换机是干什么用的啊?
企业虚拟主机 中文域名申请 ipage 哈喽图床 工信部icp备案号 能外链的相册 七夕快乐英语 双12 免费ftp 浙江服务器 中国联通宽带测速 北京主机托管 酷锐 websitepanel server2008 遨游论坛 回程 主机配置 衡天主机 免费免备案cdn 更多