Grafana is a convenient monitoring service. In this article, we will review the process of setting up Astra and Grafana to collect and analyze statistics.
Nginx is an HTTP server and reverse proxy that can be used in conjunction with Astra to offload its http server.
SimulCrypt is a common protocol among operators that use different conditional access systems but one encryption algorithm.
Setting up iptvpotrtal and astra
To ensure fault tolerance in case of failure of the server-it is possible to use several servers running in High-availability mode.
HTTP Play - is a simple way to provide access to the channels with HTTP or HLS protocols.
The article describes the difference of 3 protocols
During initial setup, it is sometimes necessary to import a large number of channels in Astra
Astra records information about its status, results and errors in the log file. Standard location of logs in the folder /var/log/
This article describes how to use the built-in analyzer
This article describes how to configure the DVB adapter in the Astra web interface
Settings are in Settings -> HLS
HbbTV: drop original AIT stream if "HbbTV URL" defined HTTP Output: HTTP headers for CORS
To activate the license go to Settings -> License
Media address has three parts: type://address#options
PID - TS Packet identifier Elementary streams (video, audio) and information tables are packed to the TS-packets. Each packet has unique identifier - PID.
Аn interrupt request (or IRQ) is a hardware signal sent to the processor that temporarily stops a running program and allows a special program, an interrupt handler, to run instead. Hardware interrupts are used to handle events such as receiving data from a dvb or network card, key presses, or mouse movements.
The IGMP version could be defined in the /etc/sysctl.conf file. For example setup IGMPv2 for eth1 interface: net.ipv4.conf.eth1.force_igmp_version=2
Installation drivers for DigitalDevices and TBS DVB adapters
To save power, cpu manufacturers programmatically reduce the frequency of the processor. You can find out the current and possible frequency with the command:
Simulcrypt - is a DVB protocol to enable use of multiple Conditional Access Systems in the same channel at the same time.
This method works with any Astra version
Export of statistics and events allows you to transfer data on the status of incoming streams, DVB adapter via HTTP in JSON format.
EPG is an electronic program guide. EPG Export extracts the program guide from the receiving stream and saves it into the local file or sends it to the some server.
When the server boot, DVB adapters can be initialized randomly, which will cause the adapters to swap places.
Sometimes it is necessary to reserve a source, or when the main source is lost, start broadcasting the screen saver. For this purpose, it is possible to use several inputes.
API (Application Programming Interface) is a set of methods that allow to access the features or data of Astra from external applications.
Authorization allows you to control access to channels and allows you to save viewing statistics.
Tuning of the network options prevents data loss and maximum bandwidth.
np_output: reconnect on client buffer overflow (transmitting rate less than stream rate) dvb_input: send Ok code to MMI menu by default dvb_input: fix DVB-S2 multistream http_input: crash on reconnect in some cases
List of useful command to performance analysis:
simulcrypt: super_cas_id, channel_id, stream_id in error messages simulcrypt: allow 0 for channel_id and stream_id pid-mux: failure if donor-stream has errors web: fix dvb signal status in scan
udp_input: crash on restart input after the receiving error
web: fix (not works if port 80). deployed simulcrypt: big ECM packets
simulcrypt: option EMM Clone - duplicates EMM packets for all streams with same CAS web: option to disable/enable servers: Settings -> Servers -> Enable web: app option –no-web-auth to disable authorisation to the web interface (admin access without password) reserve: removed option backup_force_return, now enabled by the default. if all inputs inactive (all inputs not work), then astra switch to any active input immediately, without delay pid-mux: an input option to append any PID into the input. for example append audio stream into the RTSP stream from cameras. the donor stream should be in udp. example usage: rtsp://192.168.88.8/stream_1#mux=127.0.0.1:10000&mux_pid=304 where 127.0.0.1:10000 - is UDP stream (same as UDP-input, but without udp:// prefix), 304 - is PID from this UDP stream
watchdog: unexpected exit with custom watchdog value
web: allow access to web interface with remote config astra -c http://... -p 8000 slave mode: adapters and channels keep inactive while master process is alive. for example: astra -c /etc/astra/astra.conf -p 8000 --slave http://192.168.1.1:8000
file_input: fix loop with small files
web: fix for API debug messages file_input: fix loop http_input: fix seg.fault on HTTP error
demux: skip TS packets with transport_error_indicator http_input: fix HTTP redirect for HLS streams simulcrypt: improve compatibility with Irdeto simulcrypt: fix long EMM packets simulcrypt: fix CC error for ECM/EMM packets mpegts/sync: pcr out of range to debug messages file_input: fix loop web: option to login without authentication
dvb_input: fix stream_id option (multi plp on dvb-t2) simulcrypt: do not scramble stream while ECMG is not ready simulcrypt: fix reconnect to ECMG server simulcrypt: do not update CW and ECM if ECMG is not available analyze: do not mark stream as scrambled if no PES-errors (some streams have a scrambled bit but actually not scrambled) watchdog: increase watchdog delay for http_input if buffer_time option used
fix 32bit version http_input: disable persistent connections by default (option no_keep_alive not needed) http_input, rtsp_input, udp_input: watchdog option, in seconds, time before restart an input.
http_input, rtsp_input, udp_input: watchdog. restart stream on receiving timeout segmentation fault on analyzing corrupted streams (on bad weather for example) web: fix user login in sessions list (empty in some cases) web: refresh browser cache on version change
Configuration of the Linux kernel packet scheduler
mpts: "LCN Version" instead of "Private Data Specifier Descriptor" core: cache information about network interfaces (prevents CC errors on web reload)
t2mi: option t2mi_pid it950x-output: DVB-T modulator by http://www.hides.com.tw/ mpts: "Private Data Specifier Descriptor" in NIT options (for Nordic LCN) interface: in mpts options renamed tabs: Service to SDT, Delivery to NIT interface: fix CC errors on interface opening
interface: asks to change default password on first launch interface: remove leading and trailing spaces in input/output address interface: don't load log archive. in log only new messages make_mpts: crash on use make_mpts function in lua-script mpts: automatically increment PAT/CAT/NIT/SDT versions on save changes api: ignore EIT on scan hls: change default segment options: quantity:6 duration:5 dvb: option "mxl5xx_snr" to scale SNR value for MaxS8. in the web "Advanced" -> "Scale DD MaxS8 SNR"
Simulcrypt: fix reconnect to ECMG on "response timeout" Simulcrypt: reconnect delay and message to the log Web interface: clone button for Settings -> CAS Timer: fix bug. false call in some cases (not in time)
Input: option "order" fix Input: option "lang" with option "map" fix Web interface: fix Settings -> Softcam -> Streams Input: option "filter_em=PID-list" drop ECM/EMM packets with defined PID
HTTP-Input: fix Basic-authentication (send Basic header on first request) DNS: ignore /etc/hosts Web interface: move groups in category (Settings -> Groups) Web interface: write to log failed login attempts
RTSP-Input: send GET_PARAMETER request each 30 seconds to keep connection active RTSP-Input: restart stream on stop receiving Playlist: sort alphabetically or by the channel number Input: option order=PID-list. arrange PMT table. read more: https://cesbo.com/en/input/order/ Input: option lang.PID=CODE. setup language code for elementary stream. read more: https://cesbo.com/en/input/lang/ EPG Export: content_descriptor
Installation of the Cesbo Astra is a simple process - enough only one binary file.