User Tools

Site Tools


comandos_ffmpeg_utiles

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
comandos_ffmpeg_utiles [2022/01/03 20:36] busindrecomandos_ffmpeg_utiles [2022/07/16 22:45] (current) busindre
Line 262: Line 262:
 # Se genera el fichero mkv dependiendo del idioma que queramos. # Se genera el fichero mkv dependiendo del idioma que queramos.
 ffmpeg -i $HOME/evangelion.vob  -q:a 0 -q:v 0  -map 0:1 -map 0:2  Evangelion_es.mkv # Castellano ffmpeg -i $HOME/evangelion.vob  -q:a 0 -q:v 0  -map 0:1 -map 0:2  Evangelion_es.mkv # Castellano
-ffmpeg -i $HOME/evangelion.vob  -q:a 0 -q:v 0  -map 0:1 -map 0: Evangelion_jp.mkv # Japones.</code>+ffmpeg -i $HOME/evangelion.vob  -q:a 0 -q:v 0  -map 0:1 -map 0: Evangelion_jp.mkv # Japones.</code>
  
 Se podrían incluir subtitulos si se quisiera también usando las opciones de mapeo. En este caso no se conoce qué idioma tienen los subtitulos o los streams de audio, por lo que lo mejor es hacer un par de pruebas hasta que sean identificados y podamos crear el fichero como se crea conveniente, por ejemplo idioma japones pero subtítulos en español. Se podrían incluir subtitulos si se quisiera también usando las opciones de mapeo. En este caso no se conoce qué idioma tienen los subtitulos o los streams de audio, por lo que lo mejor es hacer un par de pruebas hasta que sean identificados y podamos crear el fichero como se crea conveniente, por ejemplo idioma japones pero subtítulos en español.
Line 476: Line 476:
 Cuando un vídeo se reproduce bien en el sistema operativo con aplicaciones tipo mplayer, VLC, etc pero este tiene problemas al reproducirse en un dispositivo supuestamente compatible con el formato, como una smart TV. Una posible solución es que ffmpeg genere un nuevo fichero a partir del original (en el ejemplo se respeta la calidad de audio y vídeo). Cuando un vídeo se reproduce bien en el sistema operativo con aplicaciones tipo mplayer, VLC, etc pero este tiene problemas al reproducirse en un dispositivo supuestamente compatible con el formato, como una smart TV. Una posible solución es que ffmpeg genere un nuevo fichero a partir del original (en el ejemplo se respeta la calidad de audio y vídeo).
 <code bash>ffmpeg -i fichero_problemático.avi -c:v copy -c:a copy fichero.avi</code> <code bash>ffmpeg -i fichero_problemático.avi -c:v copy -c:a copy fichero.avi</code>
 +
 +** Girar / Rotar un vídeo** 
 +
 +Depende del dispositivo de grabación y su uso los vídeos pueden ser grabados en vertical (90° o 270°) u horizontal (0° o 270°). Los 0° se considera cuando se filma en horizontal, teniendo la parte del micrófono a la derecha y la parte del altavoz en la izquierda. Los valores de rotación son incluidos como metadatos en los vídeos.
 +
 +Si simplemente se ha grabado un vídeo con un dispositivo móvil y el giroscopio ha provocado que la filmacion incluya información sobre rotación que dificulta su visualización. La solución es borrar el metadato concreto para que pueda reproducirse en el dispositivo. En casos donde hay un vídeo horizontal grabado desde un celular y debe verse en horizontal en otro dispositivo, por ejemplo un laptop, se debe tener en cuenta otros factores.
 +
 +Para transformar un vídeo de horizontal a vertical (o al contrario) se deben modificar los valores de rotación y luego cambiar el alto y ancho del vídeo. Lo primero que debe hacerse es obteber información sobre la rotación del vídeo y su resolución.
 +<code bash># Rotación de 90.00 y resolución 1280x720.
 +ffmpeg -i fichero.MOV 2>&1 | grep "displaymatrix\|Video:"
 +
 +  Stream #0:0[0x1](und): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1280x720, 10548 kb/s, 23.99 fps, 23.98 tbr, 600 tbn (default)
 +      displaymatrix: rotation of -90.00 degrees</code>
 +
 +Eliminar rotación.
 +<code bash>ffmpeg -i fichero.mov -c copy -metadata:s:v:0 rotate=0 fichero_sin_rotacion.mov</code>
 +
 +Rotar el vídeo usando la opción transpose. Se pueden usar números o bien los nombres cclock_flip, clock_flip, clock y cclock. Esto obliga a una recodificación del vídeo por lo que puede jugarse con valores que definan la calidad del fichero resultante.
 +<code># Parámetro -vf "transpose=0"
 +
 +0 cclock_flip En sentido contrario a las agujas del reloj y en sentido vertical (por defecto).
 +3 clock_flip  En el sentido de las agujas del reloj y en sentido vertical.
 +1 clock       En el sentido de las agujas del reloj.
 +2 cclock      En sentido contrario a las agujas del reloj.</code>
 +
 +<code bash> # Rotación de 90° a la derecha.
 +ffmpeg -i fichero_sin_rotacion.mov -vf "transpose=clock" -c:a copy fichero_rotacion_ok.mov
 +# Rotación de 180° a la izquierda.
 +ffmpeg -i fichero_sin_rotacion.mov -vf "transpose=2,transpose=2" -c:a copy fichero_rotacion_ok.mov
 +# Rotación de 180° a la derecha.
 +ffmpeg -i fichero_sin_rotacion.mov -vf "transpose=1,transpose=1" -c:a copy fichero_rotacion_ok.mov
 +</code>
 +
 +Si ahora se usa "ffmpeg -i" para obtener información sobre el vídeo no debería existir rotación y la resolución debería haber sido invertida.
 +
  
 **Streaming básico con ffmpeg / mplayer**: https://trac.ffmpeg.org/wiki/StreamingGuide **Streaming básico con ffmpeg / mplayer**: https://trac.ffmpeg.org/wiki/StreamingGuide
comandos_ffmpeg_utiles.1641238609.txt.gz · Last modified: 2022/01/03 20:36 by busindre