LINUX.ORG.RU

Проблема с ключевым кадром(?) при склейке файлов

 


0

2

Скачал фильм в виде полутора десятков видеофайлов (не помню, откуда). Склеил их в один командой ffmpeg -f concat -i список.txt -c copy имя.mp4. На стыке файлов 13 и 14 — ошибка. В mplayer в этом месте изображение на несколько секунд замирает, в mpv перескакивает на несколько секунд вперёд и рассинхронизируется со звуком. Если смотреть 14-й файл, потерянные кадры там присутствуют в самом начале.

Можете скачать и убедиться: 13.cache.flv, 14.cache.flv, list2.txt, склеивать командой
ffmpeg -f concat -i list2.txt -c copy 13-14.flv
или
ffmpeg -f concat -i list2.txt -c copy 13-14.mp4
Глюк в районе 0:06:42.

В чём проблема? Лечится?

Да, я знаю, что этот фильм можно скачать в другом месте. Но интересно, как детектировать такую проблему, если она возникнет снова, и как с ней бороться?

★★★★★

Сначала все flv поместить в ts контейнер ffmpeg -i 13.cache.flv -c copy 13.cache.ts только потом их склеивать.

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

14 файл сам по себе дефектный с пропуском кадров?

Кадры в нём есть. Дефектный ли он в чём-то ещё — не знаю.

question4 ★★★★★
() автор топика

В чём проблема? Лечится?

Лечится транскодингом. Простая склейка работает только на потоках ts, по опыту.

vvn_black ★★★★★
()
Ответ на: комментарий от yandrey

Сначала все flv поместить в ts контейнер ffmpeg -i 13.cache.flv -c copy 13.cache.ts только потом их склеивать.

Сработало. Спасибо!

question4 ★★★★★
() автор топика

@vvn_black, @yandrey, кажется, нашёл причину. При смене контейнера с FLV на TS на 13-м файле появляется сообщение «Found invalid index entries, clearing the index.» Если сконвертировать 13-й файл из FLV в FLV и затем использовать его при склейке фильма из FLV, тоже всё работает правильно.

question4 ★★★★★
() автор топика
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.