fotografia:camaras:streaming:raspberry
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
fotografia:camaras:streaming:raspberry [2024/11/10 21:53] – jose | fotografia:camaras:streaming:raspberry [2024/11/18 20:27] (current) – jose | ||
---|---|---|---|
Line 66: | Line 66: | ||
Enviamos con ffmpeg: | Enviamos con ffmpeg: | ||
- | | + | |
ffmpeg -f v4l2 -probesize 10M -analyzeduration 10M -video_size 1280x720 -framerate 30 -i /dev/video0 -c:v libx264 -b:v 2000k -crf 18 -preset ultrafast -tune zerolatency -f rtsp rtsp:// | ffmpeg -f v4l2 -probesize 10M -analyzeduration 10M -video_size 1280x720 -framerate 30 -i /dev/video0 -c:v libx264 -b:v 2000k -crf 18 -preset ultrafast -tune zerolatency -f rtsp rtsp:// | ||
- | Para raspi4 con aceleración por hardware h264_omx en vez de libx264 | + | RASPI 4 |
- | ffmpeg -f v4l2 -video_size 1280x720 -framerate 30 -i /dev/video0 -c:v h264_omx | + | ffmpeg -f v4l2 -input_format yuyv422 |
+ | En OBS también configuramos rtsp: | ||
+ | rtsp:// | ||
+ | En mediamtx se puede ver: | ||
+ | 2024/11/18 17:19:12 INF [RTSP] [session 1e5bc2e0] is reading from path ' | ||
+ | |||
+ | ====== PRUEBAS ====== | ||
+ | < | ||
+ | Este comando funciona bien | ||
+ | ffmpeg -f v4l2 -input_format mjpeg -video_size 1280x720 -framerate 30 \ | ||
+ | -i /dev/video0 -c:v libx264 -b:v 2000k -crf 18 -preset ultrafast -tune zerolatency \ | ||
+ | -f rtsp rtsp:// | ||
+ | |||
+ | rpi3 tiene muchos frames duplicados. CPU: 256% MEM: 13.1% | ||
+ | rpi4 no tiene frames duplicados pero pixela mucho CPU: 133% MEM: 1.5% | ||
+ | rpi5 igual que la rpi4 no tiene frames duplicados pero pixela mucho CPU: 84.7% MEM: 1.5% | ||
+ | |||
+ | |||
+ | Según chatgpt: | ||
+ | Cuando el q es mas alto mayor calidad, viene dado por el CRF que le ponga | ||
+ | frame= 8315 fps= 29 q=15.0 Lsize=N/A time=00: | ||
+ | |||
+ | Significado de q=15.0 | ||
+ | El valor q=15.0 indica la calidad de codificación del video en términos de QP (Quantization Parameter): | ||
+ | |||
+ | Más bajo (q=0) significa mejor calidad (más carga en el sistema). | ||
+ | Más alto (q=51) significa peor calidad (menos carga en el sistema). | ||
+ | Este valor está controlado por el CRF que configuraste (-crf 18 en tu comando). En general: | ||
+ | |||
+ | CRF 18: Calidad muy alta (visualmente indistinguible del original). | ||
+ | CRF 23: Calidad buena. | ||
+ | CRF 28+: Calidad media a baja. | ||
+ | |||
+ | HE probado con CRF a 23 y sigue perdiendo frames pero va mas fluido y calidad aceptable | ||
+ | |||
+ | Si quiero usar aceleración por hardware etngo que pasar a yuv420p y entonces me lo pixela mucho en la rpi3 aunque no pierde frames | ||
+ | ffmpeg se pone a 179%cpu y 11.8% mem | ||
+ | |||
+ | ffmpeg -f v4l2 -input_format mjpeg -video_size 1280x720 -framerate 30 \ | ||
+ | -i /dev/video0 -vf format=yuv420p -c:v h264_v4l2m2m -b:v 2000k \ | ||
+ | -f rtsp rtsp:// | ||
+ | |||
+ | v4l2-ctl --list-devices | ||
+ | v4l2-ctl --list-formats-ext -d /dev/video0 | ||
+ | ffmpeg -encoders | grep h264_v4l2m2m | ||
+ | |||
+ | |||
+ | </ |
fotografia/camaras/streaming/raspberry.1731275588.txt.gz · Last modified: 2024/11/10 21:53 by jose