Jump to content

MediaPortal: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Line 61: Line 61:


==Video/[[DVD]] Player==
==Video/[[DVD]] Player==
The video player of MediaPortal is a [[DirectShow]] Player, so any [[codec|codec/filter]] can be used. MediaPortal uses the [[codec]] of [[Media Player Classic|MPC-HT]] by default, but the [[codec]] can be changed to all installed ones, such like [[FFDShow]], [[PowerDVD]], [[CoreAVC]], [[Nvidia PureVideo]] etc.
The video player of MediaPortal is a [[DirectShow]] Player, so any [[List of codecs|codec/filter]] can be used. MediaPortal uses the [[codec]] of [[Media Player Classic|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| video post-processing]], with any installed [[codec]].
MediaPortal also support [[Video post-processing| 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.
Due to the [[DirectShow]] Player implementation, MediaPortal can play all media files that can be played on Windows.

Revision as of 07:15, 17 February 2011

MediaPortal
Original author(s)Team MediaPortal
Developer(s)Team MediaPortal
Initial release2004 (2004)
Stable release
1.1.2 / 29 November 2010; 14 years ago (2010-11-29)
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.

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.

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 it's own setup screen
    public bool HasSetup()
    {
      return true;
    }

    /// <summary>
    /// If the plugin should have it's 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 it's own button on home
    /// false : plugin does not need it's 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 System

  • 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)