e73ecb865f
Test fec_timeout=5 sur drone_video — corrige trous périodiques FEC (cf freeze 1080p30, 20/07)
2026-07-21 09:00:52 +02:00
894b30d947
Modifier résolution vidéo drone à 1920x1080@30fps
...
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01FHftskg5H9cToa3WLVmZfP
2026-07-20 20:38:34 +02:00
009d899d00
Modifier FPS vidéo drone 2592x1944 de 1 à 4fps
...
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01FHftskg5H9cToa3WLVmZfP
2026-07-20 20:29:01 +02:00
8e2be95484
Modifier résolution vidéo drone à 2592x1944@1fps (pleine résolution capteur)
...
- WIDTH: 1920 → 2592
- HEIGHT: 1080 → 1944
- FPS: 10 → 1
- Bitrate stable 4500 kbps
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01FHftskg5H9cToa3WLVmZfP
2026-07-20 20:26:13 +02:00
6109923e3a
Modifier résolution vidéo drone à 1920x1080@10fps
...
- WIDTH: 1280 → 1920
- HEIGHT: 720 → 1080
- FPS: 15 → 10
- Bitrate stable 4500 kbps
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01FHftskg5H9cToa3WLVmZfP
2026-07-20 20:16:22 +02:00
930697cd1e
Définir mcs_index = 0 (valeur par défaut) dans tous les profils radio
2026-07-20 19:43:35 +02:00
782bf00143
Ajouter profils radio versionés (5GHz + 2.4GHz, bandwidth=40 sur les deux)
2026-07-20 19:23:03 +02:00
be5af62ef0
Nettoyer bandwidth=40 inutile de [common], déjà présent dans [drone_video]
2026-07-20 15:49:58 +02:00
5edb7eb36f
Ajouter config de référence wifibroadcast_drone.cfg pour suivi git
2026-07-20 15:42:30 +02:00
d74fd51599
P2: résolution 1280x720
2026-07-19 15:00:35 +02:00
64cd7a819e
P2: retour résolution 640x480 pour test
2026-07-19 14:46:56 +02:00
336b6bca92
P2: résolution 1280x720 (défaut validé, ~14% CPU en hw)
2026-07-19 13:36:34 +02:00
8c0eea8a1a
P2: JETSON_HOST vers 127.0.0.1:5602 (tunnel local)
2026-07-19 12:57:48 +02:00
a8f8011540
P2: repasse ENCODER=hw, BITRATE_KBPS=4500 pour valider extra-controls v4l2h264enc
...
640x480@15 conservé comme charge de test contrôlée.
2026-07-19 11:53:33 +02:00
6d1315f346
fix: contrôle explicite bitrate/keyframe/SPS-PPS pour v4l2h264enc
...
Sans extra-controls, v4l2h264enc utilisait ses valeurs par défaut
(bitrate non maîtrisé, pas de repeat_sequence_header), ce qui pouvait
désynchroniser le décodeur côté Jetson en cas de perte de paquet.
2026-07-19 11:50:13 +02:00
c570233d9d
P2 diagnostic: JETSON_HOST vers tunnel WFB-NG (10.5.0.1) au lieu de Mycelium injoignable en hotspot local
2026-07-18 20:30:28 +02:00
281a7d13b9
P2 diagnostic: bascule vers encodeur logiciel borné (test contention radio)
2026-07-18 19:59:57 +02:00
faa1f0d4a2
chore: retire CLAUDE.md du suivi git
...
CLAUDE.md reste local (ajouté au .gitignore), plus versionné.
2026-07-18 14:51:11 +02:00
13782fc354
Supprimer CLAUDE.md
2026-07-18 12:33:03 +00:00
bd8a7f282e
docs: ajoute procédure de mise à jour du Pi Zero via Jetson
2026-07-18 14:29:03 +02:00
c30bc2e801
fix: decouple sideband destination from video (SIDEBAND_HOST via tunnel WFB-NG)
2026-07-18 13:58:07 +02:00
cdd3fa6965
fix: sideband UDP — socket AF_INET6 automatique si JETSON_HOST est IPv6
...
Le socket était créé en AF_INET, bloquant tout envoi vers une adresse
Mycelium IPv6. _udp_sock() détecte le type d'adresse via ipaddress et
choisit AF_INET6 (4-tuple) ou AF_INET selon JETSON_HOST.
Gère aussi le changement de host à chaud via POST /settings.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-07-01 16:49:23 +02:00
ec6db004a9
fix: JETSON_HOST IPv6 Mycelium, ajout .env.prod
2026-07-01 16:41:10 +02:00
b6cca04df3
feat: H.264 level 5 pour >1080p + validation résolution OV5647 max 2592x1944
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-09 18:48:19 +02:00
accf1ec793
fix: réinitialise la queue hw→sw à chaque restart_with via /settings
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-09 18:45:54 +02:00
9d026fa986
feat: install.sh + section Installation dans CLAUDE.md
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-09 18:21:46 +02:00
920e0a9871
fix: pipeline hw — supprime video-bitrate/extra-controls invalides sur v4l2h264enc
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-09 18:18:40 +02:00
ad8a8e81a7
feat: sideband payload complet — cpu_pct, throttled, bitrate_kbps, uptime_s
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-09 17:39:47 +02:00
eb88f43ae1
fix: supprime textoverlay (rc=255 incompatibilité pixel) + queue avant udpsink
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-09 17:13:26 +02:00
6b696f25d1
config: 720p@15fps 1500kbps (dev) — baisse charge Pi Zero
...
1920x1080@10fps → 1280x720@15fps, bitrate 2500→1500 kbps.
Réduit la charge CPU x264enc en fallback sw, fluidité améliorée.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-09 17:05:33 +02:00
a6cea5619a
fix: videoconvert wrapping textoverlay dans pipeline hw
...
textoverlay ne digère pas I420 directement depuis v4l2convert.
Ajout de videoconvert avant et après textoverlay, puis
v4l2convert ! video/x-raw,format=I420 juste avant v4l2h264enc.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-09 16:59:10 +02:00
636f6fee11
fix: pipeline hw — v4l2convert NV12→I420 pour textoverlay
...
textoverlay requiert I420 ou YUY2, pas NV12 directement issu de libcamerasrc.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-09 12:00:22 +02:00
ca4aa13d1d
feat: 1080p@10fps + sideband UDP 5602 + textoverlay
...
- Pipeline 1920x1080@10fps avec level=(string)4 (auto via _h264_level)
- Sideband thread UDP port 5602 : JSON {ts,width,height,fps,encoder,temp_c} @ 1 Hz
- textoverlay "temp=XX.XC 10fps 1920x1080" haut-gauche avant encodeur
- .env.dev : WIDTH=1920 HEIGHT=1080 FPS=10 BITRATE_KBPS=2500
- _load_env() : .env base + .env.dev override
- Fallback hw→sw conservé, level auto 3.2/4 selon résolution
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-09 11:45:35 +02:00
e2ceeded8a
feat: camera_server v2 — encodeur hw v4l2h264enc + fallback sw
...
- Suppression du bloc MJPEG (double pipeline impossible sur Pi Zero 2W,
interdit par CLAUDE.md : Flask = health + settings uniquement)
- Encodeur par défaut : v4l2h264enc hardware (/dev/video11, bcm2835-codec)
attend ~40% CPU vs 80-90% avec x264enc
- Fallback automatique vers x264enc si v4l2h264enc échoue au démarrage
- Correction pipeline split : shlex.split() remplace .split() (bug caps GStreamer)
- Lecture stderr gst-launch en temps réel (thread daemon)
- GstManager : restart propre via SIGTERM sur le process GStreamer
- Signal SIGTERM/SIGINT : arrêt propre du process GStreamer
- /settings POST : changement à chaud de jetson_host, bitrate, encoder, etc.
- CLAUDE.md : correction "pas de GPU" → VideoCore IV + pipelines hw/sw documentés
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-09 10:52:14 +02:00
9221a1a2b9
feat: camera_server.py — MJPEG port 5000 + RTP H264 vers Jetson
...
Flux MJPEG local via Flask/OpenCV (libcamerasrc → appsink).
Flux RTP H264 simultané via subprocess gst-launch-1.0 en thread daemon
avec redémarrage automatique sur erreur.
Endpoint /health pour supervision.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-09 10:10:54 +02:00
3af7793f76
init: CLAUDE.md wireclaw-pizero
2026-06-09 10:07:58 +02:00