Jump to content

Media Server, Add a timer, pdc value


Recommended Posts

I am not sure how to get the (optional) pdc value for the add timer call ( /api/timeradd.html )

When I do a request like this

I got (between a lot other entries) this entry for "The Mentalist":

<programme start="20170524135600" stop="20170524145100" channel="562954320954462"><eventid>32133</eventid><charset>255</charset><titles><title>The Mentalist</title></titles><events><event>Blume im Meer, Crime-Serie, USA 2011</event></events><descriptions><description>In ...(cutted) </description></descriptions></programme>

I can't identify a pdc value (what ever this is).

How do I link the timer to this EPG?

Even the timer entry (was created from an auto timer) shows nothing helpful regarding "pdc".

<Timer Type="1" ID="{B7F254DD-72CD-4B5C-AFF9-641B23B199B3}" Enabled="-1" Priority="60" Charset="255" Date="24.05.2017" Start="13:46:00" Dur="75" End="15:01:00" PreEPG="10" PostEPG="10" Action="0" EPGEventID="32133">
      <Descr>The Mentalist - Blume im Meer, Crime-Serie, USA 2011</Descr>
      <Options AdjustPAT="-1" AllAudio="-1"/>
      <Channel ID="2359890960395027550|kabel eins"/>

Link to comment

PDC (Programme Delivery Control) is only supported by the German, Austrian and Swiss public (ÖR) broadcasters.


In practice it is a PIL (Programme Identification Label) attached to each programme in the EPG. It contains the originally intended binary coded start time of the programme. It does not change if the actual start time changes.


The main purpose is to re-identify a programme in the EPG data after it has been scheduled, allowing the scheduler to keep track of changes and to perform accurate recording by monitoring the Present/Following EPG or Teletext data (the latter method is out-dated, no more used by the RS / DMS). The Present/Following EPG signals more or less precisely which programme is currently running. The DMS / RS listens to the incoming Present/Following EPG data and starts recording as soon as the PIL of the current programme equals the PIL of the scheduled programme.


Other methods are less reliable (identification by title, start time, duration...) because all these characteristics may change.


The Event ID could serve the same purpose if all broadcasters would handle it unambiguously according to the specs, but several broadcasters don't, so it's quite risky to identify a programme by Event ID.


Link to comment

And if I use this within a new timer event from ARD, ZDF  the MediaServer will take care of changes of time (maybe program starts and ends later because of an importend incident like 9/11)? Or a program which ends later because it is interrupted?

Link to comment

Leider kein Beitrag zur Problemlösung, nur so am Rande: Schaut für mich so aus als diskutieren hier Deutsche mit mit Deutschen in Englisch ;) obwohl die Rubrik (de/en) ist, also mehrsprachig. Vermutlich ist es ohne Übersetzen aber einfacher ... o:)

Link to comment

Danke - es ist manchmal nicht einfach.

Das API Forum ist englisch und es ist eine API Frage. Und inzwischen (unabhängig von DVBViewer habe ich mir angewöhnt mich mit meinem "Denglisch" durchzuschlagen. Google Translate sei Dank.

Und dann sind ja immer noch die Zuschauer zu beachten. Wenn ein Nicht-Deutscher sich die gleiche Frage stellt dann hat er eine Chance ohne erneute Frage ein paar Antworten zu bekommen und so wird der Moderator entlastet.

Link to comment

Please keep the language of threads consistent so it doesn't get frustrating for other readers. If it has been started in English continue in English!


@HaraldL: Ne parle pas Chinois ici! :mad:


Let's continue with the PDC tutorial. The first part was about basic DVB knowledge concerning this matter. Not let's investigate how these values are used in the UI. This should be properly understood before using them in the API!


PDC values must always originate from the DVB EPG. They are not supposed to be created independently from it. And the sheer presence of a PDC value doesn't trigger the mechanisms that are making use of it. They must be configured additionally.


Have a look at the timer (input) window of the Desktop Web Interface after having scheduled a recording from a German public broadcaster. If (and only if) a PDC value is present, an "EPG Monitoring" drop down list shows up that contains three options:

  • None: Don't use PDC
  • Start/End time update by EPG: Start and end time of the scheduled recording are adjusted according to changes in the EPG. The lead and follow-up time remain unchanged, however. Of course it can only work if updated EPG data for the channel in question is received in the meantime. This means, the transponder on which the data is broadcasted must be tuned or a regular EPG update must take place that tunes all transponders automatically.
  • Start/Stop by EPG running status: Same as above, but additionally the running status of the programme signaled in the Present/Following EPG data controls the start/stop of the recording. This means the recorder control is delegated to the broadcaster, hoping it is reliable enough ;) The lead time of the timer recording is very important in this case. It specifies the start time of the Present/Following EPG monitoring. The DMS can't monitor the EPG all the time because this would permanently occupy a tuner. The follow-up time is irrelevant and ignored.

