Astra 4.4.182 (free)
Downloads
- Source Code
- 📁 x86
- 📁 ARM
- 📁 SH4
- 📁 MIPS
Adapter Configuration
Intro
dvb_id = dvb_tune({ ... })
make_channel({
name = "Channel Name",
input = { "dvb://dvb_id" },
})
General Options
-
adapter = "X"— DVB adapter number:/dev/dvb/adapterX -
device = "Y"— device number:/dev/dvb/adapterX/feY. Default:0 -
type = "TYPE"— DVB standard. Possible values:S,S2,T,T2,C,C/AC,C/B,C/A,C/C,ATSC,ASI -
modulation = "TYPE"— modulation. Possible values:NONE,AUTO,QPSK,QAM16,QAM32,QAM64,QAM128,QAM256,VSB8,VSB16,PSK8,APSK16,APSK32,DQPSK. Default:NONEfor DVB-S/S2;AUTOfor DVB-T/T2/C -
budget = true— disable hardware data filtering. Astra will receive the entire stream from the DVB adapter. This option is used to pass the whole transponder or for legacy DVB adapters without hardware filtering (e.g. SkyStar 2). By default, hardware filtering is enabled -
ca_pmt_delay = "SEC"— delay, in seconds, before sending channel information to the conditional access module. Default:3 -
buffer_size = "X"— DVR buffer size. Sets the valueDVR_BUFFER_SIZE = X * 10 * 188 * 1024(not recommended) -
raw_signal = true— output signal level in dBm. For TBS adapters, the driver option must be set:options tbsfe dbm=1 esno=1in the file/etc/modprobe.d/tbsfe.conf. DVB adapters with the CXD2820R demodulator report the signal level in dBm by default -
log_signal = true— log the signal level every second. By default, information is logged only when the signal state changes
DVB-S/S2
tp = "frequency:polarization:symbolrate"— transponder parameters:-
frequency— transponder frequency (MHz) -
polarization— polarization. Possible values:V,H,R,L -
symbolrate— symbol rate (KSym/sec)
-
lnb = "lof1:lof2:slof"— LNB parameters (local oscillator frequency)-
lof1— lower sub-band (MHz) -
lof2— upper sub-band (MHz) -
slof— switch frequency (MHz)
-
-
lnb_sharing = true— disable LNB control. Allows connecting several DVB adapters to one LNB via a passive splitter. On the splitter, one adapter must be active:lnb_sharing = false, the other DVB adapters must be passive:lnb_sharing = true. All adapters on the same splitter must work with the same polarization and in the same sub-band (frequency above or below the slof value) -
diseqc = "X"— DiSEqC switch port number. Default:0- DiSEqC is not used -
tone = true— send a 22 KHz tone signal -
rolloff = "X"— optional. spectrum efficiency (the lower the value is the denser carrier space is). Used only for DVB-S2. Possible values:AUTO,20,25,35. Default value:35 -
uni_scr = "X"— optional. UniCable slot number. The UniCable protocol permits you to connect several tuners with the same cable -
uni_frequency = "X"— optional. UniCable slot frequency (MHz) -
stream_id = "X"— optional. PLP stream ID. Only for DVB-S2 and DVB-T2
Example:
adapter_0 = dvb_tune({
adapter = "0",
type = "S2",
tp = "11044:V:43200",
})
DVB-T/T2
-
frequency = "X"— carrier frequency (MHz) -
bandwidth = "AUTO"— optional. band width around carrier frequency. Possible values:AUTO,6mhz,7mhz,8mhz. Default value:AUTO -
guardinterval = "AUTO"— optional. guard interval length. Possible values:AUTO,1/4,1/8,1/16,1/32. Default value:AUTO -
transmitmode = "AUTO"— optional. modulation operation mode (FFT value). Possible values:AUTO,1K,2K,4K,8K,16K,32K. Default value:AUTO -
hierarchy = "AUTO"— optional. use of hierarchical coding (two transport stream on one carrier). Possible values:NONE,AUTO,1,2,4. Default value:AUTO -
stream_id = "X"— optional. PLP stream ID. Only for DVB-T2
Example:
adapter_0 = dvb_tune({
adapter = "0",
type = "T2",
frequency = "498",
})
DVB-C
-
frequency = "X"— carrier frequency (MHz) -
symbolrate = "X"— symbol rate (KSym/sec)
Example:
adapter_0 = dvb_tune({
adapter = "0",
type = "C",
frequency = "360",
symbolrate = "6900",
modulation = "QAM64",
})
ATSC
-
frequency = "X"— carrier frequency (MHz)
Example:
adapter_0 = dvb_tune({
adapter = "0",
type = "ATSC",
frequency = "360",
modulation = "VSB8",
})
DVB-ASI
DVB-ASI does not require additional parameters, only the adapter number
adapter_0 = dvb_tune({
adapter = "0",
type = "ASI",
})
Stream Configuration
Terms
-
SPTS— Single Program Transport Stream, a stream with a single program -
MPTS— Multi Program Transport Stream, a multiplex, a stream with several programs -
PNR— Program Number, also known as SID (Service ID). A unique program number in the stream -
PID— Packet Identifier, each service table and data in the stream has a unique identifier -
PAT— Program Association Table, the general list of programs in the stream -
PMT— Program Map Table, program information
make_channel
Forming an SPTS from an MPTS or passing the entire stream unchanged
make_channel({ ... })
Required Options:
-
name = "..."— channel name, used in the logs -
input = { "module://address#options", ... }— list of addresses for receiving. By default the first address is used. If the active input is unavailable or contains errors, Astra switches to the next source. Astra switches back when reception is restored. -
output = { "module://address#options", ... }— list of addresses for transmission. The stream is sent to all addresses in the list
Additional Options
-
enable = false— disable the channel. By default the channel is enabled -
timeout = X— delay in seconds for switching between sources. By default Astra switches immediately in case of a source failure and back -
map = "..."— change data identifiers (PID). -
set_pnr = X— change PNR -
set_tsid = X— change TSID (Transport Stream ID) -
http_keep_active = X— the option applies only to channels with HTTP output. By default0- stop the channel immediately after the last client disconnects.-1the channel is always active. If the value is greater than0, Astra will stop the channel the specified number of seconds after the last client disconnects -
service_provider = "..."— change the provider name in the channel information -
service_name = "..."— change the channel name
Example: receiving a channel from a DVB adapter. Transmitting test-pattern.ts if the main source is unavailable:
make_channel({
name = "Discovery",
input = {
"dvb://dvb_id#pnr=1040&cam",
"file:///opt/media/test-pattern.ts#loop",
},
output = {
"udp://239.255.1.1:1234",
},
map = "pmt=100, video=101, audio=102",
})
Examples
Receiving a DVB Stream
adapter_0 = dvb_tune({
type = "S2",
adapter = 0,
tp = "11245:H:27500",
lnb = "11250:0:0",
})
make_channel({
name = "Channel Name",
input = {
"dvb://adapter_0#pnr=2000"
},
output = {
"udp://239.255.1.1:1234"
}
})
DVB-CI Decryption
adapter_0 = dvb_tune({ ... })
make_channel({
name = "Channel Name",
input = {
"dvb://adapter_0#pnr=20030&cam"
},
output = {
"udp://239.255.1.2:1234"
}
})
SoftCAM Decryption
adapter_0 = dvb_tune({ ... })
reader_0 = newcamd({
name = "Reader #0",
host = "192.168.1.2",
port = 20000,
user = "user",
pass = "****",
key = "0102030405060708091011121314",
})
make_channel({
name = "Channel Name",
input = {
"dvb://adapter_0#pnr=1003&cam=reader_0"
},
output = {
"udp://239.255.1.3:1234"
}
})
BISS Decryption
adapter_0 = dvb_tune({ ... })
make_channel({
name = "Channel Name",
input = {
"dvb://adapter_0#pnr=1003&biss=1122330044556600"
},
output = {
"udp://239.255.1.1:1234"
}
})
Source Backup
adapter_0 = dvb_tune({ ... })
make_channel({
name = "Channel Name",
input = {
"dvb://adapter_0#pnr=100",
"file:///mnt/sda1/test_pattern.ts"
},
output = {
"udp://239.255.1.4:1234"
}
})
Media Address Format
Square brackets denote the optional part of the example
Introduction
The media address describes the parameters for receiving and transmitting data. Address format:
module://address#options
module—address— address for receiving or transmitting. Each module has its own address formatoptions— options are divided into two types: general options and module options. General options can be used with any module. Module options - each module may have its own set of additional options
DVB
DVB is available only for Input.
The DVB module supports two address formats. The first format, by DVB adapter identifier:
dvb://dvb-id
-
dvb-id— DVB adapter identifier, set in the adapter configuration
The second method is an address with all parameters for signal reception. This method is used in Astra Femon and Astra Analyze. Examples:
astra --femon "dvb://#adapter=0&type=S2&tp=11044:v:43200"
UDP/RTP
udp://[interface@]address[:port] rtp://[interface@]address[:port]
-
interface— IPv4 address or network interface name. By default the system routing table is used -
address— IPv4 address of the stream. Multicast or Unicast -
port— port number. Default:1234
Options for UDP Output:
-
ttl=TTL— number of UDP packet hops. Default:32
Examples:
udp://239.255.1.1udp://eth0@239.255.1.1udp://127.0.0.1:10000
HTTP
http://[login:password@]address[:port][/path]
login:password— login and password for HTTP authorization. Supported: Basic, Digest. Input onlyaddress— IPv4 address or host domain name. For Output - a local interface address or0to accept connections on any interfaceport— port number. Default:80path— resource path. Default:/
Options for HTTP Input:
ua=USER-AGENT— custom User-Agent value. Default:Astratimeout=TIMEOUT— server connection timeout, in seconds. Default:10buffer_size=SIZE— receiving buffer size, in kilobytes. Default:1024
Options for HTTP Output:
buffer_size=SIZE— connection buffer size, in kilobytes. A buffer is allocated for each connection to prevent data loss during delays in data transmission. Default:1024buffer_fill=SIZE— minimum amount of data, in kilobytes, that must be accumulated before sending to the client. Default:256
Examples:
http://192.168.0.1:8000/udp/239.255.1.1:1234— receiving an HTTP stream from Astra Relay
MPEG-TS File
file://path
path— file path
Options for MPEG-TS File Input:
loop— restart playback from the beginning after the file ends
Options for MPEG-TS File Output:
aio— use asynchronous file writing
Examples:
file:///mnt/raid0/file.ts— full file pathfile://./file.ts— file path relative to the working directoryfile:///mnt/raid0/test-patter.ts#loop
General Options
General options for any Input type:
pnr=PNR— program number, also known as SID (Service ID). Extract the channel with the specified number from the streamset_pnr=PNR— change PNR. The value must be in the range from 1 to 65535set_tsid=TSID— change TSID (Transport Stream ID)biss=1122330044556600— BISS key for stream decryptioncam— use DVB-CI for stream decryptioncam=CAM-ID— use Softcam for stream decryptionecm_pid=PID— set ECM PID (not recommended)shift=X— decryption buffer size for the incoming stream, in megabits, allows delaying stream decryption. This option may be required for "Sky" channels. To calculate the value, multiply the stream bitrate by the delay time in seconds. For example 10 Mbit/s * 3 seconds gives shift=30cas— pass service data about conditional access systems. Used to transmit an encrypted streamfilter=N,...— stream filtering, remove data with the specified identifiers (PID). Identifiers are listed separated by commasmap.SRC=DST— change data identifiers (PID) to the specified values.SRC- original identifier or data type. Possible types:pmt,video,audioor a language code.DST- required identifier. The value may be in the range from 16 to 8190pass_sdt— pass SDT without processing. By default, if thepnroption is set, Astra passes information only for the selected streampass_eit— pass EIT without processing. By default, if thepnroption is set, Astra passes information only for the selected streamno_reload— disable checking for changes in the stream