LINUX.ORG.RU

FFMPEG Non-monotonic DTS in output stream

 


0

2

Здравствуйте, подскажите пожалуйста работаю с контейнерами mkv убираю лишние дорожки. На некоторых видео выходит целое полотно таких ошибок, вот маленький пример, иногда на видео поток иногда на аудио поток выходит

[matroska @ 0x5edaa126cb80] Non-monotonic DTS in output stream 0:0; previous: 232199, current: 232132; changing to 232199. This may result in incorrect timestamps in the output file.
[matroska @ 0x5edaa126cb80] Non-monotonic DTS in output stream 0:0; previous: 232199, current: 232165; changing to 232199. This may result in incorrect timestamps in the output file.
[matroska @ 0x5edaa126cb80] Non-monotonic DTS in output stream 0:0; previous: 232399, current: 232365; changing to 232399. This may result in incorrect timestamps in the output file.
[matroska @ 0x5edaa126cb80] Non-monotonic DTS in output stream 0:0; previous: 232532, current: 232499; changing to 232532. This may result in incorrect timestamps in the output file.
[matroska @ 0x5edaa126cb80] Non-monotonic DTS in output stream 0:0; previous: 232666, current: 232632; changing to 232666. This may result in incorrect timestamps in the output file.
[matroska @ 0x5edaa126cb80] Non-monotonic DTS in output stream 0:0; previous: 232799, current: 232766; changing to 232799. This may result in incorrect timestamps in the output file.

Суть в чем, это работа именно с мета-данными контейнера? Повлияет ли это на синхронизацию видео-аудио? Да я понимаю что оно изначально возможно не правильно закодировано, хотелось бы избежать лишних перекодировок и оставить оригинальное качество. Или может есть вариант как заставить ffmpeg не изменять их? Пробовал в mkvmerge проделать эту работу и он как раз оставил данное уведомление в тишине и ничего с ним не сделал.


хотелось бы избежать лишних перекодировок и оставить оригинальное качество

Из-за этого. Видео собрано из видео- и аудио- кусков разной длины, начинающихся с ключевого фрейма, с разными временем (timestamp) начала и конца этих кусков. Для правильной (монотонной) синхронизации надо куски синхронизировать, вырезая начало и/или конец кусков. Начало куска можно вырезать только перекодировкой куска.

Если на результирующем видео нет заметных рассинхронизаций, то можно забить.

anonymous
()
Ответ на: комментарий от anonymous

Тут просто в предупреждение написано предыдущий: 232399, текущий: 232365; изменяется на 232399. Это может привести к неправильным временным меткам в выходном файле. Получается ffmpeg исправляет их

konoos
() автор топика

подскажите пожалуйста работаю с контейнерами mkv убираю лишние дорожки

сначала конечно же надо сконвертировать в нормальный человеческий контейнер: mp4.

max_lapshin ★★★★★
()