SSTV, imagem transmitida como som
Radioamadores mandam fotos pelo rádio transformando cada ponto da imagem num tom. Um decodificador refaz a imagem a partir do áudio.
SSTV (slow-scan television, "televisão de varredura lenta") é o jeito que radioamadores usam para mandar uma imagem por um canal de voz. A imagem é lida linha por linha, e o brilho de cada ponto vira a frequência de um tom: 1.500 Hz é preto, 2.300 Hz é branco, e os valores do meio são tons de cinza ou de cor. Um tom de 1.200 Hz marca o começo de cada linha. Ouvido, parece uma sequência de apitos e chiados.
Toda transmissão começa com um cabeçalho chamado VIS: 1.900 Hz por 300 ms, 1.200 Hz por 10 ms, 1.900 Hz por mais 300 ms e então 8 bits de 30 ms (1.100 Hz vale 1, 1.300 Hz vale 0), que dizem o modo: a resolução, a ordem das cores e o tempo de cada linha.
| Modo | Código VIS | Imagem | Duração |
|---|---|---|---|
| Robot 36 | 8 | 320 × 240 | 36 s |
| Martin 1 | 44 | 320 × 256 | 114 s |
| Scottie 1 | 60 | 320 × 256 | 110 s |
| PD120 | 95 | 640 × 496 | 126 s |
Para decodificar, o áudio precisa estar num formato que o programa leia, normalmente WAV. Se ele aparece cru (PCM, só as amostras, sem cabeçalho), dá para reconhecer pela taxa: 44.100 amostras por segundo de 16 bits são 88.200 bytes por segundo, chegando num ritmo perfeitamente regular. O sox põe o cabeçalho (sox -t raw -r 44100 -e signed -b 16 -c 1 audio.raw audio.wav), e o Audacity abre áudio cru pelo menu File > Import > Raw Data.
Decodificadores: o pacote Python sstv (pip install sstv, que lê WAV e devolve a imagem), e programas de radioamador como o QSSTV (Linux) e o MMSSTV (Windows). Num espectrograma, SSTV aparece como uma faixa densa entre 1.100 e 2.300 Hz, com o mesmo padrão repetido a cada linha.
Em CTFs, SSTV é um esconderijo clássico: um arquivo de áudio, ou tráfego de rede que parece aleatório, que na verdade carrega uma foto.