The same options are available in the DMS settings (svcoptions.exe) on the Recordings Page where they specify the default. It can be overridden by the user (in the timer input window) and of course by the API. We'll come to it later... only one thing left to mention here: The "EPG Event ID usage on timer handling" tweak (-> launch DMSTweaker.bat) enables Event ID based timer adjustment and recording control, thus allowing the DMS to use the Event ID for recognizing a programme if no PDC is present, which also enables the options mentioned above without a PDC value being present. But as already stated: A risky thing...


Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Similar Content

    • DetlefM
      By DetlefM
      I noticed several things during my tests that make debugging api calls difficult.
      The returned XML string is often (but not always) incorrect if the EPG entry is not found.
      <?xml version="1.0" encoding="utf-8" ?><!-- by DVBViewer Media Server --><epg Ver="1">
      The end tag is missing.
      Here it would be nice (besides the return of a valid XML string) to get an error code included. For example: wrong channelid, epgid not found
      When searching for pdc with a wrong pdc value (in my case 'NOPDC') this filter is completely ignored and the EPG list of the channel is returned. I think also here an error message would be more helpful.
      Many other api calls have no return value at all - e.g. timeredit. Here it would be helpful if the changed timer (or an error code in case of problems) would be returned.
    • bounguine
      By bounguine
      I have Media Server installed, which acts too strange.
      (1) When I start PC:
      - DVBViewer Media Server in Services is not running,
      - tray icon is grey,
      - TV is working on clients,
      - WEB UI is working.
      (2) When Media Server crashes (happens every day!) and when I start it in Services:
      - DVBViewer Media Server in Services is running,
      - tray icon is blue,
      - TV is not working on clients,
      - WEB UI is not working.
      The only thing I can do to restart Media Server is to restart PC to get case (1)
      I exluded svcdebug.log, because there is not enough space for support.zip here.
      But it looks like 
    • t5b6_de
      By t5b6_de
      Hallo zusammen, 
      ich möchte für den DVBViewer und den Media Server plugins schreiben die  (im ersten Schritt Daten im TS-Datenstrom abgreifen, später dann auch manipulieren)
      Gibt es irgendwo ein Projektbeispiel für Visual Studio in c++ oder c?

      Ich konnte leider keines finden, oder war nicht in der Lage einen passenden Suchbegriff zu formulieren.
    • nickneutrino
      By nickneutrino
      Always when  i play a transcodec 4K MKV H265 to WEBM stream from Dbviewer Media Web Server appear in the middle of screen a circle.
      Anybody knows Is posible remove that circle and for what reason show this circle because the movie plays well? 
    • Lenin0815
      By Lenin0815
      Ich habe eine Frage zur Handhabung in einem Spezialfall:
      TELE5 sendet diese Woche zum 25. Jubiläum von Kalkofes Mattscheibe ein 25-Stunden Best-Off, dass ich gern aufzeichnen würde.
      Da die Sendung im EPG in 24 direkt nacheinander folgende Teile gestückelt ist, kann ich die einzeln Sendungen zur Aufnahme auswählen, erhalte dann aber möglicherweise unglücklich gestückelte Dateien, vielleicht sogar mit Lücken? Alternativ kann ich einen Timer manuell erstellen, was bei der Dauere (über mehrere Tage) vielleicht andere Probleme birgt und vielleicht zu einer riesigen, nicht handhabbaren Datei oder gar Abbruch führt.
      Welches Vorgehen würden Sie in diesem Fall empfehlen?
      Vielen Dank vorab!
      PS: Speicherplatz ist natürlich ausreichend vorhanden.
  • Create New...