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

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

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

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

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

Так что первым этапом можете написать дампалку, которая будет выковыривать блоки NAL и писать их размер и тип. Можно нагуглить такую дампалку (они есть) и сидеть, сравниваться.
Есть примеры в библиотеках DirectShow и Media Foundation. Предварительно можно визуально построить граф потоков с помощью приложений GraphEdit и TopoEdit.