Saltar al contenido
56K

56K

Slow IT Notes – Just 4 Fun

Menú
  • MVDT – FINAL
  • MVDT – Miss Ventilador De Techo 2025
  • MVDT – RONDA 1
  • MVDT – RONDA 2
  • MVDT – RONDA 4
Menú

Decodificando SSTV del juego Portal – Imágenes en audios

Publicada el 09/02/202509/02/2025 por fanta

La televisión de barrido lento (Slow ScanTV, SSTV) es un método para transmitir y recibir imágenes estáticas (en blanco y negro o color) a través de la radio.

Es lento y lo utilizan la gente aficionada a la radio para transmitir imágenes que quienes estén capturando podrán decodificar.

 

El motivo de este post es simplemente para comentar que desde GNU+Linux podemos hacerlo y que además en el juego Portal (valve, 2007) es posible capturar el sonido y decodificarlo para ver las imágenes que ocultaron en el juego.

En este vídeo de 2 minutos se puede escuchar como en el juego se emiten imágenes SSTV .


La forma de hacer esto va a ser creando un dispositivo de audio virtual y luego utilizando el programa QSSTV .

 

Instalar QSSTV

A mi no tienes que contarme como instalas qsstv. Si usas debian lo mismo lo haces tirando de apt, en arch de pacman o en distros rollo Red Hat usando yum.

No es mi problema. El tema es que si quieres decodificar los audios del juego necesitarás eso, los audios y el software qsstv (u otro que permita lo mismo).

 

Los audios de ejemplo capturados del juego

Para evitar rollos he sacado 4 muestras de audio en archivos wav.

Muestras del juego para que no tengas que estar decodificando al vuelo desde el juego y que no tengas ni que tener el juego.

Muestra 001: 56k.es/downloads/SSTV_portal001-fanta.wav
Muestra 002: 56k.es/downloads/SSTV_portal002-fanta.wav
Muestra 003: 56k.es/downloads/SSTV_portal003-fanta.wav
Muestra 004: 56k.es/downloads/SSTV_portal004-fanta.wav

https://56k.es/downloads/SSTV_portal001-fanta.wav https://56k.es/downloads/SSTV_portal002-fanta.wav https://56k.es/downloads/SSTV_portal003-fanta.wav https://56k.es/downloads/SSTV_portal004-fanta.wav

 

Esos audios llevan el regalo en su interior. Interpretados correctamente tendrían que mostrar imágenes como las que se ven en el siguiente gif:

 

 

El proceso para sacar las imágenes de los audios

Vamos a crear un dispositivo de audio virtual. Una salida nula.

Esto podemos hacerlo como root así:

pactl load-module module-null-sink sink_name=virtual-cable

Si nos vamos a la configuración de sonido tendríamos que poder elegir algo así como salida nula, salida boba, dumb, … y la elegiremos.

Y lanzando pavucontrol en grabación tendríamos que poder elegir monitor of Salida Nula (o similar) para el programa QSSTV.

 

 

Finalmente en la configuración del programa QSSTV hemos de elegir que la entrada de sonido (Sound Input) venga desde la tarjeta de sonido (from sound card) hasta la salida de sonido (Sound Output) tarjeta de sonido también.

Es posible que lo tengamos así por defecto pero por si acaso adjunto captura de como lo tengo yo.

 

Bien. Pues con esto bien configurado ya podemos emitir desde vlc lo que queramos que capture QSSTV.
O incluso pinchando desde el navegador en los audios para que se reproduzcan y ver como allí se va mostrando la imagen.

 

 

Se le ha de dar a play en la pestaña Receive . A la derecha veremos la onda y si va pintando entonces nos alegraremos y se lo contaremos a alguien cercano.

 

Es fascinante y una frikada

 

Es una frikada que metiesen esto en el juego y otra que la gente lo sacase. Me imagino a la primera persona que escucho los soniquetes y pensó en …  «esto o bien es morse, SSTV, el ruido de un modem a 56k o algo». Y se puso a trastear hasta sacar las imágenes :).

Y más o menos eso es todo lo que quería contar en este post.

 

Saludos cordiales.

