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 11:55] – [FFplay] tempwininformatica:software:ffmpeg [2025/02/05 13:20] (actual) – [FFplay] 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 141: Línea 141:
   * ''ss'': indica desde dónde se hace el corte (''mm:ss'')   * ''ss'': indica desde dónde se hace el corte (''mm:ss'')
   * ''to'': indica hasta dónde se hace el corte (''mm:ss'')   * ''to'': indica hasta dónde se hace el corte (''mm:ss'')
 +
 +===== Casos de uso =====
 +
 +  * Procesamiento de vídeo:
 +    * Rotar
 +    * Extracción de frames
 +    * Extracción de segmentos
 +    * Extracción de audio
 +    * Extracción de subtítulos
 +    * Conversión de colores
 +    * Reducción de tamaño
 +    * Conversión de formatos
 +      * Convertir GIF en vídeo
 +  * Procesamiento de audio:
 +    * Compresión de vídeo
 +    * Normalización
 +    * Ganancia
 +    * Remuxing
 +  * Empaquetado de vídeo
 +    * HLS
 +    * MPEG-DASH
 +    * RTMP
 +
 +===== Webcam =====
 +
 +Para ver el fichero asociado con la webcam:
 +
 +<code>
 +v4l2-ctl --list-devices
 +</code>
 +
 +Para ver los formatos soportados por la webcam:
 +
 +<code>
 +v4l2-ctl --list-formats-ext --device /dev/video0
 +</code>
 +==== Grabar un fragmento ====
 +
 +El siguiente comando activará la webcam y grabará durante 10 segundos. El resultado se almacenará en el fichero ''10seconds_of_webcam.webm''.
 +
 +<code>
 +ffmpeg -f v4l2 -framerate 25 -video_size 640x480 -t 10 -i /dev/video0 10seconds_of_webcam.webm
 +</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
 ====== Recursos ====== ====== Recursos ======
  
Línea 150: Línea 221:
   * 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.1697104520.txt.gz · Última modificación: por tempwin