Jump to content

MediaPortal

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 195.200.34.50 (talk) at 07:14, 31 March 2011. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

MediaPortal
Original author(s)Team MediaPortal
Developer(s)Team MediaPortal
Initial release2004 (2004)
Stable release
1.1.3 / 25 February 2011; 13 years ago (2011-02-25)
Preview release
1.2.0 Alpha / 1 November 2010; 14 years ago (2010-11-01)
Repository
Written inC# programming language
Operating systemMicrosoft Windows
Platformx86, x86-64
Available inMulti Language
TypeMedia center
LicenseGNU General Public License
Websitewww.team-mediaportal.com

MediaPortal is an open-source media center software project, often considered an alternative to Windows Media Center[1][2] . It provides a 10-foot user interface for performing typical PVR/TiVo functionality, including playing, pausing, and recording live TV; playing DVDs, videos, and music; viewing pictures; and other functions[3]. Plugins allow it to perform additional tasks, such as watching online video, listening to music from online services such as Last.fm, and launching other applications such as games. It interfaces with the hardware commonly found in HTPCs, such as TV tuners, infrared receivers, and LCD displays.

The MediaPortal source code was initially forked from XBMC Media Center, though it has been almost completely re-written since then[4]. MediaPortal runs only under Microsoft Windows, unlike most other open-source media center programs such as MythTV and XBMC, which are usually cross-platform.[5]

Features

Graphical User Interfaces

Control

MediaPortal can be controlled by any input device, that is supported by the Windows Operating System.

Television

MediaPortal uses its own TV-Server to allow to set up one central server with one or more TV cards. All TV related tasks are handled by the server and streamed over the network to one or more clients. Clients can then install the MediaPortal Client software and use the TV-Server to watch live or recorded TV, schedule recordings, view and search EPG data over the network. Since version 1.0.1, the client plugin of the TV-Server has replaced the default built-in TV Engine.

Even without a network (i.e. a singleseat installation), the TV-Server treats the PC as both the server and the client.

The TV-Server supports watching and recording TV at the same time with only one DVB/ATSC TV Card, on the same transponder. Broadcast Driver Architecture is used to support as many TV cards as possible. The major brands of cards, like digital-everywhere, Hauppauge, Pinnacle, TechnoTrend and TechniSat, including analog cards, provide BDA drivers for their cards.

Video/DVD player

The video player of MediaPortal is a DirectShow Player, so any codec/filter can be used. MediaPortal uses the codec of MPC-HT by default, but the codec can be changed to all installed ones, such like FFDShow, PowerDVD, CoreAVC, Nvidia PureVideo etc. MediaPortal also support video post-processing, with any installed codec. Due to the DirectShow player implementation, MediaPortal can play all media files that can be played on Windows.

Music player

The default internal music player uses the BASS Engine[7] with the BASS audio library. The alternative player is the internal DirectShow player. With the BASS Engine MediaPortal supports visualizations from Windows Media Visualizations, Winamp Visualizations including Milkdrop, Sonic and Soundspectrum G-Force.

Picture player/organizer

Digital pictures/photos can be browsed, managed and played as slideshows with background music or radio. The picture player uses different transitions or the Ken Burns Effect between each picture. Exif data are used to rotate the pictures automatically, but the rotation can be done manually too. Zooming of pictures is also possible.

Extension development

Skins

The skin files are written in XAML.

Example
<window>
  <id>5678</id>
  <defaultcontrol>2</defaultcontrol>
  <allowoverlay>yes</allowoverlay>
  <controls>

    <control>
      <description>BackGround</description>
      <type>image</type>
      <id>1</id>
      <posX>0</posX>
      <posY>0</posY>
      <width>720</width>
      <height>576</height>
      <texture>background.png</texture>
    </control>

    <control>
      <description>an Image</description>
      <type>image</type>
      <id>1</id>
      <posX>75</posX>
      <posY>370</posY>
      <texture>hover_my videos.png</texture>
    </control>

    <control>
      <description>text label</description>
      <type>label</type>
      <id>1</id>
      <posX>250</posX>
      <posY>70</posY>
      <label>Some text</label>
      <font>font16</font>
      <align>right</align>
      <textcolor>ffffffff</textcolor>
    </control>

    <control>
      <description>Try Me</description>
      <type>button</type>
      <id>2</id>
      <posX>60</posX>
      <posY>97</posY>
      <label>Try Me</label>
      <onleft>2</onleft>
      <onright>2</onright>
      <onup>2</onup>
      <ondown>3</ondown>
    </control>

    <control>
      <description>Or Me</description>
      <type>button</type>
      <id>3</id>
      <posX>60</posX>
      <posY>131</posY>
      <label>Or Me</label>
      <onleft>2</onleft>
      <onright>2</onright>
      <onup>2</onup>
      <ondown>2</ondown>
    </control>

  </controls>
