Jump to content

DVBViewer Media Server 3.0.0.0


hackbart

Recommended Posts

Changes Media Server 3.0.0

Overview

Please note: The DVBViewer Media Server 3.x contains major changes. Before using it, every DVBViewer in the network that is associated with the Media Server should be updated to version 7.x, because there may be compatibility issues with older DVBViewer 6.x versions. “Associated” means in this context, that DVBViewer Options → DVBViewer Media Server → Enable support for the DVBViewer Media Server is switched on and the Media Server in question is selected on this page.

A brief overview of the main changes:

  • Web Server: The server now accepts HTTPS connections, after being configured accordingly. The creation and usage of self-signed certificates is supported.

  • Web Interface: Several fixes and detail enhancements facilitate the usage of the desktop and mobile web interface. Tuner type icons in channel lists make it easier to recognize channels if more than one reception type (like satellite and terrestrial) is used.

  • Recording: Several measures enhance the usability of timer recordings, including the automatic creation of timers by EPG search mechanisms.

  • Streaming: The Media Server as streaming client supports MPEG Dash as new format. The support for HLS has been enhanced.

  • Miscellaneous: The Media Server automatically reloads the channel or favorites list at runtime if it detects that it has been changed by another program (DVBViewer or TransEdit). It is not necessary anymore to stop and restart the server for this.

Please click the links above for more details!

Web Server

  • Added: Web Server: The server now accepts HTTPS connections, after being configured accordingly. Please note that this (and the following) does not apply to other server instances (Live Stream, Media Stream, UPnP, RTSP). Since the HTTPS includes encryption and authentication by certificates, some preparations are necessary:

    1. Port assignment: HTTPS requires a separate port, so that HTTP still works if the Web Server is configured for HTTPS. The HTTPS port can be entered on the Media Server Options → Web/UPnP page. The port number must be unused by other server instances within the Media Server and other servers running on the PC. The default is 8088.

    2. HTTPS Activation: The checkbox “Activate HTTPS” on the new “Media Server Options → HTTPS Settings” page enables HTTPS and lets the Media Server listen on the HTTPS port for incoming connections. Since the server needs less resources without HTTPS activation, it should only be used if necessary.

    3. Server key and certificate selection: HTTPS requires a key for encrypting data and a server certificate for proving its identity. Without it HTTPS remains disabled in the Web Server. The key and certificate file can be selected on the new Media Server Options → HTTPS Settings page. If the key and certificate are present in a single file, it must be specified in both input lines. The default files are serverkey.pem and servercert.pem in the new Certificates sub-directory of the DVBViewer Media Server installation directory. The initially installed files only enable HTTPS for “localhost” and 127.0.0.1, unless modified.

    4. Certificate creation: For modifying the pre-installed certificate the Media Server Options (svcoptions.exe) must be launched with admin rights (see Tray Tool menu → Configure with Admin Rights). This activates the “Certificate Creation” panel on the HTTPS Settings page.

    5. Password protection: On the “Create Certificate” panel you can optionally enter a password as additional security measure. It serves for encrypting the content of the key files, thus making them useless for an attacker who steals them.

    6. Add addresses: A multiline input field on the “Certificate Creation” panel allows to add IP addresses and domain names, that shall be accessible for Media Server clients with HTTPS (one per line, without protocol and port). A newly-created certificate is only valid for domains and addresses in the list. The “Add Local Addresses” button adds the computer name and all IP addresses to the list, under which the Media Server is accessible in the local (home) network.

    7. Create certificate: This button executes the batch file CreateHTTPSCertificates,bat. It uses OpenSSL to create a new server certificate (servercert.pem). Additionally, if the password has been changed, other relevant files are recreated. The previous files are renamed to *.bak. On a password change the Media Server Options will prompt for confirmation, because the CA root certificate (cacert.pem, CA = Certificate Authority) has to be re-installed on client devices. This file is used to sign the server certificate, thus confirming that it can be trusted. Since the Media Server Options also create the CA certificate, the server certificate is “self signed”, requiring another measure:

    8. Root certificate installation: After step 7 the Media Server is ready for HTTPS connections. However, since the issuer of the server certificate is unknown to clients, browsers and even the VLC will not trust it and display warnings. It can be avoided by installing the “Certificate Authority” (CA) certificate in the Windows store on the client PC: Click the “Certificate Folder” button and copy the files cacert.pem and InstallRootCertificate.bat to the client PC. Then execute the batch file with admin rights. Then restart browsers or other clients that are running on that PC. Please note that Firefox does not use the Windows store by default (recent versions can be configured for it), so cacert.pem has to be imported manually: Firefox Options → Privacy & Security → scroll down to the bottom → View Certificates → select Authorities tab → Import.