1 comentario sobre «Decodificando SSTV del juego Portal – Imágenes en audios»

  1. inukaze dice:
    11/10/2025 a las 14:39

    Excelente, aunque tuve que hacer una que otra cosa de forma distinta en Slackware(64) 15.0

    Hacerlo en Slackware(64) 15.0 y Derivadas ( Porteus, Salix,etc . . . )

    01 – Instalar qsstv, yo lo hare usando el gestor de paquetes slapt-get
    su -c «slapt-get –update ; slapt-get –install qsstv ; ldconfig» root

    02 – Editar el archivo predeterminado de pulseaudio
    sudo joe /etc/pulse/default.pa

    Dentro del archivo « /etc/pulse/default.pa » Descomentar la linea
    Original -> # load-module module-null-sink
    Debe quedar -> load-module module-null-sink
    Guardarlos cambios y salir del editor de texto

    03 – Eliminar la conexion actual de pulseaudio y luego volverla a iniciar
    pulseaudio –kill
    pulseaudio –start

    04 – Listar la lista de modulos en uso y filtrar « null »
    comando :
    pactl list modules short | grep null

    salida del comando :
    5 module-null-sink

    05 – Descargar / Deshabilitar el modulo 5 actual que es « module-null-sink »
    pactl unload-module 5

    06 – Iniciar un nuevo modulo-null-sink y establecerle de nombre « virtual-cable »
    Comando :
    pactl load-module module-null-sink sink_name=virtual-cable

    Salida del comando :
    24

    La salida del comando anterior me indica que le asigno el numero 24 al modulo, en caso de que quieras Descargarlo / deshabilitarlo, lo podras hacer como se hizo con el modulo 5 anteriormente.

    07 – Listar los modulos en uso, y filtrar todo lo que diga « null »
    Comando :
    pactl list modules short | grep null

    Salida del comando :
    24 module-null-sink sink_name=virtual-cable

    Asi ya quedo listo las cosas necesarias para usarlas a traves de PulseAudio.

    08 – Abre qsstv y abre « Options » -> « Configuration »
    En « Audio Interface » selecciona « PulseAudio »
    En « Sound Input » selecciona la opcion « From Sound Card »
    En « Sound Output » selecciona la opcion « To sound card »
    Presiona OK, y luego en la pestaña « Recieve » has clic en el icono de « Start Reciever »

    09 – En algun otro programa, abre el audio de Radio con el que desees trabajar en conjunto con QSSTV.

    10 – Ahora en el pavucontrol ve a la pestaña « Grabacion » y fijate que QSSTV indique « Salida Nula »

    11 – Ahora en el pavucontrol ve a la pestaña « Reproduccion » y fijate que tanto QSSTV como VLC indiquen « Salida Nula »

    Estos ultimos 2 pasos pueden ser un poco truculentos, ya que a veces el VLC a aparece y a veces no pero prueba de varias formas hasta que aparezca, y puedas establecer « Salida Nula »

    Ahora si deberias poder procesar las imagenes a partir de los sonidos del juego.

    Yo en la Ventana de QSSTV, estableci
    – AutoSlant : Activo
    – Sensivity : DX
    – Mode : Auto
    – Default Image Format : png
    – Save If Complete (%) : 97

    Ahora ve a la ventana de QSSTV presiona sobre el boton Recieve. Cuando pongas a reproducir un audio compatible

    Luego solo reproduce un audio compatible, desde VLC o cualquier otro programa (Que le hayas asignado salida nula )
    Y al reproducirse el audio automaticamednt deberia procesar la imagen.

    —————————————————— Modos —————————————————————
    Del Videojuego portal al parecer los modos compatibles son :

    Auto -> Dependiendo del audio, va a seleccionar uno automaticamente y suele ser suficiente
    Martin 1
    Robot 36 -> Con este la primera imagen se ve mejor.
    Robot 72
    MP115
    MR115

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

fanta de naranja
💾 QEMU
💾 SOLARIS
💾 ESXi
💾 FREEBSD
💾 DEBIAN
💾 AMIGA
💾 SYSADMIN
💾 JUNOS
💾 IMPRIMIR
💾 MSDOS
💾 WINDOWS
💾 FAIRPHONE
💾 GAMING
💾 STREAMING
💾 REDHAT
💾 GRÁFICOS
💾 CACHARROS
💾 SONIDO
💾 NETWORKING
💾 ROCKY
💾 SUSE
💾 TMP
©2025 56K | Construido utilizando WordPress y Responsive Blogily tema por Superb