Difference between revisions of "User:Niz23"

From LinuxMCE
Jump to: navigation, search
m (Thoughts about how to support internet streams as regular media files)
m (Support for internet streams)
 
(2 intermediate revisions by the same user not shown)
Line 91: Line 91:
 
However it cannot be played as MediaPlugin append a "/" in front of every row in File table as it treats them as files being located in a filesystem.
 
However it cannot be played as MediaPlugin append a "/" in front of every row in File table as it treats them as files being located in a filesystem.
  
There´s a couple of ways to solve this.
+
There´s a couple of ways to solve this:
  
 
1.
 
1.
 +
 
Create a new plugin that accept internet streams.
 
Create a new plugin that accept internet streams.
 
However the plugin will need a place to store it´s streams configuration.
 
However the plugin will need a place to store it´s streams configuration.
Line 100: Line 101:
  
 
2.
 
2.
 +
 
Create two new media types in MediaType. InternetVideoStream and InternetAudioStream.
 
Create two new media types in MediaType. InternetVideoStream and InternetAudioStream.
 
Add a little logic to MediaPlugin to not append a "/" if a row in File table is of types above.
 
Add a little logic to MediaPlugin to not append a "/" if a row in File table is of types above.
Line 107: Line 109:
  
 
Small amount of changes in lmce source code to support.
 
Small amount of changes in lmce source code to support.
 +
 +
In MediaAttributes_LowLevel::GetFileFromFileID(....)
 +
Change:
 +
 +
        return strPath + "/" + strFile;
 +
To:
 +
        if (*PK_MediaType == NEW_INTERNET_VIDEO_STREAM_ID || *PK_MediaType == NEW_INTERNET_AUDIO_STREAM)
 +
              return strFile; // If internet stream return filename without "/" in front of it. Internet streams cannot contain any data in Path column in File table.
 +
                              // Add another check if mediatype is internet stream and if so. Do not read Path column at all.
 +
        else
 +
              return strPath + "/" + strFile;
 +
 +
Above solve the issues of the appending "/" sign in front of a file without path column filled in, in File table.
 +
 +
Add to new MediaTypes.
 +
 +
95 Internet Video Stream
 +
 +
96 Internet Audio Stream
 +
 +
 +
 +
  
  
 
3.
 
3.
 +
 
Another approach is to create a new table in Media database.
 
Another approach is to create a new table in Media database.
 
For example mURL table. Pretty much the same columns as in File table without path and Filename. Replaced with url instead.
 
For example mURL table. Pretty much the same columns as in File table without path and Filename. Replaced with url instead.
Line 117: Line 143:
  
 
4.
 
4.
 +
 
A mix of above.
 
A mix of above.
 
Create a new mediafile type that updatemedia recognice.
 
Create a new mediafile type that updatemedia recognice.

Latest revision as of 21:29, 28 July 2010


Core/Hybrid System - Pumprum

The core is located in a storage room together with all HVAC and heating systems.

  • Case w/ 450watt nMedia ultra quiet power supply
  • Motherboard ASUS ASUS_M2NVM-DH
  • CPU AMD Athlon64 4400+ (Dual Core)
  • 2GB RAM
  • Integrated Nvida Gbit network as internal network card.
  • 19" TFT screen with 1280x1024 resolution
  • PCI-E gigabit network as external network card. Broadcom BCM5721.
  • Nvidia Geforce 6100 w/256MB onboard graphics.
  • 1x 400GB SATAII drive for the system
  • 3x 500GB SATAII drives for media (not configured yet. Have to decide if I want LMCE to manage RAID. Have my doubths)
  • Hauppauge Nova-T 500 (Dual DVB-T tuner)
  • Oboard sound. Not used since I don´t watch media on this machine.
  • 1x DVD burner
  • 1x Squeezeslave.
  • 1x cheap USB audio (2-channel)
  • VDR for livetv. Still waiting for the fully functional vdr integration.