</window>

Plug-ins

The development of own extensions can be done in different programming languages. The main used language is C#, but any language can be used that can handle DLL files.

Example
using System;
using System.Windows.Forms;
using MediaPortal.GUI.Library;
using MediaPortal.Dialogs;

namespace OurPlugin
{
  public class Class1 : GUIWindow, ISetupForm
  {
    [SkinControlAttribute(2)] protected GUIButtonControl buttonOne=null;
    [SkinControlAttribute(3)] protected GUIButtonControl buttonTwo=null;

    public Class1()
    {

    }

    #region ISetupForm Members

    // Returns the name of the plugin which is shown in the plugin menu
    public string PluginName()
    {
      return "MyFirstPlugin";
    }

    // Returns the description of the plugin is shown in the plugin menu
    public string Description()
    {
      return "My First plugin tutorial";
    }

    // Returns the author of the plugin which is shown in the plugin menu
    public string Author()
    {
      return "Frodo";
    }

    // show the setup dialog
    public void ShowPlugin()
    {
      MessageBox.Show("Nothing to configure, this is just an example");
    }

    // Indicates whether plugin can be enabled/disabled
    public bool CanEnable()
    {
      return true;
    }

    // Get Windows-ID
    public int GetWindowId()
    {
      // WindowID of windowplugin belonging to this setup
      // enter your own unique code
      return 5678;
    }

    // Indicates if plugin is enabled by default;
    public bool DefaultEnabled()
    {
      return true;
    }

    // indicates if a plugin has its own setup screen
    public bool HasSetup()
    {
      return true;
    }

    /// <summary>
    /// If the plugin should have its own button on the main menu of Mediaportal then it
    /// should return true to this method, otherwise if it should not be on home
    /// it should return false
    /// </summary>
    /// <param name="strButtonText">text the button should have</param>
    /// <param name="strButtonImage">image for the button, or empty for default</param>
    /// <param name="strButtonImageFocus">image for the button, or empty for default</param>
    /// <param name="strPictureImage">subpicture for the button or empty for none</param>
    /// <returns>true : plugin needs its own button on home
    /// false : plugin does not need its own button on home</returns>

    public bool GetHome(out string strButtonText, out string strButtonImage,
      out string strButtonImageFocus, out string strPictureImage)
    {
      strButtonText=PluginName();
      strButtonImage=String.Empty;
      strButtonImageFocus=String.Empty;
      strPictureImage=String.Empty;
      return true;
    }

    // With GetID it will be an window-plugin / otherwise a process-plugin
    // Enter the id number here again
     public override int GetID
    {
      get
      {
        return 5678;
      }

      set
      {
      }
    }

    #endregion

    public override bool Init()
    {
      return Load(GUIGraphicsContext.Skin+@"\ourplugin.xml");
    }

    protected override void OnClicked(int controlId, GUIControl control,
      MediaPortal.GUI.Library.Action.ActionType actionType)
    {
      if (control==buttonOne)
        OnButtonOne();
      if (control==buttonTwo)
        OnButtonTwo();
      base.OnClicked (controlId, control, actionType);
    }

    private void OnButtonOne()
    {
      GUIDialogOK dlg = (GUIDialogOK)GUIWindowManager.GetWindow(
        (int)GUIWindow.Window.WINDOW_DIALOG_OK);
      dlg.SetHeading("Button has been pressed");
      dlg.SetLine(1, "You pressed button 1");
      dlg.SetLine(2, String.Empty);
      dlg.SetLine(3, String.Empty);
      dlg.DoModal(GUIWindowManager.ActiveWindow);
    }

