Elecard Boro - Release Notes¶
{
"last_commit": {
"date": "2024-11-19 04:02:56 UTC",
"hash": "3eded33",
"describe": "2.2.3-0-g3eded33"
},
"build": {
"date": "2024-11-19T10:09:19Z",
"clean repo": true,
"sphinx version": "sphinx-build 4.5.0",
"machine": "runner-5ga9frafr-project-31-concurrent-0"
},
"note": ""
}
1. Future Releases¶
Features scheduled for the next release:
[probe]
Support for the NDI protocol and starting tasks via NDI announcement;
Support for the RTMP Push protocol;
Support for the DVB capture cards;
Sniffing of the existing SRT session (SRT sniffing);
Enhancement of the SRT protocol statistics;
Detection of the Color Bar test pattern on the video image;
Recovery of subtasks ID when the OTT service analysis task is restarted.
[server]
Pagination of operating views;
Decrease of response time in the operating views;
Choice of Alarms, states and events to be displayed in LiveView;
Graph of segments and download timings (TTFB, DNS Lookup, TCP Connection);
Ability to block certain alarms (e.g., by a PID);
Analysis of the compliance of the stream structure to the PSI template.
[new products]
Boro VoD is a product for checking files for compliance with the set template and evaluate QoE. The software is designed as a module to be installed after a file transcoder to validate the produced content;
Boro Gate is a product designed to consolidate several Boro Solution instances. It assumes centralized management of user accounts, collecting alarms, and united BlockView for the entire system. Boro Gate also provides a single entry point for all users. The architecture allows you to connect independent instances of Boro Solution deployed in macro-regions into a single system. Such architecture has greater fault tolerance than centralized server solution. In addition, in the absence of communication between objects, Boro Solution located in an isolated region retains full functionality.
2. Active Versions¶
Release 2.2¶
Attention
Full support for probes prior to version 2.0.1 has been discontinued. Recording can no longer be configured.
LATEST PROBE BUILD
2.2.3 (2024.11.14 07:43:50 UTC) [ChangeLog]
REQUIREMENTS FOR PROBE START
Operating system:Windows 8/8.1/10/11 64 bit, Server 2008/2012 64 bit.Linux 64bit + glibc-2.17 (December 2012: Ubuntu 13.04, Debian 8, RHEL 7, CentOS 7) and higher.Outgoing traffic:53/TCP/UDP (required) — DNS;443/TCP (required) — probe-server communication;8443/TCP (required, default) — probe-server communication for Boro Solution;3478/UDP, 19302/UDP — records downloading (WebRTC);162/UDP (default) — SNMP trap notification.Attention
Minimum required browser version has been increased:
Chromium, version 54 and later
Google Chrome, version 54 and later
Mozilla Firefox, version 47 and later
FEATURES
Support for the RTMP Pull protocol and recording dumps in the FLV format;
Support for the multi-period in MPEG-DASH (AWS DVB Dash);
Support for SCTE-35 timestamps analysis in MPEG-DASH;
Display of HDR headers in the Video information window. All basic HDR formats are supported;
Update of the IPTV service sniffing system. Two ways to receive candidates are implemented: capturing a stream on the selected interface and receiving service announcements over the SAP protocol. Automatic recognition of an MPEG-TS stream is added. Read more;
Full support of the SAML authentication. Read more;
Added new roles: Engineer and Operator. Read more in the Shared Access section of the Boro User Guide;
Implemented the ability to organize user access (for roles Engineer, Operator, Viewer) only to certain probes. In the operating views, there will be information only for those probes that can be accessed by a user. Read more;
Synchronization of several open Boro pages (the TabSync© technology). It allows for simultaneous positioning for several graphs and Event/Alarm journals for a selected time period in several open pages. Read more;
Significantly improved user experience with graphs and journals in the task page. Now, when positioning to a specific time, journal updates are paused and events closest to the selected time are displayed. Journal can also be paused by pressing the pause button. The Event journal records can be exported to a CSV file;
- Update of LiveView page:
Added the display of each subtask for OTT and SRT services;
Implemented rewinding of the view data similarly to the task page graphs;
Introduced positioning to the selected time;
LiveView can be synchronized with other tabs using the TabSync© technology;
When clicking a task stripe, it opens the task page with the positioning of all graphs and journals at the selected time;
In the OTT task page, LiveView stripes are synchronized with the time selection.
Added the display of SRT tasks in GraphView;
Support for the RTP over SRT;
Added the panel summarizing the state of all analyzed services in the project. It is displayed in the project header as a small table containing squares and numbers, that are filled with color when an error occurs. The table displays the following information: tasks in BadSource state, task in which MLT/MLS is exceeded, statistics for active Alarms and KPI. Read more;
Enhanced the block grouping mode in BlockView. When the group block contains an error, it will be excluded from the group and moved to the penalty area. Otherwise, in accordance with the settings the whole group is moved to the penalty area. This solution allows you to avoid using a mouse click when viewing. Read more;
Sound notification on operating views when an error is triggered. For different Alarm severity levels, the sound can be selected from the list. A button has also been added to temporarily disable the notification for 5, 30, 45 or 60 minutes. Read more;
Added a timezone selector that affects all the displayed dates (graphs, journals, etc.). This is useful when probes are located in different time zones;
Added the ability to selectively add tasks from saved probe configurations. Tasks can be added to existing ones or completely replace the current configuration. Read more;
Registration of EFFECTIVE_URL when downloading a playlist. The system registers the final URL that the probe receives when it sends a request to the CDN;
Added the ability to timely block the firing of Video Freeze and Audio Silence alarms. Blocking is also implemented in the KPI profile. This solution allows you to avoid registering false Alarms and degrading the quality of service when a frozen picture is broadcast instead of content at night;
Added the ability to upgrade a probe to a developer version. Read more;
Implemented the mechanism to change a project owner to another registered user. Read more;
Display of CPU/RAM utilization for each probe task that allows you to clearly assess the resource consumption of QoE options, as well as identify potential problems (for example, a memory leak). Read more;
Added scalability for advertisement graph in the task page;
System notifications via Telegram/Webhook (in addition to SNMP and e-mail);
Webhook notification body contains extended information for HTTP/curl errors. Read more;
The KpiView ➝ Health page contains statistics on states and triggers Audio Silence and Video Freeze (basic QoE parameters);
- Improved probe stability and performance:
Reduced RAM and CPU consumption in similar tasks compared to probe version 2.1.x when using QoE options;
Now the ffmpeg decoder can be used, which also reduces the use of system resources;
Tracking the removal/addition/modification of network interfaces in the OS.
- Improved server stability and performance:
Sorting by tags has been redesigned, the page now loads faster when filtering is enabled;
Optimized queries on the MosaicView page to increase loading speed.
- More user-friendly interface:
A dark theme has been implemented to help reduce visual strain when working with the system at night;
For administrators, there is the ability to use filtering by probe groups on all views, based on tags to separate access to probes. Read more;
The project header displays a new probe download button. The old button has been moved to the Probes Dashboard sidebar panel;
The TR 101290 block is hidden on the task page if the task doesn’t have TR 101290 compliance analysis enabled;
Added the ability to add task names to the subject of email notifications using macros;
The tag cloud is sorted alphabetically. Added the checkbox to save filter settings when refreshing the page;
Added the ability to delete multiple selected records from the probe at once;
Made the display of stopped tasks more visible;
In the Alarm journal filter, you can select several probes and several Alarm severity levels;
Hints for some text messages have been added to the Event and Alarm journals;
DASH subtasks have PeriodID + RepresentationID coupling instead of URI specified;
MAC address is displayed for network interfaces;
Tasks on the probe page can be filtered by tags;
Display of service availability in MosaicView;
The Probes Dashboard sidebar panel can be automatically hidden to free up screen space on control monitors;
Added sorting by value of some columns in TableView. To activate sorting, press the pause button;
When TR 101290 errors occur, thumbnails display the priority number;
If a timescale has been set for graphs on the Task page, then double-clicking on the area of interest in the graph will return the graphs to a one-second scale with positioning on the selected time period;
New Description field in the profile settings, which can be used to specify profile configuration information;
The KpiView ➝ Health page contains setting to hide tasks without the KPI profile.
[Boro Solution]
Implemented the connector for DataMiner integration. Read more;
API requests now use HMAC-SHA2 digital signature for user authentication. This method uses stable algorithms and is fairly easy to implement on the client side;
- New methods have been added to the API:
TaskLastStates - information about active error states (or the last states for stopped tasks), current PSI, VideoInformation and AudioInformation tables;
TaskKpi - statistics about the number of registered errors, availability metrics and loss amount for the last 24 hours and for the last 15 minutes;
TaskKpiHistory - statistics about the number of registered errors, availability metrics and loss amount for a chosen time interval. The method is intended to generate reports about service quality.
The AppState method has been supplemented with information on the utilization of the network interfaces;
Added the ability to use a proxy to send Webhook and Telegram notifications. The setting is located in the first tab of the administering panel.
Watch in the Video:
3. ChangeLog¶
Release 2.2¶
2.2.3 (2024.11.14 07:43:50 UTC)
[fixed]
False MLR errors when there are no CC errors in some transport streams. The probe incorrectly detects presence of RTP headers for fragmented datagrams;
False MLR errors when there are no CC errors in transport streams as a result of the pcap process overload when analyzing multicast streams. Increased CPU load compared to the probe of 2.1 version.
[features]
Added filtering of UDP packets by streaming source to the probe. Previous probe versions could only transmit Source Address to a multicast router by the IGMPv3 protocol. Now the probe will be able to receive packets only from the selected source(-s), even if filtering is not supported by the router, or if broadcasting from several sources to a single address is deliberately used. Note that the Several Broadcasters trigger will not fire if filtering is enabled on a task.
2.2.2 (2024.10.17 07:24:01 UTC)
[fixed]
Network Interface IP and Src Address cannot be set when starting new tasks from the Add Task window;
The probe generates an incorrect URL for downloading an init segment when the root-relative path is used;
Incorrect operation of the SCTE-35 Ad Insertions Are Missing and SCTE-35 Tags Are Not Present in the Playlist triggers when SCTE-35 tags point at in and out of ad insertion at the same second;
False detection of the TR 101 290 SI Repetition Error caused by the PMT table (table_id_extension values were ignored during calculation);
Manual recording cannot be started for subtasks of an SRT listener task;
In the interface, a timezone cannot be changed if all probes are stopped;
Incorrect restrictions in the period selection dialog box of the KPI report. Dates in the selector are now calculated based on the KPI data available in database;
Broken links to the Recording chapter in the User Guide from the interface;
In the Manifest tab, the variant stream table does not display the names of segment files;
When scaling the SCTE-35 graph, the ad insertion tags from manifest are not displayed;
In the scaling mode, double-click does not return the graph back to live mode with positioning to the date;
Integration with Pagerduty does not work.
[features]
Added the PID display for the Media Buffer Overflow event.
2.2.1 (2024.08.06 10:32:18 UTC)
[features]
Support for the RTMP Pull protocol and recording dumps in the FLV format;
Support for the multi-period in MPEG-DASH (AWS DVB Dash);
Support for SCTE-35 timestamps analysis in MPEG-DASH;
Display of HDR headers in the Video information window. All basic HDR formats are supported;
Update of the IPTV service sniffing system. Two ways to receive candidates are implemented: capturing a stream on the selected interface and receiving service announcements over the SAP protocol. Automatic recognition of an MPEG-TS stream is added. Read more;
Full support of the SAML authentication. Read more;
Added new roles: Engineer and Operator. Read more in the Shared Access section of the Boro User Guide;
Implemented the ability to organize user access (for roles Engineer, Operator, Viewer) only to certain probes. In the operating views, there will be information only for those probes that can be accessed by a user. Read more;
Synchronization of several open Boro pages (the TabSync© technology). It allows for simultaneous positioning for several graphs and Event/Alarm journals for a selected time period in several open pages. Read more;
Significantly improved user experience with graphs and journals in the task page. Now, when positioning to a specific time, journal updates are paused and events closest to the selected time are displayed. Journal can also be paused by pressing the pause button. The Event journal records can be exported to a CSV file;
- Update of LiveView page:
Added the display of each subtask for OTT and SRT services;
Implemented rewinding of the view data similarly to the task page graphs;
Introduced positioning to the selected time;
LiveView can be synchronized with other tabs using the TabSync© technology;
When clicking a task stripe, it opens the task page with the positioning of all graphs and journals at the selected time;
In the OTT task page, LiveView stripes are synchronized with the time selection.
Added the display of SRT tasks in GraphView;
Support for the RTP over SRT;
Added the panel summarizing the state of all analyzed services in the project. It is displayed in the project header as a small table containing squares and numbers, that are filled with color when an error occurs. The table displays the following information: tasks in BadSource state, task in which MLT/MLS is exceeded, statistics for active Alarms and KPI. Read more;
Enhanced the block grouping mode in BlockView. When the group block contains an error, it will be excluded from the group and moved to the penalty area. Otherwise, in accordance with the settings the whole group is moved to the penalty area. This solution allows you to avoid using a mouse click when viewing. Read more;
Sound notification on operating views when an error is triggered. For different Alarm severity levels, the sound can be selected from the list. A button has also been added to temporarily disable the notification for 5, 30, 45 or 60 minutes. Read more;
Added a timezone selector that affects all the displayed dates (graphs, journals, etc.). This is useful when probes are located in different time zones;
Added the ability to selectively add tasks from saved probe configurations. Tasks can be added to existing ones or completely replace the current configuration. Read more;
Registration of EFFECTIVE_URL when downloading a playlist. The system registers the final URL that the probe receives when it sends a request to the CDN;
Added the ability to timely block the firing of Video Freeze and Audio Silence alarms. Blocking is also implemented in the KPI profile. This solution allows you to avoid registering false Alarms and degrading the quality of service when a frozen picture is broadcast instead of content at night;
Added the ability to upgrade a probe to a developer version. Read more;
Implemented the mechanism to change a project owner to another registered user. Read more;
Display of CPU/RAM utilization for each probe task that allows you to clearly assess the resource consumption of QoE options, as well as identify potential problems (for example, a memory leak). Read more;
Added scalability for advertisement graph in the task page;
System notifications via Telegram/Webhook (in addition to SNMP and e-mail);
Webhook notification body contains extended information for HTTP/curl errors. Read more;
The KpiView ➝ Health page contains statistics on states and triggers Audio Silence and Video Freeze (basic QoE parameters);
- Improved probe stability and performance:
Reduced RAM and CPU consumption in similar tasks compared to probe version 2.1.x when using QoE options;
Now the ffmpeg decoder can be used, which also reduces the use of system resources;
Tracking the removal/addition/modification of network interfaces in the OS.
- Improved server stability and performance:
Sorting by tags has been redesigned, the page now loads faster when filtering is enabled;
Optimized queries on the MosaicView page to increase loading speed.
- More user-friendly interface:
A dark theme has been implemented to help reduce visual strain when working with the system at night;
For administrators, there is the ability to use filtering by probe groups on all views, based on tags to separate access to probes. Read more;
The project header displays a new probe download button. The old button has been moved to the Probes Dashboard sidebar panel;
The TR 101290 block is hidden on the task page if the task doesn’t have TR 101290 compliance analysis enabled;
Added the ability to add task names to the subject of email notifications using macros;
The tag cloud is sorted alphabetically. Added the checkbox to save filter settings when refreshing the page;
Added the ability to delete multiple selected records from the probe at once;
Made the display of stopped tasks more visible;
In the Alarm journal filter, you can select several probes and several Alarm severity levels;
Hints for some text messages have been added to the Event and Alarm journals;
DASH subtasks have PeriodID + RepresentationID coupling instead of URI specified;
MAC address is displayed for network interfaces;
Tasks on the probe page can be filtered by tags;
Display of service availability in MosaicView;
The Probes Dashboard sidebar panel can be automatically hidden to free up screen space on control monitors;
Added sorting by value of some columns in TableView. To activate sorting, press the pause button;
When TR 101290 errors occur, thumbnails display the priority number;
If a timescale has been set for graphs on the Task page, then double-clicking on the area of interest in the graph will return the graphs to a one-second scale with positioning on the selected time period;
New Description field in the profile settings, which can be used to specify profile configuration information;
The KpiView ➝ Health page contains setting to hide tasks without the KPI profile.
[Boro Solution]
Implemented the connector for DataMiner integration. Read more;
API requests now use HMAC-SHA2 digital signature for user authentication. This method uses stable algorithms and is fairly easy to implement on the client side;
- New methods have been added to the API:
TaskLastStates - information about active error states (or the last states for stopped tasks), current PSI, VideoInformation and AudioInformation tables;
TaskKpi - statistics about the number of registered errors, availability metrics and loss amount for the last 24 hours and for the last 15 minutes;
TaskKpiHistory - statistics about the number of registered errors, availability metrics and loss amount for a chosen time interval. The method is intended to generate reports about service quality.
The AppState method has been supplemented with information on the utilization of the network interfaces;
Added the ability to use a proxy to send Webhook and Telegram notifications. The setting is located in the first tab of the administering panel.
Release 2.1¶
Attention
When updating the probe in web interface to the newest versions, the process may hang and the core load increases up to 100%. It is necessary to forcibly terminate the probe application and update the probe from console using the ./streamMonitor -u
command.
LATEST PROBE BUILD
2.1.9 (2024.03.27 11:00:09 UTC)
REQUIREMENTS FOR PROBE START
Operating system:Windows 7/8/8.1/10/11 64 bit, Server 2008/2012 64 bit.Linux 64bit + glibc-2.17 (December 2012: Ubuntu 13.04, Debian 8, RHEL 7, CentOS 7) and higher.Outgoing traffic:53/TCP/UDP (required) — DNS;443/TCP (required) — probe-server communication;8443/TCP (required, default) — probe-server communication for Boro Solution;3478/UDP, 19302/UDP — records downloading (WebRTC);162/UDP (default) — SNMP trap notification.
FEATURES
- New KpiView. It is designed to display statistics of errors for all analyzed streams and to schedule recurring reports about the service quality;
The Health tab represents a real-time report about the quality of analyzed streams in the table form. The statistics contains the following key metrics: Losses, Service Availability, BadSource, Alarms firing statistics, Active Alarms. Statistics is displayed for the last 24 hours and for the last 15 minutes. The view allows for quick health estimation of each service without switching to other views or journals, it also presents the service availability trend;
Service availability - is a new parameter the Boro system registers. It is calculated as a percentage ratio of error-free monitoring time to total monitoring time. The metrics is based on the SCTE 168-6 standard. To register errors, the “error second” term is used, which denotes a second within which at least one error has occurred. Triggers affecting the service availability are included in the separate profile. The user by himself chooses a set of triggers within a profile that the system will register;
Availability graphs are available on the tab KpiView ➝ Health. The mini-graph of availability trend represents changing of the service total availability for last 24 monitoring hours. One division equals to 2 hours. The division color corresponds to the color map of Service Availability levels. When clicking the mini-graph, the window with detalization for each 15 minutes opens;
The Reports tab allows for scheduling recurring reports about the service quality. The report may include all parameters available on the Health tab. You may schedule a one-time or recurring report for the previous day or week;
Automatic uploading reports about the service quality to FTP/SFTP server (only for Boro Solution).
New BlockView. It is designed to compactly display all analyzed services. With the smallest scale possible, the view may display up to 1000 tasks on the screen with 1920x1080 resolution. Some fixed view scales are available. Like MosaicView, it provides task consolidation. The mode of ranging blocks in accordance with errors severity level is available;
- Support for the SRT protocol. The probe receives streams over SRT protocol in modes: Listener, Caller and Rendezvous. All modes support the one-time receiving of some streams. The encryption support is implemented;
Added the support of SRT stream recording in the MPEG-TS format;
Added new event Task has no subtasks for OTT and SRT protocols. It triggers when an SRT task contains only a Master task and does not contain any subtasks.
Graphs scaling on a task page. Available fixed scales: 3min(live), 30min, 3h, 8h, 2d and 4d. Metrics of Momentary loudness, Short-term loudness, Input bitrate, IAT and DF are measured as min/avg/max values on the scale. Switcher of scales and navigation panel are performed as a floating palette that helps to avoid extra page scrolling;
Checking for stream conformity to the TR 101290 2nd and 3rd priority standard. Implemented triggers for each event and indicators on a task page with additional info when hovering the active error. For the PCR Repetition Error trigger, two thresholds are added for the user’s choice: 40 and 100 ms. When checking the third priority, the mechanism for automatic identification the delivery system type is embedded. The delivery system type affects the available time intervals for the tables delivery;
Parsing and display of the following TS stream tables: SDT, BAT and NIT;
Added possibility to exclude mediatypes and elementary stream PIDs from the registering the PID Errors, CC Errors and Timestamp Discontinuities. The user specifies the list in the decimal or hexadecimal format separated by a comma;
Added new triggers: SCTE-35 Ad Insertions Are Missing fires when the probe during a specified period does not detect the start of an Ad insertion; SCTE-35 Tags Are Not Present in the Playlist fires when the probe does not detect SCTE-35 tags in a playlist during the specified period;
New trigger Segment duration exceeds TARGETDURATION fires when the segment duration exceeds the EXT-X-TARGETDURATION value declared in the Media playlist;
Display of max values for PCR accuracy and PCR Interval in the Info window in PSI table;
Display of presence EMM/ECM in PSI table;
Download content of the TableView view and PSI table (Info window) in the xls file;
Implemented automatic assignment of profiles. The association of profile - task type is configured by the user. When creating a task in Web interface, it will be automatically assigned to profiles of thresholds, notifications and records depending on the protocol type;
Extended the Webhook notification content for OTT and SRT protocols. Added fields transmitting URI of a subtask and its description. Additionally, links to the Boro system are added: link to a parent task, link to a subtask analyzing the media representation, and link to a page with Webhook profile;
In the SNMP message, added the program name in which the error has occurred;
On thumbnails within the task page, time of their capture and PTS of the frames are overlaid. Apart from that, thumbnails are forcibly created when entering and exiting the ad insertion;
Now custom parameters of HTTP request can be sent in the HTTP header section or in the URL (Query String Parameter);
Added saving the HTTP headers when the probe cannot download one or the other object;
- Improved the interface usability:
Selecting a default view that will open when entering a project;
Selecting a journal that will open by default on a task page;
Enhancing the events journal on a task page (for IPTV tasks). The key information is extracted for each event, however, the full JSON content still can be viewed. Each event can be copied, saved to a file, pretty formatted;
Added a program name when registering events in the Alarms journal;
Tooltips with ad insertion cues on the ad insertion graph;
Formatted output in the DASH manifest view window;
In Alarms journal, added combining active states records if they belong to the same stream and trigger type;
In the settings on a task page, unused graphs can be hidden;
All types of external notifications can be paused for a particular silence period;
Implemented uniform activation mechanism for profiles of external notifications and recording. Added indicators of profiles activity state;
Added possibility to select recipients that will receive notifications about projects balance. Previously, such notifications were sent only to the project owner;
Thumbnails are now forcibly created when entering and exiting an ad insertion, in case thumbnails capture is allowed for the advertising period;
Added support for SCTE-35 timestamps analysis in HLS when the fmp4 format is used as the segment container.
KNOWN ISSUES
When updating a probe from previous versions (1.7.x and 2.0.x) to the newest version (2.1.x), all tasks will be started “as new” tasks, with that the entire task configuration is saved;
False CC errors that cannot be validated on the MLR graph when the probe and broadcasting are launched on the same Linux machine. To solve the issue, enable the technology Receive Packet Steering on the Linux machine, contact the technical support;
False CC errors when the Linux machine is highly loaded that cannot be validated on the MLR graph (the probe and broadcasting on different machines). Probe input buffers and the operating system should be tuned, contact the technical support.
2.1.9 (2024.03.27 11:00:09 UTC)
[fixed]
The notification of ad end will not be sent when the stream is in the BadSource state (even if it lasts for a short time);
The probe generates the incorrect URL for segment download if the <BASEURL> tag specifies the absolute link to the manifest;
Thumbnails are not created if streams are encoded with the MPEG2 codec in the specific format;
False errors when parsing SCTE-35 tag if the segmentation descriptor length is specified considering sub_segment_num and sub_segments_expected fields regardless of the segmentation_type_id field;
Incorrect calculation of HLS segment indexes due to using the 32-bit variable for storing EXT-X-MEDIA-SEQUENCE numbers. When the index exceeded 32 bits, the variable overflowed;
The task fails when analyzing H264-encoded streams with incorrect SEI headers;
False detection of PAT error when the table section is transmitted within several packets (one packet cannot accommodate a table).
2.1.8 (2023.12.07 03:34:24 UTC)
[fixed]
The DASH service recording doesn’t include the manifest file (MPD file) in all analysis modes;
The probe will stop downloading segments if it encounters a segment with an incorrectly long duration and registers the Bad Segment Duration error at the same time. Also, in this case the probe doesn’t detect the BadSource state if only one specific media representation is analysed;
If the updated Master playlist contains a zeroed BANDWIDTH for variant streams, the probe may break the connection between a Master task and its subtasks, thus subtasks are incorrectly displayed in the interface;
The OTT analyzing task crashes when the URI length exceeds 255 symbols. The probe limit for the URI length has been extended;
False detection of the CAT error;
Incorrect detection of the advertisement exit point for SCTE-35 splices with the auto-return = true flag for HLS services containing segments in the fMP4 format. The probe generates exit from advertisement immediately upon receiving the tag;
The task crash is registered when the fMP4 OTT service contains sound in the AAC format when using the FFmpeg audio decoder;
The OTT service recording doesn’t include playlists if the recording is triggered by the Static Manifest Error;
The probe generates an incorrect URI for downloading segments when the BaseURL is specified as an absolute path to the manifest (MPD file);
The probe doesn’t send any notifications (Webhook, Email, etc.) and doesn’t register the start or end of the advertisement in the Alarm journal if the BadSource (No signal) state is registered together with the start or end of the advertisement;
If an ad insertion is triggered simultaneously by an SCTE-35 playlist cue and a transport stream cue, the ad graph will display incorrect information about the ad insertion state;
Significant memory leaking if HTTP server returns 404 error when downloading an init segment. The probe tries to download an init segment too often (dozens of times per second). As a solution, we add the timeout between init segment download attempts and a limit to the number of downloaded HTTP headers to 40, other headers are dropped.
2.1.7 (2023.05.25 07:06:24 UTC)
[fixed]
Incorrect analysis of QoS caused by improper operation of start code search algorithm in a PES stream. There is a threat of running out of allocated memory within a single process;
In some cases, the task crashes when audio and video decoders are used;
The task analyzing the fmp4 segments crashes when the segment contains incorrect data in the MDAT;
The HLS Analysis Offset setting does not work.
2.1.6 (2023.05.15 05:59:22 UTC)
Warning
In this version, we have found critical errors that result in incorrect analysis of QoS parameters for audio and video. Additionally, incorrect memory access within the probe process is possible. The Elecard team does not recommend the use of this version. Please update your probe to the latest version.
[features]
Added support for SCTE-35 timestamps analysis in HLS when the fmp4 format is used as the segment container.
[fixed]
False errors Timestamp Discontinuity when analyzing the HLS service. It often occurs on the services with a high-duration Media playlist. The false errors are caused by data flush when segments buffer is overflowed. The buffer is overflowed when the probe tries to keep up with the analysis position in the playlist. Set and current analysis positions diverge due to following reasons: 1) unstable download speed, when the segment download was too long, and playlist has significantly changed since last update; 2) a playlist has not been updated for a long period. Due to mentioned reasons, the probe starts greed download of missing segments. However, the probe fails to perform real-time analysis of all downloaded data, since the service errors cause continuous accumulation of segments. As a solution, the 30-second window is implemented. On this interval, the probe tries to reach the set position. If the current analysis position goes beyond the window, the probe flushes downloaded segments that are between current and set position, and sends the error “Missing data segment interval…”;
High consumption of CPU resources on specific streams when analyzing QoS only. Streams have high bitrate and contain a numerous filter units;
False detection of PAT Error when the interval between the packets with PID 0x0000 is close to 500 ms, but doesn’t exceed this value;
Memory leak when analyzing an SRT service in the listener mode;
The significant utilization of RAM when the probe lost connection to the server;
The feature of exclusion Timestamp Discontinuity errors by media type doesn’t work;
For some streams, the thumbnails capture stops after return from the advertisement block.
2.1.5 (2023.02.08 11:46:19 UTC)
[fixed]
Delay factor (DF) is not calculated. The probe always returns the 1000 ms value;
PCR accuracy error is incorrectly registered when PCR timestamps appear too often (e.g. in neighboring transport packets);
The end of PAT Error state is not registered. The error remains active even though the stream is restored, and it contains valid PAT data;
The Video Freeze alarm is not cleared after disabling Video Freeze Detection in the task settings;
The probe cannot define the correct segment number, when a DASH manifest contains a period start time different from zero;
The probe doesn’t detect that the DASH segment is encrypted and attempts to analyze its content;
False detection of Video Decodability Error in VFR streams;
IAT statistics is not calculated for an SRT task in case its URI contains a domain name but not an IP address;
The probe generates the incorrect URI for decryption key if #EXT-X-KEY tag contains URI attribute with inline data. The issue appears for an HLS protocol;
The probe twice registers the Return to a program event when an In Point has the auto_return flag, and with that there is an additional Out Point specifying the same return time as an In Point. After fix: an Out Point will be ignored, and Return to a program will be registered once;
The probe does not register the SCTE-35 Advertisement Insertion event based on tags from OTT playlist when pts_adjustment is not equal to zero, or when its event_id coincides with a splice from a transport stream;
Significant RAM usage when RAM is selected for stream pre-buffering, and the probe performs recording of a stream with high bitrate for a long time. When recording ends, the memory is released.
2.1.4 (2022.10.21 10:53:16 UTC)
[features]
Added thumbnail capturing at the ad insertion boundaries if thumbnail capture during SCTE-35 period is enabled.
[fixed]
MLR errors (without CC errors) are registered when analyzing SRT streams. Probe detected the retransmission of lost packets at the network layer;
The probe log displays the hint with the incorrect port when the connection to the server cannot be established;
Unreasonable switching of the analysis from the best quality to other variant streams (usually to least bandwidth) when analyzing the HLS service in the Player mode;
Crash of some MPEG2 stream analysis tasks when EPSNR calculation is enabled;
PTS timestamps are incorrectly displayed on stream thumbnails when PTS counter reaches a certain value. The state lasts until the counter resets;
Probe fails to start analysis tasks of subtitles in the TTML format for DASH services;
Sometimes, the TR 101 290 Audio/Video PID Error state cannot be cleared;
False momentary the BadSource (No signal) states when analyzing HLS services. States appeared at the segments boundaries when download rate was too high;
False detection of CC errors in transport streams that have incorrect values in the Adaptation field section;
False detection of the Segment duration exceeds TARGETDURATION error when EXTINF duration is slightly higher. The HLS standard states: The EXTINF duration of each Media Segment in the Playlist file, when rounded to the nearest integer, MUST be less than or equal to the target duration;
In some streams when exiting the BadSource (No signal) state, the analysis task hangs, and one core load reaches 100%;
After the detection of ad insertion, the incorrect ad insertion out point follows immediately when working with SCTE35 tags of a transport stream. The probe incorrectly parsed the pts_adjustment field.
2.1.3 (2022.06.17 06:43:11 UTC)
[fixed]
Sometimes when updating the probe in web interface, the process may hang and the core load increases up to 100%. The issue may arise on Linux when updating the probe of 2.1.1/2.1.2 versions to the newest versions;
Record download error arises in case the dedicated space for keeping records is already full. Similarly, download issues may occur when many streams are simultaneously recorded;
Incorrect display of the segmentaion_type_id numerical value in the SCTE-35 event;
Incorrect parsing of SPS/PPS/SEI header in case it’s divided into two or more TS packets;
The bit depth is incorrectly displayed for 10-bit HEVC video;
The Unknown Manifest state is not registered when the Media playlist is empty file (0 bytes);
Hints identifiers are misconnected for Buffer Error and Empty Buffer Error;
False registration of TDT Error (TOT/TDT min interval) TR 101 290.
2.1.2 (2022.06.01 11:12:00 UTC)
Attention
When updating the probe in web interface to the newest versions, the process may hang and the core load increases up to 100%. It is necessary to forcibly terminate the probe application and update the probe from console using the ./streamMonitor -u
command.
[fixed]
In IPTV unicast tasks, the IAT graph doesn’t contain any data, and neither are registered other Ethernet parameters;
Crash of the probe process when a domain name instead of an IP address is specified in a task URI;
False crash of the probe process when an OTT taks is restarted after registering the EndOfStream state;
Under certain conditions, the probe sends to the server events with negative time increment.
2.1.1 (2022.05.17 07:38:25 UTC)
[features]
- New KpiView. It is designed to display statistics of errors for all analyzed streams and to schedule recurring reports about the service quality;
The Health tab represents a real-time report about the quality of analyzed streams in the table form. The statistics contains the following key metrics: Losses, Service Availability, BadSource, Alarms firing statistics, Active Alarms. Statistics is displayed for the last 24 hours and for the last 15 minutes. The view allows for quick health estimation of each service without switching to other views or journals, it also presents the service availability trend;
Service availability - is a new parameter the Boro system registers. It is calculated as a percentage ratio of error-free monitoring time to total monitoring time. The metrics is based on the SCTE 168-6 standard. To register errors, the “error second” term is used, which denotes a second within which at least one error has occurred. Triggers affecting the service availability are included in the separate profile. The user by himself chooses a set of triggers within a profile that the system will register;
Availability graphs are available on the tab KpiView ➝ Health. The mini-graph of availability trend represents changing of the service total availability for last 24 monitoring hours. One division equals to 2 hours. The division color corresponds to the color map of Service Availability levels. When clicking the mini-graph, the window with detalization for each 15 minutes opens;
The Reports tab allows for scheduling recurring reports about the service quality. The report may include all parameters available on the Health tab. You may schedule a one-time or recurring report for the previous day or week;
Automatic uploading reports about the service quality to FTP/SFTP server (only for Boro Solution).
New BlockView. It is designed to compactly display all analyzed services. With the smallest scale possible, the view may display up to 1000 tasks on the screen with 1920x1080 resolution. Some fixed view scales are available. Like MosaicView, it provides task consolidation. The mode of ranging blocks in accordance with errors severity level is available;
- Support for the SRT protocol. The probe receives streams over SRT protocol in modes: Listener, Caller and Rendezvous. All modes support the one-time receiving of some streams. The encryption support is implemented;
Added the support of SRT stream recording in the MPEG-TS format;
Added new event Task has no subtasks for OTT and SRT protocols. It triggers when an SRT task contains only a Master task and does not contain any subtasks.
Graphs scaling on a task page. Available fixed scales: 3min(live), 30min, 3h, 8h, 2d and 4d. Metrics of Momentary loudness, Short-term loudness, Input bitrate, IAT and DF are measured as min/avg/max values on the scale. Switcher of scales and navigation panel are performed as a floating palette that helps to avoid extra page scrolling;
Checking for stream conformity to the TR 101290 2nd and 3rd priority standard. Implemented triggers for each event and indicators on a task page with additional info when hovering the active error. For the PCR Repetition Error trigger, two thresholds are added for the user’s choice: 40 and 100 ms. When checking the third priority, the mechanism for automatic identification the delivery system type is embedded. The delivery system type affects the available time intervals for the tables delivery;
Parsing and display of the following TS stream tables: SDT, BAT and NIT;
Added possibility to exclude mediatypes and elementary stream PIDs from the registering the PID Errors, CC Errors and Timestamp Discontinuities. The user specifies the list in the decimal or hexadecimal format separated by a comma;
Added new triggers: SCTE-35 Ad Insertions Are Missing fires when the probe during a specified period does not detect the start of an Ad insertion; SCTE-35 Tags Are Not Present in the Playlist fires when the probe does not detect SCTE-35 tags in a playlist during the specified period;
New trigger Segment duration exceeds TARGETDURATION fires when the segment duration exceeds the EXT-X-TARGETDURATION value declared in the Media playlist;
Display of max values for PCR accuracy and PCR Interval in the Info window in PSI table;
Display of presence EMM/ECM in PSI table;
Download content of the TableView view and PSI table (Info window) in the xls file;
Implemented automatic assignment of profiles. The association of profile - task type is configured by the user. When creating a task in Web interface, it will be automatically assigned to profiles of thresholds, notifications and records depending on the protocol type;
Extended the Webhook notification content for OTT and SRT protocols. Added fields transmitting URI of a subtask and its description. Additionally, links to the Boro system are added: link to a parent task, link to a subtask analyzing the media representation, and link to a page with Webhook profile;
In the SNMP message, added the program name in which the error has occurred;
On thumbnails within the task page, time of their capture and PTS of the frames are overlaid. Apart from that, thumbnails are forcibly created when entering and exiting the ad insertion;
Now custom parameters of HTTP request can be sent in the HTTP header section or in the URL (Query String Parameter);
Added saving the HTTP headers when the probe cannot download one or the other object;
- Improved the interface usability:
Selecting a default view that will open when entering a project;
Selecting a journal that will open by default on a task page;
Enhancing the events journal on a task page (for IPTV tasks). The key information is extracted for each event, however, the full JSON content still can be viewed. Each event can be copied, saved to a file, pretty formatted;
Added a program name when registering events in the Alarms journal;
Tooltips with ad insertion cues on the ad insertion graph;
Formatted output in the DASH manifest view window;
In Alarms journal, added combining active states records if they belong to the same stream and trigger type;
In the settings on a task page, unused graphs can be hidden;
All types of external notifications can be paused for a particular silence period;
Implemented uniform activation mechanism for profiles of external notifications and recording. Added indicators of profiles activity state;
Added possibility to select recipients that will receive notifications about projects balance. Previously, such notifications were sent only to the project owner.
[known issues]
When updating a probe from previous versions (1.7.x and 2.0.x) to the newest version (2.1.x), all tasks will be started “as new” tasks, with that the entire task configuration is saved;
False CC errors that cannot be validated on the MLR graph when the probe and broadcasting are launched on the same Linux machine. To solve the issue, enable the technology Receive Packet Steering on the Linux machine, contact the technical support;
False CC errors when the Linux machine is highly loaded that cannot be validated on the MLR graph (the probe and broadcasting on different machines). Probe input buffers and the operating system should be tuned, contact the technical support.
Release 2.0¶
Important
- IPTV: one program in a transport stream generates one data stream transferred to the server.
- OTT services in the “All Renditions” analysis mode:HLS: one Variant Stream generates one data stream;DASH: one Video Representation generates one data stream.
- OTT services in the Player analysis mode: one OTT service generates one data stream. (In the Player mode, the probe analyzes a Variant Stream and takes the highest bitrate allowed by the network bandwidth at this time, as in HLS media players).
LATEST BUILD
2.0.7 (2022.04.13 06:54:36 UTC)
REQUIREMENTS
Operating system:Windows 7/8/8.1/10 64 bit, Server 2008/2012 64 bit.Linux 64bit + glibc-2.17 (December 2012: Ubuntu 13.04, Debian 8, RHEL 7, CentOS 7) and higher.Outgoing traffic:53/TCP/UDP (required) — DNS;443/TCP (required) — probe-server communication;8443/TCP (required, default) — probe-server communication for Boro Solution;3478/UDP, 19302/UDP — records downloading (WebRTC);162/UDP (default) — SNMP trap notification.
FEATURES
Implemented support for the MPEG-DASH protocol. The DASH protocol has a big variety of playlist generation scenarios, the majority of which are already supported by the probe. If the probe does not support your manifest type, please contact the technical support department at tsup@elecard.com;
Most OTT triggers are now compatible with MPEG-DASH protocols. Triggers non-compatible with DASH are marked as “HLS Only”;
Added recording of MPEG-DASH services;
Added functionality of Pcap records downloading (both for automatic and manual records). Pcap recording is available for only IPTV broadcasting (UDP/RTP protocols);
The recording system is improved. Now any trigger can initiate recording. As well as the notification system, the recording system has its own tab in the Notification and Record Journals;
Simultaneous recording in several tasks. When a trigger fires, the recording starts for all synchronized tasks (probes). For example, the automatic recording can be configured and started both on the transcoder’s input and output by firing of a preconfigured trigger;
Added support for Akamai Token authentication and Akamai Media Encryption;
Assigning several profiles of the same type to a task (except for ALARM notifications);
Counting the quantity and duration of each priority errors (fired triggers) during the 15-minute and 24-hour interval;
New algorithm of segment simultaneous downloading and playlists updating. This decreases the detection probability of the BadSource (No signal) event in case the download speed is low, and the manifest size is substantial;
Support of cookies;
Extended measuring the HTTP/HTTPS transaction timings. Apart from the total download time and TTFB, timings for DNS lookup and TCP connection phases are registered;
- Specifying the OTT analysis offset is now available. Depending on the protocol type, the offset can be specified in seconds, percentage, or set in the default mode.For VOD (static), you need to directly specify the entire playlist analysis. To smooth user experience, the preconfigured OTT-VoD threshold profile has been added. The profile will be included in new created projects;
Added possibility to specify the Master playlist update period;
Added the new CRC Error event of the TR 101 290 second priority;
Enhanced detecting of the Invalid Resolution in Variant Streams event: now the probe registers the non-compliance to the range of 16..65536 and absence one of the resolution attributes in the manifest;
Added new system events: Warning of exceeding the RAM threshold, Out of Memory Error, High CPU Usage Warning and High CPU Usage Error;
Enhanced experience with Notification journals. Journals update can be paused;
Added the probe update history;
For OTT tasks, the Service Alarms tab has been added in the Manifest page. The tab summarizes information for all fired triggers within the entire service analysis;
Added the messages system and trigger for the event when the probe cannot access the
./record
folder or its subfolders. Usually, the error occurs when the probe was initially started with superuser privileges and then was restarted with regular user permissions;Implemented alternative HTTP headers downloading method for segment availability assessment: Range — HTTP range request allows only a portion of an HTTP message to be downloaded from a server to a client using GET method. The probe only requests one byte of a data. Earlier the HEAD method was only used.
KNOWN ISSUES
The probe can perform records of large size, but cannot download records larger than 2047 MB;
Unstable analysis of some AAC streams. The proposed solution is using the alternative decoder, contact the technical support;
False CC errors that cannot be acknowledged on the MLR graph when both the probe and streaming are running on the same Linux machine. The issue is fixed by enabling the technology Receive Packet Steering on the Linux machine, contact the technical support;
False CC errors that cannot be acknowledged on the MLR graph (the probe and streaming are running on different machines) when the Linux machine has high load. Tuning of the probe input buffers and operating system is required, contact the technical support.
2.0.7 (2022.04.13 06:54:36 UTC)
[fixed]
The Few Segments in Manifest trigger does not fire in the Auto mode if there are no segments in the playlist;
The Manifest Download Failure state is duplicated when the link to a Media playlist is specified in the task URI field;
In rare cases, memory leaks in a buffer before a decoder;
Intermittent large memory leak in OTT-DVR (Catch up) tasks;
False detection of the Audio Information Changed state when analyzing certain streams in the AAC format.
2.0.6 (2022.02.01 12:16:42 UTC)
[features]
Implemented alternative HTTP headers downloading method for segment availability assessment: Range — HTTP range request allows only a portion of an HTTP message to be downloaded from a server to a client using GET method. The probe only requests one byte of a data. Earlier the HEAD method was only used.
[fixed]
False access error to the records folder in Windows when the probe is running as the service;
Probe takes a long time to start when the records folder contains a large number of files;
Thumbnails are not created for the HEVC 1080i streams;
Probe does not detect the advertisement ending when the break over is only indicated by the auto_return flag;
In HLS services, issues arise during the Alternative Renditions analysis when a Variant Stream and Alternative Renditions have an identical URL;
DASH service analysis task hangs after AST reset when the segment numeration starts from 0;
Probe fails to switch to the best quality Variant Stream in the Player mode when the setting Download Segment Body=Never. Now the probe will permanently analyze the best quality Variant Stream without switching to other Variants since the available bandwidth cannot be evaluated without downloading segment body.
Probe incorrectly identifies the Windows 11 OS;
Probe fails to start downloading segments of Alternative Renditions when the playlist type was changed from VoD to Live;
Registration of the declaredFPS value alternation though the value should remain constant;
Probe stops downloading segments, and system does not register the BadSource error when the system time is set back on Linux;
Probe loses connection to server when the system time is set back on Windows.
[known issues]
Unstable analysis of some AAC streams. The proposed solution is using the alternative decoder, contact the technical support;
False CC errors that cannot be acknowledged on the MLR graph when both the probe and streaming are running on the same Linux machine. The issue is fixed by enabling the technology Receive Packet Steering on the Linux machine, contact the technical support;
False CC errors that cannot be acknowledged on the MLR graph (the probe and streaming are running on different machines) when the Linux machine has high load. Tuning of the probe input buffers and operating system is required, contact the technical support.
2.0.5 (2021.09.07 09:25:27 UTC)
[fixed]
Crash of an HLS service analysis task (over the HTTPS protocol). The OpenSSL library has been updated up to 1.1.1 version;
False detection of the ad insertion duration discrepancy between the playlist tag data and binary data. The binary information carries more accurate duration value;
After a task crash, memory is not released until the user closes the Windows Error Reporting window. The issue appears only in the Windows version;
Number of errors related to detection of the SCTE-35 Tags Parsing Error;
Missing reference to the ad insertion tag that caused the SCTE-35 Tags Parsing Error. Reference information indicating the ad insertion tag and the tag source has been added to the error details;
When analysing high bitrate streams, zero-size records are created. The issue occurs mainly on the Windows version;
During HDD pre-buffering, the pre-buffering folder is not cleared after a task crash;
In some cases, the record folder size significantly exceeds the Available recording space threshold;
A task during recording by a trigger may fall into the Stalled state. In the interface, metrics and events are not displayed, thumbnails are not updated, though LiveView displays the task as a green stripe. The task cannot be stopped from the Web interface;
When monitoring an HLS service in the Player mode, analysis of media representations is stopped. On a task page, only The Manifest tab is displayed. This issue follows the Master playlist update when all values for BANDWIDTH fields and links to Media playlists are simultaneously updated.
2.0.4 (2021.05.17 09:49:31 UTC)
[features]
Added the messages system and trigger for the event when the probe cannot access the
./record
folder or its subfolders. Usually, the error occurs when the probe was initially started with superuser privileges and then was restarted with regular user permissions.
[fixed]
The DASH manifest is not analyzed when the .mpd extension is not explicitly specified in the URL;
When the PAT/PMT changes, for the IPTV analysis task all graphs except for IAT graph are not displayed;
In some cases when starting a task, the permanent false Video Decodability Error and/or Audio Decodability Error is registered;
The PID Error trigger does not fire if there is no data in the program for any of the declared PIDs and PCR timestamps are not present;
In some cases, the DASH services containing the specific mp4 container are not analyzed;
DASH analysis offset does not work correctly. The offset control algorithm is significantly revised. Read more about this feature in the DASH Analysis Offset hint in the thresholds settings;
The OTT analysis cannot be started, if the playlist contains #EXT-X-CUE-OUT-CONT tag without any additional parameters;
In the Alarm journal, sometimes the Manifest Download Failure is registered without providing any additional error information (details on CURL or HTTP errors);
The probe ignores the <Location> tag (DASH analysis). As a result, a new session is created on distribution side each time when updating the manifest;
Crash of IAT calculation process;
The probe registers the Audio Decodability Error state for audio PID carrying no data. Fixed: when starting a task, the probe registers the Audio Decodability Error state, but in case PID data is not present during PID Error Interval, the audio decodability error state will be cleared;
Memory leak in the probe parent process;
When analysing HLS + mp4 service in the Player mode, a picture is decoded with artifacts and the Video Decodability Error state is registered after switching a Variant Stream;
When recording the HLS + mp4 service, the init segment is not included in the record.
2.0.3 (2021.02.20 10:38:53 UTC)
[features]
The support for control of the encryption keys downloading has been added. The following options are available: disabling keys downloading, enabling synchronous keys downloading, and the automatic mode. In the previous versions, the probe has only performed synchronous keys downloading. This resulted in occurring monitoring issues when the server did not send an HTTP response while requesting a key. The automatic mode allows you to bypass this issue, while key verification remains available.
[fixed]
The setting for limiting the recording space on the HDD sometimes may not work. During recording, the probe may use all free space of a hard drive partition;
Handle leak occurs in the Windows version. As a result, the probe does not respond and the operating system failure occurs;
Under certain conditions, the pre-buffering of Pcap recording does not start until the probe is restarted;
Under certain conditions, the probe stops segments downloading when some variant streams have been switched. The issue is relevant for HLS analysis in the Player mode;
When analyzing a stream containing AAC audio, false triggering of the Audio Information Changed event may occur;
The probe incorrectly parses a value of the timescale attribute which is present in the Adaptation Set, not in the Representation. The issue is relevant for DASH analysis;
Periodic segment loss may occur for a certain type of MPD files. The issue is relevant for DASH analysis;
Recording cannot be performed for a certain type of MPD files. The issue is relevant for DASH analysis.
2.0.2 (2021.01.25 08:52:09 UTC)
[fixed]
The probe periodically registers false short events: Segment Loss, BadSource and PTS/DTS Discontinuity when analyzing an HLS service;
The probe fails to detect that segment starts from an IDR frame;
The Actual bitrate trigger does not fire for HLS in the All Renditions analysis mode;
Under certain conditions, the Media playlist content is displayed instead of the Master playlist though the task URI contains a link to the Media playlist;
A task crashes when an input transport stream is changed during running recording with pre-buffering to the RAM;
In some cases if the probe is run on Linux without sudo privileges, the manual recording cannot be started. The probe creates zero size records;
Pre-buffering to the HDD may affect the stream analysis results;
In some cases task stops receiving a stream after the manual recording start. When trying to restart a task, the interface does not respond. When trying to restart the probe, the Task Crash event is registered;
The record duration is shorter than duration values specified in the profile;
The SCTE-35 Interval setting is ignored, when during a SCTE-35 ad insertion a stream is switched (an insertion stream has a different PSI table).
2.0.1 (2020.12.07 08:10:44 UTC)
[features]
Implemented support for the MPEG-DASH protocol. The DASH protocol has a big variety of playlist generation scenarios, the majority of which are already supported by the probe. If the probe does not support your manifest type, please contact the technical support department at tsup@elecard.com;
Most OTT triggers are now compatible with MPEG-DASH protocols. Triggers non-compatible with DASH are marked as “HLS Only”;
Added recording of MPEG-DASH services;
Added functionality of Pcap records downloading (both for automatic and manual records). Pcap recording is available for only IPTV broadcasting (UDP/RTP protocols);
The recording system is improved. Now any trigger can initiate recording. As well as the notification system, the recording system has its own tab in the Notification and Record Journals;
Simultaneous recording in several tasks. When a trigger fires, the recording starts for all synchronized tasks (probes). For example, the automatic recording can be configured and started both on the transcoder’s input and output by firing of a preconfigured trigger;
Added support for Akamai Token authentication and Akamai Media Encryption;
Assigning several profiles of the same type to a task (except for ALARM notifications);
Counting the quantity and duration of each priority errors (fired triggers) during the 15-minute and 24-hour interval;
New algorithm of segment simultaneous downloading and playlists updating. This decreases the detection probability of the BadSource (No signal) event in case the download speed is low, and the manifest size is substantial;
Support of cookies;
Extended measuring the HTTP/HTTPS transaction timings. Apart from the total download time and TTFB, timings for DNS lookup and TCP connection phases are registered;
- Specifying the OTT analysis offset is now available. Depending on the protocol type, the offset can be specified in seconds, percentage, or set in the default mode.For VOD (static), you need to directly specify the entire playlist analysis. To smooth user experience, the preconfigured OTT-VoD threshold profile has been added. The profile will be included in new created projects;
Added possibility to specify the Master playlist update period;
Added the new CRC Error event of the TR 101 290 second priority;
Enhanced detecting of the Invalid Resolution in Variant Streams event: now the probe registers the non-compliance to the range of 16..65536 and absence one of the resolution attributes in the manifest;
Added new system events: Warning of exceeding the RAM threshold, Out of Memory Error, High CPU Usage Warning and High CPU Usage Error;
Enhanced experience with Notification journals. Journals update can be paused;
Added the probe update history;
For OTT tasks, the Service Alarms tab has been added in the Manifest page. The tab summarizes information for all fired triggers within the entire service analysis.
[fixed]
The probe is identified as malicious software by the built-in Microsoft Defender Antivirus application and is quarantined;
When starting an OTT task in the Player mode, the Variant Stream Switching and Media Playlist Event triggers fire.
Release 1.7¶
LATEST BUILD
1.7.7 (2021.01.21 08:37:15 UTC)
REQUIREMENTS
Operating system:Windows 7/8/8.1/10/11 64 bit, Server 2008/2012 64 bit.Linux 64bit + glibc-2.17 (December 2012: Ubuntu 13.04, Debian 8, RHEL 7, CentOS 7) and higher.Outgoing traffic:53/TCP/UDP (required) — DNS;443/TCP (required) — probe-server communication;8443/TCP (required, default) — probe-server communication for Boro Solution;3478/UDP, 19302/UDP — records downloading (WebRTC);162/UDP (default) — SNMP trap notification.
1.7.7 (2021.01.21 08:37:15 UTC)
[fixed]
The probe periodically registers false short events: Segment Loss, BadSource and PTS/DTS Discontinuity when analyzing an HLS service;
For multicast streams, significant memory leak may occur if recording pre-buffering is performed to the RAM;
The probe does not download segments if the container type extension .ts or .mp4s is not explicitly specified in a playlist. Added the segment content check for defining the container type. For encrypted segments, the probe analyzes the content-type field value;
The Bad Segment Size trigger may fire if the BANDWIDTH field value in the Master playlist updates during each playlist update;
Insignificant memory leak in the probe parent process;
Under certain conditions, the Media playlist content is displayed instead of the Master playlist though the task URI contains a link to the Media playlist;
The SCTE-35 Interval setting is ignored, when during a SCTE-35 ad insertion a stream is switched (an insertion stream has a different PSI table).
1.7.6 (2020.11.20 11:37:45 UTC)
[features]
SCTE35 splicing tags contained in playlists are registered as a separate event SCTE-35 Tag in OTT Playlist in the EVENTS journal. Event information includes both encoded tag metadata from playlist as well as its parsed content. In case the string cannot be parsed, the event SCTE-35 Tags Parsing Error occurs;
Implemented possibility to specify the starting position for the analysis offset in the playlist. The HLS analysis offset setting on thresholds page can be specified in seconds or percentage. For the VoD analysis, the “100%” value should be specified;
The Bandwidth Missed in Variant Stream event is added. It triggers if the Bandwidth field is not present in the Variant Stream description of the Master playlist or manifest. As a result, the analysis process is imposed with some restrictions. To learn more, read the event hint in the Web interface.
[fixed]
False detection of the PID Error for streams containing no PCR timestamps;
Incorrect RAM usage assessment;
The probe deletes zero size records when starting;
When analysing an HLS dump (if the manifest is static), input bitrate for the first downloaded segment is only displayed;
Crash of the probe process when Sniffer is started without the destination interface specified;
Significant memory leak when the probe frequently detects the Manifest Download Failure event;
Algorithm of Ad insertion detection discards the start time offset contained in the SCTE-35 cue;
Occasionally, the loudness measurement mechanism overstates the effective loudness result by several decibels. When task is restarted, the correct result is displayed;
The probe does not start analysis of updated playlist content if #EXT-X-MEDIA-SEQUENCE was not changed during updating. Namely, when a new event recording starts: the playlist type changes from VOD to EVENT, segment’s list for a previous record is cleared and replaced with several most recent segments; however, the #EXT-X-MEDIA-SEQUENCE tag value remains equal to 1;
The probe stops the OTT analysis with the CURLE_FAILED_INIT:”easy handle already used in multi handle” error;
Significant RAM usage when recording if RAM is selected for stream pre-buffering. When recording ended, the memory is released;
Memory leaks when recording is enabled in the profile settings and pre-buffering is performed to RAM;
When recording is manually started, fragments from the previous record may appear in archive of the new record;
The probe cannot save tasks and task configurations when there are no rights to read and modify the monitor.cfg configuration file;
When an analysing input stream is changed to another stream, information about program in the PSI table doesn’t update if the program number remains the same.
[known issues]
Detection of false MLR when recording is started and ended. The error occurrence correlates with the NIC load: the higher the NIC load, the more likely MLR detection.
1.7.5 (2020.07.09 07:25:05 UTC)
[features]
Support of the analysis of HLS services where for each client request of the Master playlist, unique URLs to Media playlists with limited time-to-live are generated (with the use of tokens). The option Update MasterPlaylist should be enabled;
Choosing the update period of the Master playlist.
[fixed]
States maxIAT Warning and maxIAT Error may remain active until the probe restart;
Under certain analysis completion conditions, a task does not appear in the list of Completed tasks;
When recording the HLS service, the same segment is repeatedly recorded. The issue occurs in case all segments have the same name;
False detection of the Audio Decodability Error for streams containing AC-3 audio;
False messages “buffer overflow, data skipped” in the probe console. Additional checking for the buffer overflow is added;
Permanent false detection of the PMT Error for the SIT table (PID 0x001F);
Message for the Manifest Download Failure error has malformed utf-8 characters;
Under certain conditions in the Player analysis mode, an HLS analysis task stops after the BadSource (No signal) state ends.
[known issues]
Wrong message “Subtask has been stopped. The Master playlist (Manifest) has significantly changed.” when completing the audio/subtitles analysis tasks in case the probe is in the Player mode, and switching to other Variant Stream occurs. This issue is expected to be fixed in the future release (Probe v.2.0).
1.7.4 (2020.06.18 12:03:14 UTC)
[fixed]
The probe sends green thumbnails, and detects the continuous video freeze for some MPEG2 videostreams;
The monitoring task incorrectly stops after the HLS VoD service analysis is completed (in the All Renditions analysis mode);
In case the first started task analyses RTP stream, Ethernet parameters are not displayed for the successive tasks;
If there are broadcasting outages, the process collecting Ethernet parameters crashes;
The parsing error of several descriptors in the SCTE35 splicing tags. The parsing has been brought into compliance to the ANSI/SCTE35 2019a standard;
Uncontrolled CPU usage and crashes of the probe processes. The issue often occurs for MPTS streams with QoE options enabled;
Monitoring tasks cannot be stopped with commands in the Web interface;
No IAT data when analysing a stream from the localhost interface for Windows 10 OS. For full-featured operation of the probe in Windows it is necessary to install the latest version of the Npcap library;
The option Analyze OTT QoS only is not applied;
Custom tags are not detected in HLS playlists after the Master playlist update registered by the probe.
1.7.3 (2020.05.27 08:51:18 UTC)
[fixed]
False detection of PTS/DTS Discontinuity errors when the Update MasterPlaylist option is enabled (for HLS services, in which values of the BANDWIDTH fields and links to Media playlists are updated following after the Master Playlist update). Fixed: the probe permits a change within 5% in BANDWIDTH without creating a new task;
False periodic detection of freezing when the Video Decodability Analysis option is in the Full mode and the Video Freeze Interval is set to 2s;
The BadSource error is not detected when the probe fails to identify the type of segment content. Fixed: the probe uses the default analyser (the QoS level);
Distortions on the IAT graph: two and more metric values are transferred per second;
On the Ads insertion graph, in and out points repeatedly occur. In the Task Events journal, SCTE35 splice commands are correctly registered;
While analysing HLS services, almost full data loss on the Audio Loudness graph occurs after a task exits the BadSource state;
While analysing HLS services, the Video Decodability Analysis detector in the Lite mode is not properly working. The correct RealFPS values are only displayed for the beginning of segments, then zero frame rate is detected what leads to false triggering;
In the HLS service record archive, the segment that could not be downloaded is not registered in the JSON description. The Segment Download Failure error is not registered in the JSON description as well;
In the record archive, the creation date of files is not correctly set;
Insignificant memory leak in the probe parent process.
1.7.2 (2020.04.29 10:03:22 UTC)
[fixed]
False detection of the Audio Track Missing state while monitoring the HLS service;
The Full mode for the Video Decodability Analysis option is not applied.
1.7.1 (2020.04.21 03:56:24 UTC)
[features]
Support of Alternative Renditions (Video, Audio and Subtitles) in HLS versions 4-7;
HLS service recording in the Player and All Renditions modes. Manual recording and recording by the SCTE35 and video freeze events are supported. The entire service structure is recorded: Master and Media playlists, media segments and a record description in the JSON format;
Detection of ad insertion tags contained in HLS playlists. Several standards are supported: RFC8216, ANSI/SCTE35 2017, Adobe, Elemental and SCTE-35 Enhanced;
Enhanced detection of the SCTE35 tags in a transport stream: SpliceInsert and TimeSignal commands are registered, as well as the presence of the SpliceNull and BandwidthReservation commands;
Detection of OTT custom tags in HLS playlists. With the help of filter groups, any tag occurring in Master and Media playlists can be registered;
Telegram messenger notifications for events in a project;
Import and export of the probe configuration in the CSV format. A part of the configuration can be inserted in the JSON format;
The new PCR Is Not Present event for UDP (RTP) is added. It is registered when the PCR is not detected in a stream for the 1-minute period;
The new Duplicated URI event is added. It triggers if some Alternative Renditions or Variant Streams have the same URI in a Master Playlist;
IGMPv3 support. A multicast source IP can be specified;
Support of compression of the data transmitted by the HTTP protocol (gzip);
Measurement of time to first byte (TTFB) is added. The duration from the time of an HTTP request to the first byte of the segment (manifest, key) being received by the probe is measured;
Registration of the actual IP address (after domain name resolving and redirecting to the last address) from where the OTT service data (playlists, media segments, keys) was received;
Configuring a thumbnails capture interval during the video freeze. Thumbnails at the beginning and at the end of the event or thumbnails from each keyframe can be captured;
The identification fields are added to the SNMP trap messages: sequenceId - identification number of a message; referenceNumber – reference number of a message used to connect messages referring to the error state occurrence and its completion;
The access speed to the Task Events journal has been significantly enhanced;
Work with configurations that are saved on the server is enhanced: added the possibility to edit and re-save the configuration file;
Enhanced view of events changes (PSI, Video and Audio information) in the Alarm journal and in emails. The difference between the current and the previous state is highlighted with color;
The useful bitrate (without null and TEI packets) and the current bitrate of all streams received by the probe are displayed on the TableView page;
Export of the TableView page to a CSV file. The display of live data on the page can be paused to view details.
[fixed]
For HLS services, the elementary stream bitrate is not correctly calculated in case the PCR timestamps are incorrect or rarely occurring. The issue is fixed: when analyzing HLS streams, the probe instantly switches to the use of PTS/DTS instead of PCR;
Information on a stream structure (PSI table) or video/audio stream headers is unavailable in some cases;
Information on utilization of the logical processors in the CPU load table is incorrectly displayed when its number exceeds 64. The problem is present only in the Windows version.
Release 1.6¶
Important
Important
1.06.11 (2020.02.03 02:30:08 UTC)
[features]
The new detector and the message in the Bad Segment Size event are added: “The segment [index] size (content-length) is equal to 0 bytes”.
[fixed]
The probe sends statistical data and events to the “future” if a task is restarted when the connection with the server is lost;
Significant memory leak when stream recording by event;
Cyclic restart of an analysis task or color distortions occurring in thumbnails captured from a video stream with 4:2:2 chroma subsampling;
The BadSource error is not detected, and any of OTT triggers do not work when the probe downloads zero-sized (content-length) segments;
False detection of repetitive Continuity Counter and PTS/DTS Discontinuity errors when a media playlist link is specified to the probe as a task, and the Update MasterPlaylist option is enabled.
1.06.10 (2019.12.05 08:11:43 UTC)
[features]
Npcap is recommended for using as packet capture library in Windows OS. While installing the library, WinPcap API-compatible Mode and Support Loopback Traffic options should be selected;
Logging of the time_signal() command is supported while detection of SCTE35 ad insertion.
[fixed]
Elecard logo is overlaid on thumbnails captured from a HEVC video stream;
The probe doesn’t send an incorrect playlist content to the server. Fixed: the probe sends up to 1 Kbyte of an incorrect playlist content. Delivery and displaying of text data only are guaranteed.
1.06.9 (2019.11.12 10:36:45 UTC)
[features]
Quick_Start_en.txt and Probe_as_service.txt documents included in the probe’s archive are updated.
[fixed]
Elecard logo is overlaid on thumbnails captured from a MPEG2 video stream;
False detection of Timestamps Discontinuity errors in the mode when the probe downloads segments’ body in a specified interval;
Periodic crash of an OTT monitoring master task (the General tab) when all stream variants analysis is selected;
Thumbnails are not captured if Timestamps Discontinuity detection disabled (when the Timestamps Discontinuity Interval threshold is “0”).
1.06.8 (2019.10.10 08:01:13 UTC)
[features]
The new detector and the message in the Manifest Error event are added: “Failed to parse the segment URL in the Media playlist or the segment URL has the .m3u8”;
The new detector and the message in the Manifest Error event are added: “Failed to parse a #EXT-X-KEY tag content”;
The new Download Segment Body option allows performing OTT QoS Analysis without downloading segment files, what significantly reduces the network traffic.
[fixed]
An error is not detected when network bandwidth is too low to download HTTP progressive download service. The issue is fixed: the Download Bitrate Low event will be registered.
The probe does not start HLS service analysis when the Media playlist contains incorrect segment or key URL. The issue is fixed, and two messages are added in the Manifest Error event (see [features]);
Network interface cannot be reassigned to automatic interface selection (according to system routing table) in OTT tasks. After selecting the empty value in the Network Interface IP field, the setting is added to the config file but not applied by the probe;
The probe does not detect PID Error and Audio/Video PID Error in streams, in which PCR is not found;
Significant memory leak when monitoring live OTT services with numerous segments in a playlist (Cath-Up TV). The temporary solution is implemented: the probe starts analysis of OTT services from the third last segment.
[known issue]
The probe starts OTT services analysis from the third last segment of the playlist. It is necessary to consider this behavior when monitoring live OTT services with numerous segments in a playlist (Cath-Up TV).
1.06.7 (2019.09.24 05:30:31 UTC)
[features]
The description of the command for installing the probe as a Windows service is added to the console command list:
streamMonitor.exe -R[service_name]
;The script of auto-installing the probe as a Windows service BoroServiceInstall.bat and its deletion script BoroServiceUninstall.bat are added to the probe archive
share/service-daemon
;The Zero Duration Segment event is added. It triggers if zero duration segment with segment size less than 564 bytes (three TS packets) is detected;
The Bad Segment Duration event is added. It triggers if declared segment duration is more or less than the estimated duration by 10 times. Estimated duration is calculated as the segment size divided by the declared bitrate.
[fixed]
The probe identifies links to HLS playlists as HTTP Progressive Download services if there is no M3U8 extension in the URL;
The probe does not start HLS service analysis when the HTTP server returns the status code 206 Partial Content;
The probe downloads and analyzes all segments in the updated playlist instead of a new one under specific conditions;
The probe does not respond after double-clicking
Ctrl+C
in the command prompt, the problem is present only in the Windows version;Two identical analysis processes are launched in one task when the stopped probe is started, and completed tasks are resumed at the same time;
Download Rate graph does not show some data while analyzing HLS service with segment duration more than one minute;
The BadSource error is not detected when downloading a segment with a declared duration longer than the actual one. The playlist is not updated, and the segments are not downloaded until the end of the declared duration period. The issue is fixed, and two events of declared duration verification are added (see [features]);
Pcap process does not start or, on the contrary, many of these processes do, which leads to significant consumption of server resources;
False spikes occur on the Multicast Rate chart of IPTV CBR streams in the Windows version;
Tasks with an empty URI field and the Rejected status are registered in the completed tasks section;
When analyzing HLS VoD services, the Invalid Elementary Stream state is erroneously detected;
There are no Ethernet parameters (IAT, SrcAddr, Mapping, etc.) in tasks of the probe running on the server with the numerous NICs.
1.06.6 (2019.07.03 06:39:57 UTC)
[fixed]
Video Freeze is not detected in the streams where P/B frame sizes are similar to I frame sizes;
The “Buffer overflow, data skipped!” error occurs for no apparent reasons at specific intervals;
Notifications do not contain information on broadcast sources (IP:MAC) when the Several broadcasters state is detected;
The probe version is not displayed in the log.
[features]
User notification in the probe console when packet capture library loading failed (the error cause and hints are displayed).
1.06.5 (2019.06.25 04:19:51 UTC)
[fixed]
IPTV monitoring tasks can get into a state when BadSource (No signal) is registered, while the IAT:MLR parameters are shown correctly. I.e. all Ethernet parameters are displayed correctly, but the graph has zero incoming bitrate. An incorrect task state may entail significant CPU consumption.
1.06.4 (2019.06.03 02:58:21 UTC)
[fixed]
High load of CPU (if compared with the release 1.05) for Windows builds;
False detection of the Audio/Video PID Error (ETR 101 290);
Memory leak when the Video QoE parameters are enabled.
1.06.3 (2019.05.20 09:41:44 UTC)
[fixed]
Significant memory leak when monitoring some stream types;
After a loss and subsequent recovery of the signal at the probe input the state Invalid video elementary stream disappears and is not detected again when monitoring TS containing invalid elementary stream;
The streams having several PMT sections with a common PID are incorrectly processed. The way of the probe operation with such streams has been changed. The sharedPmtPid field has been added to the program description (PSI event) that refers to some programs carried in packets having a common PID;
The way of the Audio/Video Decodability Error detection in encrypted streams and invalid elementary video streams has been changed. An error state is generated without an attempt of the stream decoding;
False detection of CC errors when monitoring some stream types.
[deprecated]
The HlsBitrateDeviation event (segment bitrate deviation by the stated value) is deprecated. The parameter has been replaced with the Actual Bitrate trigger that allows setting upper and lower bitrate thresholds in percent.
1.06.2 (2019.05.06 09:16:09 UTC)
[fixed]
Memory leak when pcrPID changes.
[features]
User notification in the probe console when connection with the server is not established (the error cause is displayed).
1.06.1 (2019.04.22 06:54:13 UTC)
[features]
Registration of audio stream description changes (audio stream headers change). Setting the corresponding trigger;
Probe installation as Windows service;
Recording IPTV streams;
Downloading records through WebRTC;
Checking Audio decodability;
Checking Video decodability;
Checking audio track presence;
Displaying of decoded audio bitrate and real video framerate;
Measuring and displaying of Momentary and Short-Term loudness;
“Silence” detection in an audio channel based on Short-Term Loudness. Setting the corresponding trigger and threshold;
Optional disabling of Master playlist update;
OTT delivery level analysis mode (analysis of the files downloading and analysis of playlists’ bodies without segments);
Selection of the probe actions in case of EndOfStream detection in OTT (playlist is not updated AND all declared segments have already been downloaded and analyzed);
Interlaced video detection in OTT;
Detection of the decreasing number of segments in a playlist (lower than the stated threshold) in OTT.
[fixed]
False detection of the Multicast Rate Underflow state when input signal is missing.
[known issue]
For HEVC QoE analysis, the system requirements (Linux glibc-2.27) are changed. A task is started on OS with earlier library versions, but decoder is not initialized.
Release 1.5¶
1.05.19 (2019.05.06 09:22:27 UTC)
[fixed]
Memory leak when pcrPID changes.
Too many service messages are displayed in the console log. Log level changed.
[features]
User notification in the console when the probe is successfully started and/or connection with the server is not established (the error cause is displayed).
1.05.18 (2019.04.29 09:00:45 UTC)
[fixed]
In case of PID Error detection and after disabling the detector (“0” value in threshold) the error state persists until new data occurs;
A parent process of a task for analyzing all profiles sets the BadSource state and the error status persists even if child tasks of profiles analysis can be successfully started. The profiles are successfully analyzed (playlists are updated, segments are downloaded), but the task remains in the BadSource state;
As the result of the openssl library update, probe version 1.05.16 has got new system requirements: glibc-2.17 and higher. The released version contains a fixed component that enables to reduce library version requirements: glibc-2.11 (standard requirements for probe versions 1.05.xx);
Probe crash in case of tasks starting process interruption with the probe stop signal (i.e. the probe is started and immediately stopped);
The probe cannot recognize channel names in some MPTS streams. The issue was detected in the Windows version only.
1.05.17 (2019.03.22 08:12:53 UTC)
[unreleased] This version has not been released due to Quality Assurance reasons.
1.05.16 (2019.03.22 08:12:53 UTC)
[fixed] A HLS segments decryption error occurs when an initialization vector changes but key URL is invariable. The error causes periodic synchronization loss in the beginning of each segment (sync byte error). It is related to HLS analysis.
1.05.15 (2019.03.15 10:46:34 UTC)
[features] Forced restart of a task process in 10 seconds in case of thread crash that does not lead to proper process completion.
Release 1.0¶
1.00 (2016.11.01 09:09:16 UTC) - First release
Version 0.1¶
0.01 (2014.11.07) - Initial version