MD 1 - Family Room downstairs

  • IBM NetVista M51. Very slim and quiet machine.
  • 3GHz Pentium4. Socket 775.
  • Onboard Intel graphics. (do not work at the moment)
  • Onboard intel gbit network. Unable to pxe boot due to mysterious errors. Will try to fix.
  • Soundblaster Audigy 2.
  • Internal soundcard disabled.
  • 1GB RAM
  • Diskless
  • Gigabit network
  • 1x MCE Remote and USB Receiver
  • UI2 - Masked - 720P
  • Dreambox DM-500T
  • Panasonic Plasma 50PX8
  • Pioneer VSX-1016 Reciever

MD 2 - Testing

  • IBM NetVista M51
  • 3GHz Pentuim4. Socket 478
  • 1GB RAM
  • Diskless
  • 19" Flatpanel 1280x1024
  • UI1. Cannot get UI2 to work at the moment. Trying to figure out why.

Outside area

  • Stereo sound through squeezeslave installed in core.

Sony PS3 - Downstairs

  • Entertainment. Games etc.
  • Would be nice if we could stream audio/video directly to the PS3 and control it through an orbiter.

Sony PS2 - Upstairs

  • Game machine primarily use by our kids.


Network Setup

  • 1x 8-port 10/100Mbit switch
  • 1x 8-port gigabit switch
  • 2 MD's
  • Linksys WRT54G Wireless Router (with openwrt). Connect to internet and act as primary firewall.


Future

  • Automation of lights.
  • Integration/control of HVAC. Especially FAN speed.
  • Add low-power MDs. Perhaps with Intel Atom chipsets. Need to buy one to test first.
  • Get total power consumtion down since electricity is very expensive in sweden.
  • Get wireless in core to act as an AP.


TODO

  • Add floorplan images.
  • Nicer look. Hey I´m no webdesigner...

Thoughts

Support for internet streams

As of current rev 2010-07-27 it seem to be impossible to get a internet audio/video stream to show up in Orbiters mediabrowser. To explain a little about to issue. The problem is not that LMCE cannot play internet streams (it can with MH Play Media). The issue is that it is not possible to create a "virtual" file that is stored in lmce´s media database, File table. When one add a new row to file table and set MediaType=5 (Stored Video), Filename to "http://server/stream/channelid/2" it is shown in Orbiters mediabrowser. However it cannot be played as MediaPlugin append a "/" in front of every row in File table as it treats them as files being located in a filesystem.

There´s a couple of ways to solve this:

1.

Create a new plugin that accept internet streams. However the plugin will need a place to store it´s streams configuration. The concept of Shoutcast and Youtube plugin can be used here. Both plugins above use the concept of dynamic files in lmce (as in files not represented within File table).

2.

Create two new media types in MediaType. InternetVideoStream and InternetAudioStream. Add a little logic to MediaPlugin to not append a "/" if a row in File table is of types above. Logic can be added to MediaAttributes_LowLevel::GetFilePathFromFileID( int PK_File, int *PK_MediaType ) in MediaAttributes_LowLevel.cpp

A new piece should be added to lmce-admin to handle configuration of streams.

Small amount of changes in lmce source code to support.

In MediaAttributes_LowLevel::GetFileFromFileID(....) Change:

       return strPath + "/" + strFile;

To:

       if (*PK_MediaType == NEW_INTERNET_VIDEO_STREAM_ID || *PK_MediaType == NEW_INTERNET_AUDIO_STREAM)
              return strFile; // If internet stream return filename without "/" in front of it. Internet streams cannot contain any data in Path column in File table.
                              // Add another check if mediatype is internet stream and if so. Do not read Path column at all.
       else
              return strPath + "/" + strFile;

Above solve the issues of the appending "/" sign in front of a file without path column filled in, in File table.

Add to new MediaTypes.

95 Internet Video Stream

96 Internet Audio Stream




3.

Another approach is to create a new table in Media database. For example mURL table. Pretty much the same columns as in File table without path and Filename. Replaced with url instead.

For this to work some changes is needed in lmce source to support it.


4.

A mix of above. Create a new mediafile type that updatemedia recognice. For example an XML file or M3U file. The info in this file will be added into File table by updatemedia.

Add more info...