Installing the cacert.pem file lets Windows and clients trust all certificates that have been signed with this CA root certificate. The signing confirms that everything received from the Media Server (identifying itself with the signed server certificate) is originating from it and not from a “man in the middle” attacker. Step 8. can be avoided by not using self-signed certificates, but signing from a generally approved certification authority like Let's Encrypt, where you can get it for free, in contrast to commercial authorities like Verisign. The root certificates of such authorities are already present in the Windows store. However, the process always includes an (online) proof in one way or the other, that the domain for which the certificate is needed is under the server's control. Thus it is suitable for accessing the Media Server from the internet, but not for using it inside the home network.

By this it should be clear that certificates and encryption keys are security relevant. Keep them private like your identity card! Don't pass them to others, don't publish them. Delete certificate files where they are no more needed (particularly cacert.pem after installation on a client PC). Every bad guy that gets hold of your certificates (plus password, if set) can set up a HTTPS server that is trusted by your browser because it pretends to be the Media Server!

  • Added: HTTPS Options: Tweak “HTTPS Certificate validity period” (→ execute DMSTweaker.bat). It specifies the validity period of newly created HTTPS certificates in days, beginning with the time of creation. The default value 3652 equals 10 years.

  • Change: Network Libraries / OpenSSL: Network libraries have been updated for OpenSSL 1.1.x support. OpenSSL is required for encrypted connections via HTTPS. The setup adds new OpenSSL DLLs (libssl-1_1.dll and libcrypto-1_1.dll). They carry different names than the previously used OpenSSL 1.0.2 DLLs (ssleay32.dll and libeay32.dll). The Media Server preferably uses the new DLLs, if available, but is also able to work with the old ones.

Web Interface

  • Change: Web Interfaces / Channel List: TS Stream channels with a URL referring to the Media Server itself are hidden in the web interfaces, because they would require the Media Server to work as its own client, which is not possible. Additionally “play as file” entries in the channel list (supported by DVBViewer Pro 7.0.0 and later) are hidden, because they have no EPG and can't be recorded. However, there is one exception:

  • Added: Desktop Web Interface: Tweak “Show channel list file entries in Media -> TV/Radio” (→ launch DMSTweaker.bat). It specifies if “play as file” entries from the DVBViewer channel list are shown in the Web Interface → Media page → TV/Radio sections. The default is “off”. Switching it on enables

    • playing the items as transcoded stream in the browser.

    • passing the items as M3U playlist to other players, that shall play the original streams.

  • Added: Web Interfaces: Additional “Favorites Only” switch on the Search EPG page for limiting search results and auto timer creation to favorite channels. If no favorites are present, the “Favorites Only” switch has the same effect as the “All Channels” switch.

  • Change: Web Interfaces: The caption of the Delete button on the Search EPG page now changes to “Reset”, if the default settings are active and no specific search preset is selected. As before the button resets the special default settings for search and timer creation to the general default, as specified in the Media Server Options.

  • Fix: Web Interfaces: Selecting the “Select a search preset…” entry in the drop-down list on the Search EPG page (supposed to load the default settings) did not clear the “Search for” input line, so that a subsequent “Save” did not save the default settings, but created another search preset.

  • Added: Web Interfaces: Hint for File Naming Scheme input lines on the Search EPG page, Recorder Configuration page and in the Timer dialog). It enumerates the available placeholders. In the Desktop Web Interface the hint appears on mouse over, in the Mobile Web Interface after clicking the “File Naming Scheme” label.

  • Change: Web Interfaces: The Recorder Configuration page has partly been rearranged for consistency with the Recordings and Recording Timers pages in the DVBViewer and Media Server options.

  • Change: Web Interfaces: A tuner type icon for each channel entry is displayed in channellists, where possible. A small overlaid yellow key indicates encryption. A red cross icon on the Timers page indicates that no channel can be assigned to a recording timer, which means, it cannot be executed. Task timers appear with a clock icon.

  • Change: Web Interfaces: The “Change Log” link on the Links page has been renamed to “Release Notes”.

  • Fix: Desktop Web Interface: The attempt to delete a recording that was opened elsewhere flagged it in the recording database as “removed”, though the file could not be deleted. Additionally the Web Interface handled corresponding list items on the Recordings page inconsistently, depending on whether a selection of recordings via checkboxes or a single recording via Delete icon was deleted.

  • Added: Desktop Web Interface: Double-clicking a channel on the Channel EPG page plays it in the browser.

  • Change: Mobile Web Interface: Creating a new timer does not require to input a timer name anymore. If it is missing, the Media Server uses the channel name.

