Home
Blogs
Forums
Files


Welcome to The Green Button          Sign in | Join | Help

Softsled: An idea/proposal

Last post 05-22-2007, 3:55 PM by smelly_feet. 64 replies.
Page 4 of 5 (65 items)   < Previous 1 2 3 4 5 Next >
Sort Posts: Previous Next
  •  04-13-2006, 5:53 PM 102494 in reply to 100760

    RE: Softsled: An idea/proposal

    Concerning #3, I am currently working on something similar. This is not a simplistic process and don't expect anything out of me before a Vista timeline (that is if my current arch is functional).

    For an hint of the direction I'm going see http://www.thegreenbutton.com/community/shwmessage.aspx?ForumID=40&MessageID=160479 along with a post I made somewhere around here concerning PICMG 1.3 SHBs and backplanes. As I progress I will try to share what lessons I learn with the community. I would enjoy seeing others take their own routes with this, one of us is bound to come up with something good.

    Personally I'm not interested in softsled as a primary display device. The UMPC version is nice and would work well on UMPC and Tablets, but is just not what I would be looking for on my primary TV.

     

  •  04-14-2006, 2:17 PM 102588 in reply to 100760

    RE: Softsled: An idea/proposal

    I have read all your posts and it is very interesting to read this!! I my home I have a mce in my livingroom and one in my bedroom. It is working but what I am looking for is a CE device that could replace my pc in the bedroom. it should be able to play my recorded videofiles as well as show my pictures, play my music and let me be able to use the guide. I live in Europe and I dont believe that many Europeans actually use MCE as the primary tuner to watch tv so I dont see "live TV" as a primary goal for me. What is important is that the box itself is cheap, runs the same gui (WAF) and remote. I would love to see a CE thin client next to my tv instead of having a PC because I would have the same struggle in my kitchen which is my next project.

    I havent tried the HP/Linksys extenders as they were not available in Denmark but a box half the size would be a preferable solution.

    So Softsledge or not there are tons of wishes to a viable solution and I strongly believe that if someone could start a project like this we could get a great product in the end. If the MediaPortal guys and xbox boys can why shouldnt we be able to come up with something that could make MCE an even greater succes???

    Jeppe

     


    Setup: HP Pavilion m7260 UK version - HP Compaq DC530SFF and a 360XBOX ------------------------------------------------------------------------------------- Dont forget to check out my Danish Blog about Media Center on: mediacenter.smartlog.dk
  •  04-18-2006, 5:45 PM 103098 in reply to 100760

    • accident is not online. Last active: 01-06-2009, 2:32 AM accident
    • Top 10 Contributor
    • Joined on 01-25-2005
    • NYC Area
    • Elite Member
    • Moderator

    RE: Softsled: An idea/proposal

    I was thinking about the how to get live tv to another machine issue and I may have 2 solutions for at least teh video part of things.  I haven't tried either of these.

    1: repeating playlist.

    For those that don't know, the playback buffer is a series of files that are reused over and over for live tv.  change changes, they start over.  go back their max length, they reuse the file one.  Using a playlist and wmp you should be able to quickly test if you can open and play the temp files that mce is using at the same time.  keep in mind the main mce needs to be watching what you want to see on the other machine and might be the killer of this method.

    the registry does have an entry for the first file to use.  that would be your first playlist item.  just a matter of gettng the other names of files.  This should work right now, just drop the playlist into your my videos section and viola, you can watch the same thing on any computer with wmp and an mpeg2 decoder

    You might also be able to make a mini playlist generator that passes back the path and filename of the currect file in use.  just 1 playlist entry with an entryref to your app and set the playlist to repeat.  get to the end of the file, it repeats which calls an entryref for the current filename.

    2: temp recordings.

    Nothing stopping you from having an app to start/stop/delete recordings and use that file in the playlist to watch.  when it ends, you can call your little app for a new playlist entry and get the new current recording filename.  When the file isn't in use by anything for 5-10 minutes, auto-delete it.  If you want to save it, just dont delete it.  Also doesn't require the mce machine to be watching live tv and it can watch another station.


    Bryan Socha
    Media Center MVP
  •  04-18-2006, 10:19 PM 103118 in reply to 100760

    RE: Softsled: An idea/proposal

    It wont work accident.  The file is locked by MCE so no one can read from it.  This should explain it better.


    Thursday, April 06, 2006 5:16 PM by Peter Rosser

    # re: Media Center Technical Discussion 1: Tuners and TuningSpaces

    The reason recordings are locked outside MCE is because of the way that the Stream Buffer Engine (SBE, see sbe.dll and sbeio.dll) writes to the recordings.  SBE throws an exclusive lock on the file, since we resize by chunk instead of by byte.  If we did not lock the file, programs that tried to read the file while we are writing it would probably choke, since at some point they would encounter a) garbage data (random from whatever was on the disk previously at that point) or b) all zeroes.  We cannot guarantee one or the other, though on FAT drives it's likely to be (a) and on NTFS drives it's likely to be (b).

    We increase the file size by chunks to decrease fragmentation and increase performance.
     

     
    I then had a few ideas and had this conversation.
     


    I have multiple MCE machines at home, as well as a Microsoft loaned PC running ****.  I would like to be able to use a single guide running off my main machine for all my MCE 2005 machines.  I have found this registry Key

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Media Center\Service\EPG]
    "currentEpg"="C:\\Documents and Settings\\All Users\\Application Center\Service\EPG]

    and I have been trying to point it to my other machines EPG.  Do you know if this is possible?  If it is, is it possible to redirect the recordings.xml file also?  Or are these files also locked by MCE?|

    Managing recordings from another machine would be a nice addition.
    Mike

    Ooo, don't try that.  The Guide is backed by a SQL Lite database, and needs local access to it.  Also, I doubt any changes you make there would stick anyhow--the next time the guide downloaded it would just change it.

    Why do you want to use a single Guide?  If it's for the overrides, etc., you can ship those around separately.  Just copy the files from "%ALLUSERSPROFILE%\Application Data\Microsoft\eHome\EPG\prefs" from the “source” machine to your “target” machines to get all of the lineup edits you’ve performed.

    The recordings.xml file can be copied—you just need to stop the ehsched service on the target PC before doing it, since changes are only read from it when the service starts.  Changes are written to the file in 5-second windows (i.e. every 5 seconds, if there are changes, they get flushed to the file).  There is another way to get ehsched to read the file, but it involves programming a C# MCE AddIn and using the CompleteRollback() API.

    There’s an easier way to share recordings, though.  You can add network paths to the WatchedFolders list (under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Media Center\Service\Recording) in the registry, and recordings can be viewed on the local machine from the remote as you like.

    •  Peter  •


    I know most of this looks like garbage but the idea is their.  I just have to pull this all together, then find someone to program the bits that need done.  Or I can just drop it because I really dont have the know how to do this.

     

  •  04-19-2006, 6:51 AM 103146 in reply to 100760

    RE: Softsled: An idea/proposal

    how do media center extender access the locked files?
  •  04-19-2006, 6:57 AM 103148 in reply to 100760

    RE: Softsled: An idea/proposal

    Media Center Extenders do not do file access.  They access the MCE computer using Remote Desktop protocol with extensions for streaming audio and video.  The MCE computer runs sessions on the local machine for each connected extender.  I would assume that the processes responsible for streaming live TV to an extender is the same one that is holding the locks on the temporary storage file.

    Thanks,
    WRK

  •  04-19-2006, 7:14 AM 103151 in reply to 100760

    RE: Softsled: An idea/proposal

    ok I guess that makes sense, I just thought that the video wasnt sent over a remote desktop connection.
  •  04-19-2006, 7:34 AM 103152 in reply to 100760

    RE: Softsled: An idea/proposal

    I was speaking to a developer yesterday who is thinking about this differently. he is making a system where you have a back end tuner server PC that has several tuners that can simultaneously stream video from different frequencies on DVB-T transponders, and making a patch for MCE to enable it to use this server, hence any MCE PC on a network would be able to access all the tuners from another PC. Not totally sure how it's going to work but really really sounds interesting
  •  04-19-2006, 7:44 AM 103153 in reply to 100760

    RE: Softsled: An idea/proposal

    The video isn't sent over RDP. When recording, the file is locked by the Media Center Receiver service (which is recording it). The Media Center shell - ehshell.exe is accessing the recorded TV locally - as it would normally if the user were watching on the MCE system itself. The ehshell acts differently, though, and instead of rendering them itself, streams the A/V streams directly over the wire to the extenders, where they are decoded by hardware on the extender.
  •  04-19-2006, 8:16 AM 103154 in reply to 100760

    RE: Softsled: An idea/proposal

    I don't understand why we keep belaboring the "video isn't over RDP" point.  For all practical purposes, and for the design of a software based extender, the video is sent as part of the RDP protocol.

    When you boot an extender, you can see the RDP communications between the extender and the MCE computer.  To watch live TV, it appears that the MCE computer contacts the extender over another port/protocol with the streaming data.  When you communicate with a PC over RDP to a MCE computer, it appears to use the same protocol.  And in fact this is supported by the fact that when you RDP to a MCE computer, you get MCE menus of an extender, NOT the menus you would get if your were sitting at the MCE's console.  However, (and I am making an educated guess here) when the MCE computer attempts to stream the video to the remote computer running the Windows RDP client, it gets no response, and thus gives you the error that video is not supported over remote terminals.

    Now, if a custom RDP client was written that could respond to these streaming audio and video ports, I think you would have your SoftSled.  I would imagine that the protocols for the streaming audio and video are documented somewhere in the Windows CE SDK, since it seems that you can generate a CE build with an RDP client with audio and video streaming extensions.  I imagine this is exactly how the CE build for extenders is created.  The custom RDP Client would have to process the streaming audio and video through local codecs to decode and display the video, much as I imagine local codecs for video playback are included in the Windows CE build of extenders.

    I fully comprehend that streaming video and audio aren't sent over port 3389 as part of the RDP communication with the RDP client that comes with Windows.  But surely you can concede the point that current extenders use an extended RDP protocol that includes video and audio streaming extensions, that RDP by itself gets us 80% of the way to SoftSled, and that cracking these audio and video streaming extensions would get us the remaining 20% of the way home.

    I guess we don't have any CE programmers following this thread, which is a shame.  I have believed for a long time that this type of solution would provide the most functionality and versatility in a Softsled client, but unfortunately I do not have the expertise to write such a program.

    Thanks,
    WRK

  •  04-19-2006, 8:55 AM 103157 in reply to 100760

    RE: Softsled: An idea/proposal

    It's important to understand that the video isn't over RDP for one key reason. You can't just connect to port 3390 on your MCE system with any old build of MSTSC and have it be an extender. It's best to think of extenders as two separate clients. An MSTSC UI client and a Windows Media Center streaming client, with the Media Center shell on the MCE system literally gluing them together. The way extenders view live tv (using the same ehshell as if you were on the MCE) and the way you watch live tv on the MCE system itself (via ehshell) are totally different. EHShell handles the UI eye candy and either has DirectX render the video and audio locally (console), or send it remotely (extender). Think about the way the MCE shell reacts when you connect over port 3389 - it tells you it cannot render video. Because it cannot render it live via RDP, and it knows you aren't an extender. It never tries to transmit the video - because you didn't log in as an extender. There's an entirely different series of login events that happen when an extender logs on. Trust me - I've traced it.

    They don't use an extended RDP protocol to transmit audio and video. It is effectively a variant of Windows Media Services streaming audio or video - not RDP. I don't believe that the version of RDP that extenders use is that different at all - save the fact that the client knows how to overlay the streamed video window on the extender based on data it receives from the media center shell itself, running on the MCE system. It's RDP and Windows Media streaming glued together.

    Again, as I stated earlier, the A/V communication between the extender and the MCE system is both proprietary, and encrypted. Thus my mention of DRM and DMCA concerns earlier.

    A custom MSTSC client that reverse engineers the MSTSC client built into the 360 (ideal, since it handles HD and better transitions) or the other extenders could work - but it will require reversing:

    1. the glue that holds the streaming and RDP together
    2. any encryption used over the wire
    3. any proprietary modifications used on the A/V stream versus typical WM streaming
    4. any specific device identification that Media Center does to enforce a device is a legitimate Media Center Extender

    I'm really not trying to poo poo the idea - I'd like a soft extender too - but I don't see a candidate coming to the front who has those skills, has the time, and is willing to do it...

  •  02-07-2007, 2:11 PM 165946 in reply to 103157

    Re: RE: Softsled: An idea/proposal

    Any news on softsled yet?  Anyone think it will be an ultimate extra??  Vista is out now... where's my ability to stream live TV/recorded TV to my 2nd or 3rd Vista machines MCE interface?
  •  02-07-2007, 2:21 PM 165948 in reply to 165946

    Re: RE: Softsled: An idea/proposal

    Don't hold your breath on this one.  Microsoft is well aware of the demand.  If they had intended to provide such capability, it would have been out by now.  You'll have to wait on v2 Extenders (whatever they are) and have two devices at these locations.  That's convergence, Microsoft style!

    WRK

    BTW, in all fairness I must admit that in 20 years of working in IT and software development, I have come to believe that Microsoft is one of the most incompetent, mismanaged and bloated software companies that exists, despite their success.  They do accomplish many things; but they accomplish few if any things well (Excel is the one exception).  I am sure this view taints my responses.

  •  02-07-2007, 2:23 PM 165949 in reply to 165948

    Re: RE: Softsled: An idea/proposal

    Sorry - I totally agree with you about MS.

    However, how do you KNOW that MS knows of the demand?  Where can I complain as well?

  •  02-07-2007, 2:27 PM 165951 in reply to 165949

    Re: RE: Softsled: An idea/proposal

Page 4 of 5 (65 items)   < Previous 1 2 3 4 5 Next >
View as RSS news feed in XML
About TGB | Advertise | Link To Us | Donate | Terms Of Use | Privacy Policy
© 2003-2007 The Green Button, Inc. - All Rights Reserved