Ответы пользователя по тегу H.264
  • Как правильно "разрезать" h264 фал?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Коротко - вы опухнете вручную разгребать всю ту чепуху из бит, которой является файл в формате h264. Там контейнер в контейнере контейнером погоняет.

    Возьмите libav и не ломайте себе голову.

    Длинно:
    h264 - это формат сжатия видео, который содержит опорные и всякие разные промежуточные кадры. Опорный кадр содержит в себе все что нужно для инициализации кодека, поэтому, если аккуратно угадать, можно добиться того, что декодер сможет инициализироваться и продолжить работу. Однако для этого, нужно аккуратно проанализировать весь битовый поток.

    Далее, сжатое видео может лежать в каком-то медиаконтейнере, которых много. Скорее всего, регик пишет в h264-annex B (это то, что надо гуглить), который является цепочкой блоков NAL разного сорта. Среди них есть блоки, содержащие настройки кодека, по которым можно понять, что вот этот вот кадр - это I-Frame, и на нем можно видео порезать. Но там еще нужно что-то придумывать с метками времени, иначе вместо перемотки у вас получится дурдом.

    Каждый блок NAL содержит заголовок, а заканчивается значением 00 00 00 01

    Так что первым этапом можете написать дампалку, которая будет выковыривать блоки NAL и писать их размер и тип. Можно нагуглить такую дампалку (они есть) и сидеть, сравниваться.
    Ответ написан
    1 комментарий