Me sucedió muchas veces que podría terminar en archivos de video corruptos:
- video descargado de fuentes oficiales pero con torrent y por alguna razón no todas las piezas están en .mkv, .ts o .mp4
- registros en formato .ts donde en cierto punto faltan los datos
- videos copiados de un disco duro viejo con sectores dañados
Cuando reproduzco estos videos con VLC u otros jugadores, se reproducen hasta cierto punto y luego salen instantáneamente. A veces puedo intentar omitir la parte mala, pero podría encontrarme con otro sector malo y volver a tener una interrupción instantánea.
La pregunta es:
¿Puedo solucionar estos problemas (supongo que están relacionados con secuencias y fotogramas clave) con ffmpeg y tal vez en una copia -c, así que no tengo que volver a comprimir todo?
Lo que quiero lograr es un video completo donde se omitan las partes faltantes, prefiero un error en lugar de que mis videos se bloqueen.
Respuestas:
Si partes del archivo residen en sectores físicamente defectuosos, o por alguna razón, el sistema operativo no puede enviar el archivo completo a FFmpeg, entonces, naturalmente, FFmpeg no puede hacer nada al respecto. Debería obtener una utilidad que pueda ignorar esas partes y escribir las partes recuperables en un nuevo archivo, como ddrescue .
Ahora, si el protocolo del archivo no es la causa de los errores, puede intentar
fuente
-c copy
. Sorprendente que no funciona durante la recodificación.Invalid data found when processing input
, y ffmpeg se rinde.En la búsqueda de una mejor respuesta, una posible forma podría ser:
Sin embargo, estoy bastante seguro de que hay algunas opciones adicionales que pueden hacer que el resultado sea aún mejor ...
fuente