Seitenhierarchie

  Wiki Navigation

    Loading...


 Recently Updated


 Latest Releases

 MediaPortal 1.32
            Releasenews | Download
 MediaPortal 2.5
            Releasenews | Download


Overview

This section is here to collectively define what the future TV Engine for MP should be able to do. The document is written from a users standpoint, thinking about what capabilities are needed in TVE4 to support a use case.

Connecting

This section contains all requirements regarding how a client connects to the TV Engine.

Requirement

Usage

Core?

Discover TVE 4 on NW

Installation

Yes

Discover unavailable TVE

Error

Yes

Get Channel Information

Basic

Yes

Basic datails Name, Logo, Group(s), Encryption Info, Video, Audio

Basic

Yes

Additional Info: Detailed Description, Type, Quality, Genre,

Show info

Plugin?

User Protection / PIN Protection for Channels

Child usage

Yes

Get availability of a channel (due to used cards)

Basic

Yes

Get available timeshift buffer information on channel

Advanced Channel selection

Plugin?

 

 

 

 

Watch TV

Requirement

Usage

Core?

Start streaming a channel

 

 

Select Hardware to use (adv. card allocation)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Recording TV

Requirement

Usage

Core?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Scheduling

This section contains all the requirements for the scheduling engine.

The scheduling engine for tve4 is using a rule based recording engine. Much like how you can use rules to sort out your Outlook mails to different boxes.

Of course user shouldn't be forced to use those always - we can create some predefined rules to match the recording options as we have in MP1 / TVE3 right now. It will be really easy to create those matching ones.

Requirement

Usage

Core?

Rule Based Scheduling

Advanced

plugin

Program Rules

Advanced

plugin

• Title Equals Record program with the given title. • Title Starts With Record program who's title starts with the given text. • Title Contains Record program who's title contains the given text. • Title Doesn't Contain Record program who's title does not contain the given text, only valid in combination with at least one Title

 

 

Contains rule

Advanced

plugin

• Episode Equals Record program with the given episode title. • Episode Starts With Record program who's episode title starts with the given text. • Episode Contains Record program who's episode title contains the given text. • Episode Doesn't Contain Record program who's episode title does not contain the given text, only valid in combination with at least one Episode Contains rule. • Episode Number Equals Record program with the given episode number. • Description Contains Record program who's description contains the given text. • Description Doesn't Contain Record program who's description does not contain the given text, only valid in combination with at least one Description Contains rule.

 

 

Time Rules

Advanced

plugin

• Around Time Record the timeslot closest to the given start time (usually combined with Title Equals). • Starting Between Record a program when its start time is between the two given times • On Date Record on this specific date (mutually exclusive with DaysOfWeek). • Days Of Week Record on these days of the week (mutually exclusive with OnDate), with second optional starting date argument. • Skip Repeats Only record first-run (non-repeat) programs. • New Episodes Only Don't include programs that were already recorded before (based on title/episode title/episode number or description). • New Titles Only Don't include programs that were already recorded before (based on title only).

 

 

Other Rules

Advanced

plugin

• TV Channels Record on the given TV channel(s). • Category Equals Record programs from the given category/categories. • Directed By Record program directed by given name(s). • With Actor Record program which has the actor(s) by the given name(s). • Manual Old-fashioned manual scheduling, record channel C from starting time T for duration D on date X.

 

 

Templates

 

 

The user should be able to define "templates". So if if you use a certain set of rules regularly, you create a template, name it, and then you can use it like you now use MP1 scheduling options.

 

 

*Create recording plans to allow optimum card allocation.*

 

 

The scheduler uses a separate allocation algorithm, by making a plan of card allocations. Instead of trying to find the best card to use when it is time to start recording, it would make a plan of what recordings should use what card in the near future (say for the next 24h) based on the current status of all cards and the scheduled recording so that the maximum channels are available at any time. The planner could also build multiple alternative plans, and each plan would get a score, then choose the best one. Whenever changes are made to the schedule or users request live tv, the plan should be adjusted accordingly. Actually live TV is the only thing that is unpredictable, everything else can be planned ahead for optimum usage.

 

 

Advanced conflict handling and signaling to the client.

 

 

