informatica:linux:edicion_de_video:ffmpeg
This is an old revision of the document!
Table of Contents
Escalar vídeo:
Reducir tamaño vídeo para whatsapp
ffmpeg -i vermicompostera1.mp4 \ -vf "scale=240:-2" \ -vcodec libx264 -crf 28 -preset medium \ -acodec aac -b:a 128k \ vermicompostera.mp4
ffmpeg -i original.mp4 -vf scale=800:600 destino.mp4
Si queremos fijar uno y que el otro lo calcule solo:
ffmpeg -i original.mp4 -vf scale=800:-1 destino.mp4
Extraer frame
Extrae frame numero 325
ffmpeg -i input.mp4 -vf "select=eq(n\,325)" -vframes 1 output.png
Extraer 250 frames de un vídeo
#!/bin/bash
video=$1
n=`ffprobe -v error -select_streams v:0 -show_entries stream=nb_frames -of default=nokey=1:noprint_wrappers=1 $video`
factor=$(echo "scale=4; $n / 250" | bc)
echo $factor
for ((i=1; i<=249; i++)); do
frame_decimal=$(echo "$i * $factor" | bc)
frame=$(echo "$frame_decimal" | cut -d'.' -f1)
fitxer=`printf "%03d\n" "$i"`
ffmpeg -i $video -vf "select=eq(n\,${frame})" -vframes 1 jur/${fitxer}.png
done
ffmpeg -i ${video} -vf "select=eq(n\,$((n - 1)))" -vframes 1 jur/250.png
Cortar vídeo
Minuto y segundo de inicio y de fin. Corta del 0:15 al 0:25 total 10 segundos de vídeo
ffmpeg -i original.mp4 -ss 00:00:15 -to 00:25 cortado.mp4
Normalizar audio
Detectar volumen:
ffmpeg -i entrada.wav -af volumedetect -f null -
Salida:
max_volume: -12.3 dB mean_volume: -28.7 dB
Como el máximo está a -12.3 dB, puedes subir 11.3 dB para dejar 1 dB de margen:
ffmpeg -i entrada.wav -af "volume=11.3dB" salida.wav
CHAGPT:
Normalización automática (la más cómoda) FFmpeg incorpora el filtro loudnorm. ffmpeg -i entrada.wav -af loudnorm salida.wav O indicando una sonoridad concreta: ffmpeg -i entrada.wav -af loudnorm=I=-16:LRA=11:TP=-1.5 salida.wav I=-16 → volumen objetivo. TP=-1.5 → pico máximo. LRA=11 → rango dinámico. 3. Normalizar dinámicamente (muy recomendable) Existe el filtro dynaudnorm, que va ajustando el nivel a lo largo del audio. ffmpeg -i entrada.wav -af dynaudnorm salida.wav Este suele dar una sensación de mayor volumen sin necesidad de comprimir tanto. Puedes hacerlo un poco más suave: ffmpeg -i entrada.wav -af dynaudnorm=f=150:g=15 salida.wav 4. Hacer que la onda "llene" todo el espacio (similar a música comercial) Una cadena bastante efectiva es: ffmpeg -i entrada.wav -af "acompressor=threshold=-18dB:ratio=3:attack=20:release=250,dynaudnorm" salida.wav O incluso añadir un limitador al final: ffmpeg -i entrada.wav -af "acompressor=threshold=-18dB:ratio=3,dynaudnorm,alimiter=limit=-1dB" salida.wav ¿Cuál te recomiendo? Solo subir el volumen sin modificar la dinámica: volume (tras medir con volumedetect). Que se escuche más fuerte y uniforme: dynaudnorm. Calidad tipo radio/podcast: loudnorm. Que la forma de onda quede muy "rellena": acompressor + dynaudnorm + alimiter. Si el audio es una grabación de voz, mi recomendación sería dynaudnorm, ya que suele ofrecer un resultado muy natural sin requerir una configuración compleja.
informatica/linux/edicion_de_video/ffmpeg.1782655070.txt.gz · Last modified: by jose
