suele pasar que tenemos una pelicula y la queremos en audio latino pero el vendedor no entendio y nos dio la pelicula subtitulada.
ejemplo:
en una pagina llamada dark#ill#.com.mx
tienen muchas series en audio latino.
la calidad varía bastante y por lo general nos encontramos con videos de muy mala calidad que encima cada 20 segundos sale un subtitulo promosionando la pagina y este está pegado asi que parece que no podes hacer nada.
digo parece, por que si bien el video es de muy mala calidad: "acá lo que vale es la pista de audio"
es muy facil comprar peliculas en su lengua nativa, las venden en citios de internet.
asi que vamos de una a como sincronizar rapidamente una pista de audio.
video en mala calidad
video en buena calidad
mkvtoolnix
ffmpeg
paso 1
extraemos el audio del video de mala calidad
ffmpeg -i video.flv -vn -c:a libmp3lame -b:a 128k -vol 1300 1.mp3
nota el volumen bitrate y codec son a gusto
paso numero 2
probamos como queda
mkvmerge -o x.mkv video.bueno.extencion -s 0 --language 0:spa s.mp3
para dual audio
ffmpeg -i video.bueno.extencion -c:v copy -i s.mp3 -c:a copy
para una sola pista de audio
miramos como quedo:
si el sonido llega primero, es decir: dice hola y al segundo el tipo mueve la boca.
entonces tenemos que restar 1 segundo.
esto es a ojo pero la verdad que sale muy bien por que se lo puede ir regulando.
ffmpeg -i s.mp3 -ss 00:00:01 -c:a copy sa.mp3
con ese simple paso ya restamos 1 segundo a la pista de audio.
luego para probarlo volvemos a repetir
mkvmerge -o x.mkv video.bueno.extencion -s 0 --language 0:spa s.mp3
para dual audio
ffmpeg -i video.bueno.extencion -c:v copy -i sa.mp3 -c:a copy
para una sola pista
si nos quedamos vemos que nos hace falta repetimos el procedimiento
bueno en este otro caso el sonido llega despues de que el actor mueve la boca.
aquí vamos a buscar un punto sin mucho sonido para usarlo como parche.
supongamos que en el area de tiempo 00:05:10 hay un silencio.
vamos a tomar un segundo de ese silencio.
ffmpeg -i s.mp3 -ss 00:05:10 -t 00:00:01 -c:a copy sa.mp3 && ffmpeg -i "concat:sa.mp3|s.mp3" -c:a copy sb.mp3
de este modo habremos añadido un segundo al inicio de la pista de audio
para probarlo volvemos a repetir
mkvmerge -o x.mkv video.bueno.extencion -s 0 --language 0:spa sb.mp3
para dual audio
ffmpeg -i video.bueno.extencion -c:v copy -i sb.mp3 -c:a copy
nota en lo posible recuerden usar nombres correlativos para no equivocarse
a si sea a b c o 1 2 3
es tremendamente posible que en el caso de las series de tv se encuentre con puntos negros de tiempo que marcan el inicio de un comercial y que en un video estan y en otro no.
por esto es que hay que revisar el video y recuerden
si sc.mp3 funciona bien hasta los 20 minutos lo apartamos por que ya funciona y seguimos acomodando las pistas de audio desde lo que ya hicimos.
ejemplo:
comienza a variar luego de un punto negro en el minuto 20 con 1.500 segundos atrasados
ffmpeg -i audio.acomodado.hasta.el.minuto.20 -t 00:19:58.5 -c:a copy a.mp3 && ffmpeg -i audio.acomodado.hasta.el.minuto.20 -c:a copy -ss 00:20:00 b.mp3 && ffmpeg -i "concat:a.mp3|b.mp3" -c:a copy c.mp3
nota despues de 00:00:00. se cuenta en milesimos de segundos .999
[ agregado ]
video
123456789
audio
123456789
supongamos que tenemos un vide mas largo que un audio
123456789
12356789
partimos en dos al audio en donde está el problema
123 56789
duplicamos una parte del audio
123 56789 9
y la colocamos donde haga falta para lograr un bien mayor
123 4 56789=video
123 9 56789=audio
ahora vamos con un audio mas largo.
13456789=video
123456789=audio
buscamos un punto mudo y eliminamos una parte para que las demas coicidan
13456789=video
123456789=audio
si el video llega primero
ffmpeg -i s.mp3 -t 00:05:00 -c:a copy sa.mp3
ffmpeg -i s.mp3 -ss 00:05:01 -c:a copy sb.mp3
si el audio llega primero
ffmpeg -i s.mp3 -t 00:05:00 -c:a copy sa.mp3
ffmpeg -i s.mp3 -ss 00:05:01 -c:a copy sb.mp3
[para ambos]
ffmpeg -i "concat:sa.mp3|sb.mp3" -c:a copy -y sc.mp3
fin del post