Re[4]: Битый mp4
От: Aniskin  
Дата: 16.06.24 12:42
Оценка:
Здравствуйте, andrey.desman, Вы писали:

AD>Какой-нибудь h264/avc1 имеет формат данных [nalu size][nalu data]... и все фреймы в теории можно восстановить. Особенно если каждый их них по 1 nalu занимает. Но тут надо еще pts и dts восстанавливать. Если b-frame нет, то это проще. Иначе не очень. SPS/PPS можно взять из аналогичного файла и если что подправить.


h264/avc1 — это как раз мой случай (moov целый). Читаю разную документацию и не вижу в ней упоминания терминов pts/dts/SPS/PPS. Можете ли вы сказать пару слов о них.

Я смотрю корректный mp4 файл и в нем первый Nalu имеет тип 6 "Supplemental enhancement information (SEI)", следующий имеет тип 5 "Coded slice of an IDR picture" (как я понимаю — это ключевой кадр), затем несколько имею тип 1 ("Coded slice of a non-IDR picture"), затем снова 5, затем снова несколько 1, и так до конца файла. Про тип 6 пишут, что он не обязателен. И если я все правильно понимаю, то мне нужно найти первый целый Nalu с типом 5, откинуть все Nalu до него, подправить tkhd/mdhd/stts/ctts/stsc/stsz/stco, и вроде бы должен получится корректный файла. Или я не правильно понимаю?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.