Priorities

 

 

  • Programs with lots of repeats can be set on low to ensure others get recorded first. * More important programs can be set to high priority to ensure high shares.

 

 

Record ANYTIME only NEW EPISODES

 

 

  • Full database of previous recordings even when the actual recording has been deleted * Example, my Mythbuster schedule (see screen) will record any new episode while repeats of previous seasons will be ignored if it was recorded already.

 

 

Stream recordings

Requirement

Usage

Core?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Radio

Requirement

Usage

Core?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Tuning

 

Requirement

Usage

Core?

Tuner instance separation

Basic

Yes

  • Every tuner session should be running in a separate context (on a separate process). Only the minimal data loss should be happening when something goes bad (lot of 3rd party code that we cannot quarantee to run correctly). Again see For the Record as a reference (Argus) * Crashing MDAPI filter shouldn't take down more than one tuner instance (mostly only one mux content) * Crashing BDA drivers shouldn't take down more than one tuner instance (mostly only one mux content) * Buggy C++ / C# code shouldn't take down more than one tuner instance (mostly only one mux content) * Crashed recorder / tuner process should be restarted as soon as possible to minimize the loss of data

 

 

Support for:

 

 

  • support for streams, both audio and video (not just IP-TV) * support DVB-C, DVB-T, DVB-S, DVB-S2 and DVB-IP (Possibly even DVB-T2) * support for ATSC * support for analog * support for watching / recording multiple channels on the same transponder. * support for Hybrid cards.

 

 

CAM Reset:

 

 

If the CAM "crashes" because of i.e. a bug in the firmware (2010-06-18 this currently happens with AlphaCrypt CAMs), then the TV-Engine should do a hardware reset automatically - otherwise scrambled channels are not tuneable until a restart of the PC. According to morhpeus, some of the hardware API's have support for this.

 

 

 

 

 

 

 

 

 

 

 

 

Roles

TV-Engine4 would be split into several modules, call it "Roles"...

 

Requirement

Usage

Core?

Management Role:

 

 

  • is the one and only connection point for EVERY other Mediaportal-Role installed on ANY device in the network * hosts a central Database (may be running on another computer) * has logic for all management- and routing-tasks * has logic for users and rights managent * has logic for sceduled recordings * WOL (wake on LAN) computers beeing in standby if they are needed * "Capture-Role(s)" register(s) their devices/channels along with their status (online/standby/offline/...) * "Share-Role(s)" register(s) the Media-Files they have available along with their status * "Information-Role(s)" register(s) the sources (plugins) they have configured (TV, Radio, Movies, TV-Series, RSS Feeds, Wheather, Maps, ...) along with their status * "Record-Role(s)" register(s) their status

 

 

Capture-Role:

 

 

  • registers all available (configured) capture devices (DVB-x, analog, WebCam, IP-TV, IP-CAM, FireWire, ...) and their channels to the Management-Role * on request from the Management-Role, start capturing the requested channel and stream it to a provided Multicast-IP

 

 

Share-Role:

 

 

  • registers all available (configured) media files (avi, mkv, mp3, wav, flv, ...) to the Management-Role * on request from the Management-Role, start streaming the requested file to a provided Multicast-IP

 

 

Information-Role:

 

 

  • mainly contains plugins * plugins can have common- and per-user-configuration which they retrieve from the Management-Role * plugins retrieve information they may need from the Management-Role * plugins provide common- and per-user-information to the Management-Role

 

 

Record-Role:

 

 

  • records the given device/channel on request from the Management-Role * needs a Share-Role to make recordings available to the Mediaportal2-System

 

 

Client-Role: 

 

 

  • provides user interface * gets common- and per-user-configuration from the Management-Role * gets available Information-Roles, displays and executes their GUI(skin) * requests device/channel, media file or other content from Management-Role * gets Multicast-IP to listen on from Management-Role * handles local/networked remote control and local/networked display(minidisplay)

 

 

Update-Role:

 

 

  • contains up-to-date binary files and update scripts (database, configuration) for all roles and plugins in use. * downloads the needed files from online repository * informs the Management-Role of available updates * transmits files to computers which need them 

 

 

Management-Tool:

 

 

  • talking to the Management-Role * allow the configuration of my/any/all settings (depending on user level (User, Administrator, ...))

 

 

   

 

This page has no comments.