    private void OnButtonTwo()
    {
      GUIDialogOK dlg = (GUIDialogOK)GUIWindowManager.GetWindow(
        (int)GUIWindow.Window.WINDOW_DIALOG_OK);
      dlg.SetHeading("Button has been pressed");
      dlg.SetLine(1, "You pressed button 2");
      dlg.SetLine(2, String.Empty);
      dlg.SetLine(3, String.Empty);
      dlg.DoModal(GUIWindowManager.ActiveWindow);
    }

  }

}

Requirements

Minimum hardware requirements

The minimum hardware requirements listed here are for standard definition resolution playback and recording with MPEG-2 video compression using a single TV-tuner. Note that multiple tuners, or MPEG-4 AVC (H.264) playback carries higher system requirements, see the separate HDTV minimum hardware requirements section below.

  • 1.4 GHz Intel Pentium III (or equivalent) processor
  • 256 MB (256 MiB) of System RAM
  • DirectX 9.0 hardware-accelerated GPU with at least 64MB of video memory
    • Graphics chips which support this and are compatible with MediaPortal:
      • ATI Radeon series 9600 (or above)
      • NVIDIA GeForce 6600 (or above), GeForce FX 5200 (or above) and nForce 6100 series (or above)
      • Intel Extreme Graphics 2 (integrated i865G)
      • Matrox Parhelia
      • SiS Xabre series
  • 200 MB free harddisk-drive space for the MediaPortal software
  • 12 GB or more free harddisk-drive space for Hardware Encoding or Digital TV based TV cards for timeshifting purposes

HDTV minimum hardware requirements

HDTV (720p/1080i/1080p) playback/recording, and also recording from multiple tuners, and playback of MPEG-4 AVC (H.264) video, carries higher system requirements.

  • 2.8 GHz Intel Pentium 4 (or equivalent) processor
  • 512 MB of System RAM
  • DirectX 9.0 hardware-accelerated GPU with at least 128MB of video memory
    • Graphics chips which support this and are compatible with MediaPortal:
      • ATI Radeon series 9600 (or above)
      • NVIDIA GeForce 6600 (or above), GeForce FX 5200 (or above) and nForce 6100 series (or above)
      • Intel Extreme Graphics 2 (integrated i865G)
      • Matrox Parhelia
      • SiS Xabre series
      • XGI Volari V Series and XP Series
  • 200 MB free harddisk-drive space for the MediaPortal software
  • 12 GB or more free harddisk-drive space for Hardware Encoding or Digital TV based TV cards for timeshifting purposes

Operating system and software requirements

Supported operating systems

  • Windows XP 32-bit Edition with Service Pack 3 or later
  • Windows Media Center Edition 2005 with Update Rollup 2 or later
  • Windows Vista 32 and 64-bit with Service Pack 2 or later
  • Windows 7 32 and 64-bit

Software prerequisites

  • Microsoft .NET Framework 3.5 SP1
  • DirectX 9.0c
  • Windows Media Player 11(Only required on XP SP3, Windows Vista comes with WMP11 and Windows 7 comes with WMP12 already)

See also

References

  1. ^ Lanxon, Nate (19 November 2007). "Open-source software rated: Ten alternatives you need". CNET UK.
  2. ^ "Mediaportal V Media Center? Which to choose?". The Digital Lifestyle. 9 March 2009. {{cite web}}: |first= missing |last= (help)
  3. ^ Broida, Rick (December 20, 2006). "Download of the Day: MediaPortal (Windows)". Lifehacker.
  4. ^ "MediaPortal Leaves Beta - 1.0 Arrives". GeekTonic. 23 December 2008.
  5. ^ "10 most prominent FLOSS projects compared". Telematics Freedom Foundation. 2008-09-18.
  6. ^ Cooke, Alan (1 Jan 2009). "Take MediaPortal On The Road - iPiMP". http://www.missingremote.com. {{cite web}}: External link in |publisher= (help)
  7. ^ "BASS showcase". http://www.un4seen.com/. {{cite web}}: External link in |publisher= (help)