User Tools

Site Tools


informatica:linux:edicion_de_video:ffmpeg

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
informatica:linux:edicion_de_video:ffmpeg [2026/05/29 09:06] joseinformatica:linux:edicion_de_video:ffmpeg [2026/06/29 08:15] (current) – [Sacar duración] jose
Line 38: Line 38:
 Minuto y segundo de inicio y de fin. Corta del 0:15 al 0:25 total 10 segundos de 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   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:
 +<code>
 +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.
 +</code>
 +
 +====== Sacar duración ======
 +Para sacar la duración sumada de los wavs de un directorio
 +<code>
 +for f in *.wav; do 
 +    ffmpeg -i "$f" 2>&1 | grep Duration | \
 +    sed -E 's/.*Duration: ([0-9]+):([0-9]+):([0-9]+\.[0-9]+).*/\1*3600+\2*60+\3/'
 +done | paste -sd+ - | bc
 +</code>
 +
 +Grabando duraciones individuales en fichero:
 +<code>
 +echo "nombre_fichero;duracion" > duraciones.csv
 +
 +for f in *.wav; do
 +    dur=$(ffmpeg -i "$f" 2>&1 | grep "Duration" | \
 +          sed -E 's/.*Duration: ([0-9]+):([0-9]+):([0-9]+\.[0-9]+).*/\1 \2 \3/')
 +
 +    read h m s <<< "$dur"
 +
 +    segundos=$(awk "BEGIN {printf \"%.3f\", ($h*3600 + $m*60 + $s)}")
 +
 +    echo "$f;$segundos" >> duraciones.csv
 +done
 +</code>
informatica/linux/edicion_de_video/ffmpeg.1780045596.txt.gz · Last modified: by jose