On a sunny day (Thu, 4 Aug 2011 13:33:37 -0400) it happened "Tom Del Rosso"
Post by Tom Del RossoPost by Jan PanteltjeI am not sure what you mean,
I assume you don't have waveguide going into the card, but I don't know if
there is a standard downconverter that is the same for all satellites.
There is a standard downconverter, 'LNB' for the normal commercial sats.
Post by Tom Del RossoPost by Jan Panteltjebut the setup is dish -> LNB -> satcard
->
software.
with
common
interface | CAM
(=conditional access module) | card
I dunno if your sat program are encrypted, but there are several Hauppage
models that accept a common interface that will accept a card.
So that module must be specific to the satellite you use, but who sells
those?
No it works like this:
The transmitter 'transponder' in the satellite has a bandwidth of about 38 MHz.
In that bandwidth a stream of data called transport stream, 'TS' is send.
This is a packetized (word?) stream, consisting of little 188 byte packets.
In each packet is a stream indentifier called program ID, 'PID".
As the name says, the PID says which TV channel the data in the 188 byte packet belongs to.
The receiver hardware or software parses the TS stream and filters out the program you want to watch.
There are many types of other streams transmitted apart from the program stream, each with their own PID,
some hold information about what PID belongs to what SID (service ID),
the service ID being that what the sat provider gives you.
So for example lets look at a real case, I run my software and type:
show bbc2 <- 'show' is is a script that I wrote that looks up BBC2 and returns the sat positon and SID).
Then it dumps this at the terminal (I have edited it so it becomes shorter, and added some comments):
show: selected program=bbc2
show: using astra2 26.0 E <- sat position 26 degrees east of due south.
show: current_angle=26.0 E
same angle 26.0 E <- was already pointing to this satellite, so no need to power on the dish motor.
show: move_command=0
xine: no process killed <- uses xine as player for the program, kills any old instance if it was still running (facilitates zapping).
executing /usr/local/bin/xdipo -c 1 -g '26.0 E' -f 10773 -p h -s 22000 -a 8192 || exit 1 <- starts xdipo (x dish positioner) I wrote that program.
xdipo: HAVE LOCK <- reports tuner PLL locked.
show: have LOCK <- 'show' script now knows about it.
show: no player specified, using xine as default player <- what is says.
show: using xine -D -gf stdin:/
executing /usr/local/bin/xdipo -c 1 -g '26.0 E' -f 10773 -p h -s 22000 -a 8192 -o | /usr/local/bin/jpinfo -p 6302 | /usr/local/bin/jpvtx | xine -D -gf stdin:/
Note: -a 8192 passes the whole transport stream, all PIDs, it is nice to have te commadn line, then I can cut and paste if needed.
-s 22000 is the 'symbol rate', -f 10773 the frequency, -p h stands for horizontal polarisation.
-o dumps to stdout (Unix), and the signal is then piped via 'jpinfo', 'jpvtx' to 'xine'
-p is the servcie ID (SID for BBC2
jpinfo finds the PIDs for this service ID, and passes only those to the programs further down the chain,
All this stdin to stdout, the old Unix way.
xine gets fed a TS with only mpg video and mp2 audio, it has a build in demuxer for .ts format.
jpinfo-0.2 By Jan Panteltje <- 'jpinfo' finds the PIDS for the gives SID in the PID nr 0 in the transport stream, PID0 always has that info, is always parsed.
jpinfo: program_number=6302 pass_all_flag=0 language=eng fast_flag=0 info_only_flag=0 debug=0
jpvtx-0.2.2 (c) Jan Panteltje 2005 <- videotext (teletext / ceefax decoder, something Europe only has I think, on screen text and info.
This is xine (X11 gui) - a free video player v0.99.4. <- xine media player has started
(c) 2000-2004 The xine Team.
xdipo: HAVE LOCK <- already knew that :-)
pid 0, using program_number=6302 <- this is from the 'show' script, once manually entered.
PAT seclen=41 <- the PAT is an other stream in the TS that hold info releated to that SID.
Read 44 bytes - Found 8 services <- seems there are 8 services 'SIDs' transmitted by this transponder.
Found program number 6301 <- not what I was looking for, just testing one by one upwards.
Found program number 6302 <- got it, this is what I want.
Program number: 6302 PMT pid: 258 (0x102) <- The PAT tells us that more info about this SID is in the PMT stream with PID 258.
pid 5100 (0x13ec) video type is mpeg2
Language = eng pid 5101 (0x13ed)
Language = NAR pid 5102 (0x13ee)
found unknown stream in pid 5103 (0x13ef), type 0x6, sub type 0xf.
pid=3846 pid type=11 (0x0b), dunno what pid this is.
pid=3847 pid type=11 (0x0b), dunno what pid this is.
pid=3848 pid type=11 (0x0b), dunno what pid this is.
pid=3849 pid type=11 (0x0b), dunno what pid this is.
found unknown stream in pid 5104 (0x13f0), type 0x6, sub type 0xf.
found unknown stream in pid 3840 (0xf00), type 0x5, sub type 0x52.
found unknown stream in pid 3841 (0xf01), type 0x5, sub type 0x52.
found unknown stream in pid 3842 (0xf02), type 0x5, sub type 0x52.
found unknown stream in pid 3843 (0xf03), type 0x5, sub type 0x52.
found unknown stream in pid 3844 (0xf04), type 0x5, sub type 0x52.
found unknown stream in pid 2321 (0x911), type 0x5, sub type 0x52.
found unknown stream in pid 2322 (0x912), type 0x5, sub type 0x52.
found unknown stream in pid 2323 (0x913), type 0x5, sub type 0x52.
found unknown stream in pid 2329 (0x919), type 0x5, sub type 0x52.
setting PIDS for program number 6302 (0x189e): < jpinfo takes decisions :-).
video_pid=5100 (0x13ec) <- mpeg2 stream.
found 2 audio channels, pid: 5101 (0x13ed) 5102 (0x13ee)
selected_audio_pid=5101 (0x13ed) language=eng <- this is main audio, I happen to know the other one is narrated (NAR).
no HbbTV pid found <- new type of teletext, Germany RTL etc uses this.
no ac3 pid found <- normal audio is mp2,
no teletext pid found
no subtitle channels found
no ecm pids found <0- the ECM hold encryption information, BBC2 is not encrypted, so this stream is not preset.
Now about this ECM:
IF the stream on that PID is encrypted, then it is encrypted with 'triple DES'.
A new key is needed (transmitted) about every 10 seconds.
The CAM (conditional access module) has a special crypto system that differs from sat provider to sat provider,
and, with data found via the ECM stream, decrypt against the keys in your card, and every 10 seconds send the new
generated correct key to the triple DES decoder for that PID.
So each crypto system has a CAM, some CAMS can decode several cryoto system, all in combination with the right viewing card.
The CAM module fits in a slot in the sat box (or card) and the card fits into the CAM module.
Sometimes the CAM software is already integrated in the sat box, not normally the case for a PCI sat card.
The question that you must answer is:
Is there a CAM module for the crypto system your sat provider uses?
If so does the PCI sat card accept such a module?
And has it the correct software support?
Does the sat provider sell a CAM module?
Post by Tom Del RossoPost by Jan PanteltjeYou would have to check with that sat provider if their cards work in something like this
setup.
OK. I had no idea that satellite subscription services offered that kind of
hardware.
Does free satellite simply bypass that module?
Free satellite does not encrypt any PIDs, the triple DES decoder is not activated,
and the CAM module (either in software or hardware) is not needed.
Post by Tom Del RossoPost by Jan PanteltjeI have 2 sat cards, an old skystar 1 (that has a car interface),
and a wintvnova (Hauppage) that does not.
In the old days there was much software to decrypt programs,
these days people get executed for mentioning the existence of
software to do things like that,
so I cannot comment on that, although this morning I had a cool idea
You can record before decryption? I thought that would be impossible
No problem recording an encrypted stream.
But if you ever wanted to decrypt it (and view it) then you also need to record the
PIDs for the ECM PAT PMT etc that hold the changing encrypted keys.
That then later can be decrypted by the card - CAM combination.
Recording is never a problem, I can simply record a whole transponder.
This can be nice if for example BBC1, BBC2, BBC3 are on the same transponder and good movies on at the same time.
You need a lot of disk space though, 38 Mbits/s gives several GB / hour.
Post by Tom Del Rossobecause some stages of the tuner hardware need frame sync or something,
although I don't know the structure of MPEG.
No no frame sync, maybe you are talking about Viterbi decoding, that needs to be locked.
I usually have zero bit errors all the time, but sometimes a big thunder cloud completely wipes ou the signal,
but that is rare (mayfe 2 times a year).