User Tools

Site Tools


fotografia:camaras:streaming:raspberry

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
fotografia:camaras:streaming:raspberry [2024/11/10 19:53] josefotografia:camaras:streaming:raspberry [2024/11/18 20:27] (current) jose
Line 58: Line 58:
   wget https://github.com/bluenviron/mediamtx/releases/download/v1.9.3/mediamtx_v1.9.3_linux_arm64v8.tar.gz   wget https://github.com/bluenviron/mediamtx/releases/download/v1.9.3/mediamtx_v1.9.3_linux_arm64v8.tar.gz
  
 +Configuramos en el yaml:
 +<code>
 +paths:
 +  cam_stream:
 +    source: publisher
 +</code>
  
 +Enviamos con ffmpeg:
 +  ffmpeg -f v4l2 -input_format yuyv422 -video_size 1280x720 -framerate 30 -i /dev/video0 -c:v libx264 -b:v 2000k -crf 18 -preset ultrafast -tune zerolatency -f rtsp rtsp://192.168.1.234:8554/cam_stream
 +
 +  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://192.168.1.234:8554/cam_stream
 +
 +RASPI 4
 +  ffmpeg -f v4l2 -input_format yuyv422 -video_size 1280x720 -framerate 30 -i /dev/video0 -c:v h264_v4l2m2m -b:v 2000k -preset ultrafast -tune zerolatency -f rtsp rtsp://192.168.2.101:8554/cam_stream
 +
 +En OBS también configuramos rtsp:
 +  rtsp://127.0.0.1:8554/cam_stream
 +En mediamtx se puede ver:
 +  2024/11/18 17:19:12 INF [RTSP] [session 1e5bc2e0] is reading from path 'cam_stream', with UDP, 1 track (H264)
 +
 +
 +====== PRUEBAS ======
 +<code>
 +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://127.0.0.1:8554/cam_stream
 +
 +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:04:37.13 bitrate=N/A dup=6003 drop=0 speed=0.977x    
 +
 +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://127.0.0.1:8554/cam_stream
 +
 +v4l2-ctl --list-devices
 +v4l2-ctl --list-formats-ext -d /dev/video0
 +ffmpeg -encoders | grep h264_v4l2m2m
 +
 +
 +</code>
fotografia/camaras/streaming/raspberry.1731268407.txt.gz · Last modified: 2024/11/10 19:53 by jose