Recording

  • Change: Recording Options: The elements on the “Recordings” and “Recording Timers” pages (former “Recorder” and “Recordings”) have been re-sorted:

    • The Recordings page contains settings that are applied to recordings when they are started by the Media Server, including recordings that are sent by DVBViewer to the Media Server.

    • The Recording Timers page specifies default values for timer properties, that can be edited and changed per timer in the timer dialog of the web interface.

  • Added: Recording Timers Options: New Placeholders button. It opens a tool window that enumerates all placeholders that can be used in the File Naming Scheme. Double-clicking a placeholder or selecting it and pressing the Return key inserts it at the current position in the input line.

  • Change: Recorder: Enhanced synchronization between the channel and timer list. A channel auto-update immediately adjusts the corresponding channel assignment in timers. When reloading the channel list, the Media Server first equips all recording timers with copies from the previous channel list entries. After deleting the old and loading the new channel list it tries to replace the copies by links to new channel list entries, if possible. If not, the copies are preserved until the Media Server is stopped. This prevents wrong or missing channel assignments.

  • Added: Auto-Timer Creation: The Media Server now additionally stores the EPG title and subheading (if available) in each new set of timer data. They appear in the file svctimers.xml as <Title> and <Subheading> elements and are used to check automatically created timers against already existing timers, in order to deactivate duplicates. Previously the timer name was used for this purpose. Since it is composed by default of the EPG title plus “ - “ as separator plus the 50 first characters of the subheading, the check did not work as intended in some cases, because the title and subheading could not be reconstructed from the timer name, particularly if it was changed by the user.

  • Change: Auto-Timer Creation: The comparison of the EPG title and subheading for deactivating duplicates now only considers letters and digits. Differences concerning spaces, hyphens, punctuation marks etc. are ignored, so that they can’t affect the detection of repeated broadcast anymore.

Streaming

  • Added: TS Stream: Support for receiving MPEG Dash streams. Usually the URLs have the filename extension .mpd and refer to a XML manifest. The general handling is similar to HLS. Please note the following limitations:

    • Supported codecs are H.264 and HEVC video and AAC, AC3 and EAC3 audio.

    • The only supported container format is the mostly used segmented MP4 base media format, which is internally transcoded to TS. Some rarely used MPEG Dash options are omitted.

    • The current implementation does not support playing encrypted / DRM-protected streams.

  • Added: TS Stream: Support for HLS (HTTP Live Streaming) with

    • streams containing AC3 and EAC3 audio (previously only MP3 and AAC).

    • segments in MP4 base media format (previously only segmented transport and audio elementary streams). DVBViewer converts it internally to a transport stream.

    • master playlists that offer streams with different video/audio formats (e.g. H.264/HEVC). The desired format can be selected by appending ?codec=… to the URL (or &codec=… if there is already a query part). The specified codec must be a sub-string of (or equal) the CODECS attribute in the master playlist, e.g. codec=avc1

  • Added: Transcoded Streaming: Transcoding of video only files (without audio) except for HLS output. Previously FFmpeg rejected such files with an error. Please note: As soon as the Media Server uses the files config\iphoneprefs.ini (for HLS output) or config\ffmpegprefs,ini (for other output), it will replace them by new versions and rename the previous ones to *.bak. This can be avoided by changing the version number in the old files with a text editor from 5 to 6.

  • Fix: Transcoded Streaming: WebM or Flash streams with identical parameters could not be played at the same time by more than one client (see here).

Miscellaneous

  • Added: Channel List: Monitoring of the files channels.dat and favourites.xml. After changes the Media Server automatically reloads them with a delay of one to two seconds, and additionally the associated files ChannelsURL.ini and DiSEqC.xml. Thus changes in the channel or favorites list performed by the local DVBViewer or TransEdit take effect in the Media Server, as soon as the files are saved, without the need to stop and restart the server. However, web interface pages have to be reloaded manually in the browser in order to make channel list changes visible.

  • Change: Hardware Options: The tuner type of BDA devices cannot be changed anymore in the options, in order to prevent misconfiguration by users (see here). If really necessary, the type must be tweaked by editing the file svchardware.xml (0 = Cable, 1 = Satellite, 2 = Terrestrial, 3 = ATSC), while the Media Server is stopped.

  • Added: Web/UPnP Options: EPG Checkbox in the Live Stream Server section for adding EPG data to HTTP live streams (if contained in the received stream).

  • Added: Task Options: The new “Placeholders” button in the Task Editor opens a window that enumerates the placeholders that can be used in command line parameters for after recording tasks. On mouse-over the window shows hints containing examples for the replacement applied by the Media Server. Double-clicking a placeholder or pressing Enter inserts it in the parameters field of the Task Editor.

