🛠 Serveur multimédia HDMI avec le GPU VideoCore IV
Objetivos
Transformar la Raspberry Pi 3 A+ en un reproductor multimedia de salón: vídeo 1080p30 decodificado por hardware mediante la GPU VideoCore IV (H.264 y MPEG-4, decodificación y codificación 1080p30, OpenGL ES 1.1/2.0), salida HDMI de tamaño completo — además de vídeo compuesto mediante el conector jack de 4 polos para televisores antiguos. Todo ello mediante WiFi, sin Ethernet.
Material
- Raspberry Pi 3 A+, fuente de alimentación de 5 V/2,5 A, TV por HDMI (o jack compuesto)
- microSD ≥ 16 GB; flujo de vídeo vía WiFi desde un recurso compartido de red
- 512 MB de RAM compartida CPU/GPU: el ajuste de
gpu_memes indispensable - Alternativa «appliance»: imagen LibreELEC dedicada a Kodi
Código completo
# 1) Allouer la mémoire GPU (128 Mo suffisent pour du 1080p ; au-delà,
# l'OS n'a plus que 384 Mo sur les 512 Mo partagés)
echo 'gpu_mem=128' | sudo tee -a /boot/firmware/config.txt
# 2) Lecteur avec décodage matériel H.264
sudo apt install -y omxplayer mpv
omxplayer --horizon 0 video_1080p.mp4 # décodage GPU VideoCore
mpv --hwdec=mmal video_1080p.mp4 # ou lecture via Kodi/mpv
# 3) Montage du NAS en WiFi (seul réseau de la carte)
sudo mkdir -p /mnt/nas && sudo mount -t nfs nas:/videos /mnt/nas
# 4) Sortie composite (téléviseur cathodique) : ajouter au config.txt
# sdtv_mode=pal puis redémarrer ; l'HDMI reste disponible.
sudo reboot
Verificación esperada
omxplayer reproduce un archivo H.264 1080p30 sin interrupciones mientras watch vcgencmd get_throttled permanece en 0x0; la CPU (4× A53) se mantiene por debajo del 40 % gracias a la decodificación por GPU. El audio sale por el jack de 4 polos o por HDMI según la configuración.
Errores frecuentes
- Ejecutar un navegador y Kodi simultáneamente: con 512 MB de RAM, el sistema operativo se satura rápidamente (swap/OOM) — elegir un único uso, o LibreELEC.
gpu_mem=256por copiar y pegar de un tutorial para Pi 4: al sistema operativo le falta RAM en esta placa; mantener entre 96–128 MB.- Esperar 4K/H.265: el VideoCore IV solo decodifica H.264/MPEG-4 en 1080p30; el HEVC tendría que ser decodificado por las CPU, sin éxito.
- Flujo de red intermitente: el WiFi 802.11ac es bueno pero caprichoso detrás de un mueble — acercar el router en lugar de aumentar la potencia.
- >
Otros tutoriales para esta placa
Ejemplos de código para esta placa
led_blink.pyPythonbutton_led.pyPythonservo_sweep.pyPythondht_temp.pyPythonoled_i2c.pyPythonmcp3008_read.pyPython