Capturing Satellite Video
This article describes various aspects of receiving a signal from a broacast satellite.
In this article:
Television satellites hang in geostationary orbit above the equator. Their position above the Earth is constant, therefore, the satellites are identified by the longitude they hang at. For example, satellite ABS 2 rotates around the Earth, constantly being above 75° EL.
Geostationary position makes installation of satellite dishes very simple : simply orient it to the desired point and don't rotate the dish.
Since the satellite is over the particular longitude, usually different satellites are used to broadcasting certain sets of channels. For example, satellite Appstar-7 76.5°E is filled with Indian channels, and satellite Galaxy-17 91.0°W is more used for broadcasting channels for the USA.
It is important to note that some satellites have several beams, i.e. the zones of the maximum reception. The channels in the beams may be different. For example, the same satellite may broadcast one set of channels to Russia, and another one to Thailand.
Many transponders leave the same satellite in the same beam. A transponder is a single digital channel, for receiving which it is necessary to configure the capture card to a specific frequency and polarization.
I.e. from the same satellite, multiple frequencies and multiple polarizations are simultaneously broadcast.
Polarization may be left/right, or horizontal/vertical. Household satellite dishes (or rather the heads of these dishes, or converters) are able to receive both polarizations to the same outgoing cable, but do it poorly. Professional converters receive all polarizations, but to different outputs.
This separation is caused by the fact that for switching the reception polarization, the capture card supplies 13 or 18 volts. Below is a polarization and voltage correlation table:
Some receivers specify voltage, and others state polarization. In fact, everything is reduced to supplying voltage.
If a simple splitter is used to join two capture cards and supply 18 V to first of them, and 13 V to the second one, the second one will not receive the signal.
Some receivers can switch off the voltage. In this case, they are to be connected with a splitter to another receiver/capture card that still delivers the voltage.
Frequency bands from the satellite are conventionally divided into top and bottom bands. The border is approximately at 11,700 MHz.
When capturing frequencies below 11,700 Mhz, the heterodyne frequency (LNB Frequency) is usually set to 9,750 MHz. When capturing frequencies above 11,700 Mhz, the heterodyne frequency is usually set to 10,600 MHz.
After the wires are connected correctly, without messing up with voltage, the desired frequency is set on the receiver and the heterodyne, and the receiver has automatically selected FEC (the number of bits to control error) and modulation (QPSK, 8PSK, etc.), the receiver starts receiving the bit stream, i.e. the transponder.The transponder is an MPEG-TS stream and makes it possible to pack many channels with different language tracks and subtitles into one stream. A household satellite receiver makes it possible to pick only one channel from the transponder, but professional receivers and DVB PCI capture card allow picking all channels from the transponder. The structure of an MPEG-TS stream in the transponder will be described in more detail below.
Most of the channels on the satellite are broadcast encrypted. Encryption is used to control access to channels of different users: those who have paid for the next month watch TV.
The procedure of decrypting satellite channel is called descrambling, and the encrypted channel itself is called a scrambled channel.
The mechanism of controlling access to the satellite channels is called Conditional Access (CA), in Russian terminology the term "conditional access" is used.
To date, there are various encryption schemes, but basically all modern schemes work approximately as follows:
- the subscriber receives an access card (resembling a large, uncut SIM card with similar chip);
- the access card has a private key;
- once a month, the packet key is changed;
- the packet key encrypted with the public key of the card is sent to each subscriber via the satellite;
- access card remembers the packet key;
- the stream key encrypted with the packet key is changed once a minute for each channel;
- if the user received a packet key and managed to decrypt it, he can get access to the channel;
This scheme has variations and complications, but conceptually the scheme is like that. If the satellite operator is not paid, at the end of the month he will not send the updated key, and the card will not be able to decipher the channel. From the technical point of view, there is a sad situation with descrambling. Satellite operators and the pirates are engaged in a long and unsuccessful struggle with each other, which affects operators. When a usual subscriber buys a household satellite dish, he gets an access card and the household satellite receiver with a chip for descrambling one channel according to the encryption scheme that is chosen by the operator. Conventionally speaking, a receiver for NTV+ is not suitable for Continent-TV.
The operator technically cannot use 200 household receivers, so professional receivers are used, which capture all channels from the band, rather than one. However, the official method of descrambling offered by operators involves the use of special CA modules. It is a circuit board similar to the PCMCIA module that the access card is plugged into.
The CA module descrambles channels independently. To do so, it picks up the channels from the head-end station, descrambles them and sends them back.
The problem is that even for a professional CA module, descrambling of 8 channels is an extreme load. Taking into account that many transponders today contain up to 30 channels, it turns out that the same transponder is to be captured via a splitter several times, using expensive capture cards or the head-end stations.
A detailed description of the process of descrambling on a head-end station, or using a computer, is beyond the scope of this description, especially considering the fact that valid schemes of descrambling should be agreed upon with the content provider, in order not to violate the criminal code.
The traditional way of ingesting a satellite broadcast is using so-called head-end stations.
A headend station is a dedicated satellite receiver that can capture more than one channel (up to hundreds).
More expensive head-end stations, such as WISI Compact Headend systems, provide a higher density in comparison with cheaper ones:
Instead of 1-2 transponders in a 1U housing, up to 24 ones can be captured. However, one won't be able to descramble all of them, since in this case the number of transponders will be reduced to 12 (space is needed for CI modules), and a professional head-end station cannot descramble more than 8-10 channels from the same transponder, because it is, essentially, an extremely expensive but a weak computer.
An alternative way is using a PC for capturing from the satellite.
An ordinary PC can adopt up to 7 such cards (the main thing is to find an appropriate motherboard). It should have either 4 outputs, or 2 outputs with a CI module.
When buying such cards, it is very important to check whether they support Linux at the LinuxTV project website. Who would be interested in a card that is only Windows-compatible?
Flussonic supports video streams no matter which equipmenet was used to ingest them. So the choice of the equipment depends on your budget and technical preferences. Also, you should consider maintenance costs.
To build up a head-end, you can choose a separate hardware solution or a hardware board that you use with an x86 platform.
Hardware solutions are more expensive and less flexible in terms of configuration. To configure them, you are usually limited to using a web interface. To make up for it, vendors of such hardware guarantee stable capacity, long continuous operation, and excellent support.
By contrast, software solutions that you use to manage a hardware board on a computer, are extremely flexible in operation and maintenance. They allow managing their settings through configuration files, and Linux provides rich opportunities for debugging compared with closed-code head-end stations.
As it has been said before, a transponder is an MPEG-TS stream. The MPEG-TS transport container allows packing many streams running simultaneously into the same byte stream, providing a standardized method for selecting the desired sub-stream. One TV channel is called a program. An MPEG-TS that contains only one program is called an SPTS, a Single Program Transport Stream. The satellite broadcasts an MPEG-TS that contains a lot of programs; it is called an MPTS - a Multiple Program Transport Stream.
MPTS is convenient for transmitting in the media like satellite or cable, when the band is fixed, and, in order to smooth the traffic, the stream is even supplemented by unnecessary bytes. SPTS is convenient for transmitting over IP, when the client needs a single channel, rather than the entire huge transponder.
The process of mixing multiple SPTSs to MPTS is called multiplexing, and is usually performed prior to sending a stream to a satellite or a cable. The process of splitting an MPTS into several SPTSs is called demultiplexing, and occurs during reception from the satellite.
MPTSs are passed via IP very rarely, for example for the purpose of transmitting from the satellite to the cable.
The MPEG-TS itself is a sequence of packets 188 bytes each. The first byte is always 0x47, and it is used for statistically significant synchronization in the stream.
The following three bytes contain an encoded 13-bit number of the stream inside MPEG-TS. This number is called a Pid, and therefore the sub-flow is called a Pid in professional slang.
There are several standard Pid numbers that are reserved for the system needs. Conventionally speaking, these are all numbers up to 32.
The stream with Pid 0 contains information about the programs existing in this MPEG-TS stream. This information is packed into PAT, Program Adaptation Table. A PAT is one of the variants of PSI information. PSI, or PSI tables, stand for the meta-data supplied in the MPEG-TS stream and is only needed for obtaining access to audio/video, or for obtaining additional information, e.g. line-up, or information about channels in other transponders.
It is important to understand that all PSI tables were designed for the cases where the receiver receives no data, except from the satellite. Therefore, the majority of PSI tables for IPTV of the OTT service have no meaning: the line-up is often lousy, and information about other transponders is generally pointless.
The PAT contains information about which numbers of programs (pnr, program number, service id) are in which pids. These pids will contain PMT (program mapping tables), rather than audio/video streams. PMT will contain information about which pid the stream belongs to, and which pids contain various languages of videos.During setup, demultiplexing can be adjusted using pids and pnr. The latter is more preferable, since pids on the satellite may be reconfigured without warning, and program numbers usually don't change.
The process of capturing video from a satellite is as follows:
the administrator configures (at the headend station or by using special software) the capturing from a correct input, correct frequency and with required polarization
the stream is descrambled either via a CA module plugged into a CI slot, or programmatically, using a Phoenix card reader
the stream is demultiplexed from MPTS into several various SPTS, according to settings (most likely using pnr)
several separate SPTS are streamed into the network via a multicast
In a classic IPTV, this is where it ends, clients receive their multicasts via a cascade of routers communicating over the PIM Protocol, but in our case, it's only the start, since next the resulting video has to be transcoded