The placeholders specify where the path\filename or other recording properties shall be inserted in the command line. Additionally they allow to set up conditions that decide which parts of the command line shall be used or omitted in certain cases.

  • Added: Task Options: A new “Maximum timer duration” input field allows to specify a duration for the timer that is associated with an after recording task. Please note that the timer does not stop the task when it is due, but prevents sleep mode, hibernate or shutdown while it is active. The timer is automatically canceled when the task terminates.

  • Added: Media Server Options:Extra wake up lead time” tweak (→ launch DMSTweaker.bat). It specifies the extra lead time in minutes for the wake-up process of the PC before a recording starts. The default is 3 minutes (see here).

  • Added: Hardware: Plugin interface that allows to support new hardware (e.g. ATSC 3.0 devices) by adding a DLL.

  • Removed: Hardware: Support for Freenet DVB-T2 USB devices. If still needed the support will be added again as plugin (see above).

 

Link to post
  • 3 weeks later...

Changes Media Server 3.0.1 (Bugfix Release)

  • Fix: Installer: The file openssl.exe was not copied to the Media Server program directory, causing the creation of self-signed certificates in the Media Server Options to fail.
  • Fix: Installer: After running the installer a cmd.exe process persisted, because the batch file CreateHTTPSCertificates.bat (executed by the installer) did not terminate due to a Pause command.
  • Fix: Plugin Interface: A bug disabled the usage of some plugins (see here).
  • Fix: TS Stream: The Media Server displayed no EPG for TS Stream channels delivered via HTTP by receivers/servers like Dreambox or VU+.
  • Fix: Recorder: The Media Server could not delete recordings without filename (like D:\MyVideos\.ts).
  • Change: Recorder: Timers for timeshift recordings are not written to the file svctimers.xml anymore. This prevents the restart of timeshift recordings after a Media Server stop and restart. Furthermore the Media Server deletes timeshift recordings when it is stopped, provided they are not opened in a client anymore.
  • Fix: API: Wrong EPG data assignment to timers that were added via api/timeradd.html (particularly by DVBViewer and add-ons). The Media Server used the program running at the start time, not as intended the program running in the middle between start and end time.
  • Fix: Web/Live Stream Server: Instability if clients were using the Web and Live Stream Server extensively (particularly Kodi).
  • Fix: Hardware Options: The tuner type selection has been re-enabled for HDHomeRun devices. It is required because the tuner type information exposed by the driver is ambiguous (see here).
Link to post
Griga

There are fixes for bugs in the full version of the DVBViewer Media Server 3.0.1 available, that have been reported in the forum or were found by tests. The file Media_Server_Fix_3_0_1_x.zip In the Members (Download) Area -> Beta Section contains files that have to be replaced in a Media Server 3.0.1 installation. Please read the contained ReadMe! It describes the proceeding. Up to now the following issues were fixed:

  • The tuner used for timeshift recording is  not released correctly after a “Keep Timeshift File” on/off change in DVBViewer.
  • If “Configuration → Web Interface → Show timer edit window” is switched on, timer creation on an EPG page does not store the EPG title and subheading in the timer data (as in versions prior to 3.0). Additionally the  EPG subheading is  not stored as <Subheading> element in the file svctimers.xml and the  api/timerlist.html XML output, but as <Event> element.
  • A wrong calculation of time stamps for MP3 streams (particularly internet radio) with 44.1 kHz sample rate causes periodically interrupted playback after 20 to 30 minutes.
  • Logging of EPG data is missing in recording logs, if the timer is created manually via "New Timer" on the Timers page of the Web interface.
  • Audio frames (particularly AAC frames) that are  not aligned with the data packets, mislead  the audio format detection of the recorder repeatedly and yield  wrong entries in the recording log.

This post will be updated continuously.

Edited by Griga
More fixes added
Link to post
Guest
This topic is now closed to further replies.
×
×
  • Create New...