Herramientas de usuario

Herramientas del sitio


informatica:software:ffmpeg

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
informatica:software:ffmpeg [2023/10/12 14:27] – [Casos de uso] tempwininformatica:software:ffmpeg [2026/04/24 19:00] (actual) – [Streaming] tempwin
Línea 3: Línea 3:
 ===== FFplay ===== ===== FFplay =====
  
-Con la instalacción de FFmpeg se incluye FFplay, un sencillo reproductor multimedia que suele usarse para probar filtros de FFmpeg.+Con la instalación de FFmpeg se incluye FFplay, un sencillo reproductor multimedia que suele usarse para probar filtros de FFmpeg.
  
 <code> <code>
Línea 172: Línea 172:
 </code> </code>
  
 +Para ver los formatos soportados por la webcam:
 +
 +<code>
 +v4l2-ctl --list-formats-ext --device /dev/video0
 +</code>
 ==== Grabar un fragmento ==== ==== Grabar un fragmento ====
  
Línea 179: Línea 184:
 ffmpeg -f v4l2 -framerate 25 -video_size 640x480 -t 10 -i /dev/video0 10seconds_of_webcam.webm ffmpeg -f v4l2 -framerate 25 -video_size 640x480 -t 10 -i /dev/video0 10seconds_of_webcam.webm
 </code> </code>
 +
 +==== Streaming ====
 +
 +Para hacer streaming del vídeo de la webcam y el audio del micro, suponiendo que además tenemos un servidor RTMP (el que se encargará de hacer la transmisión):
 +
 +<code>
 +ffmpeg -f v4l2 -i /dev/video0 -f alsa -i hw:1,0 -c:v libx264 -pix_fmt yuv420p -framerate 15 -g 30 -b:v 500k -c:a aac -b:a 128k -ar 44100 -ac 2 -preset ultrafast -tune zerolatency -f flv rtmp://localhost:1935/live/foo
 +</code>
 +
 +  * ''-c:v libx264'': usaremos el códec de vídeo H.264
 +  * ''-c:a aac'': usaremos el código de audio AAC
 +  * ''-f alsa -i hw:1,0'': micrófono (comprobar con ''arecord -l'').
 +  * ''-ar'': frecuencia de muestreo del audio (en Hz)
 +  * ''-ac'': número de canales de audio
 +  * ''-b:v'': bitrate de vídeo
 +  * ''-preset'': opciones para la compresión. Indicamos ''ultrafast'' que apenas realizará compresión.
 +  * ''-tune'': ajustamos para que se reduzca la latencia (retraso).
 +
 +  * [[https://www.baeldung.com/linux/ffmpeg-webcam-stream-video|How to Stream Video From Webcam to Network Using FFmpeg]]
 +
 +Los protocolos más habituales para streaming son:
 +
 +  * RTMP
 +  * HLS
 +  * DASH
 +  * UDP
 +  * RTP
 +  * RTSP
 +
 +===== Recetas =====
 +
 +==== Corregir desfase de audio ====
 +
 +Ejemplo para atrasar el audio 2,5 segundos:
 +
 +<code>
 +ffmpeg -itsoffset -2.5 -i peli_original.avi -i peli_original.avi -map 0:v -map 1:a -c:v copy -c:a aac peli_original_corregida.mp4
 +</code>
 +
 +Realmente lo que se hace es "mover" el vídeo 2,5 segundos.
 +
 +Si lo que se quiere es atrasar el audio:
 +
 +<code>
 +ffmpeg -i peli_original.avi -itsoffset 2.5 -i peli_original.avi -map 0:v -map 1:a -c:v copy -c:a aac peli_original_sync.mp4"
 +</code>
 +
 +  * ''itsoffset 2.5'': Aplica un desplazamiento temporal de +2.5 segundos (atrasa el audio) al input que viene después.
 +  * ''-map 0:v'': selecciona el stream de vídeo del input 0
 +  * ''-map 1:a'': selecciona el stream de audio del input 1
 +  * ''-c:a aac'': Convierte el audio a formato AAC.
 ====== Recursos ====== ====== Recursos ======
  
Línea 188: Línea 244:
   * http://www.bugcodemaster.com/article/extract-images-frame-frame-video-file-using-ffmpeg   * http://www.bugcodemaster.com/article/extract-images-frame-frame-video-file-using-ffmpeg
   * http://www.bugcodemaster.com/article/get-information-video-file-using-ffmpeg   * http://www.bugcodemaster.com/article/get-information-video-file-using-ffmpeg
 +  * [[https://gist.github.com/steven2358/ba153c642fe2bb1e47485962df07c730|FFmpeg cheatsheet]]
informatica/software/ffmpeg.1697113646.txt.gz · Última modificación: por tempwin