H264 (NAL) байтовый поток
Используется в основном для отправки непосредственно на декодер на одном ПК, а не для передачи по сети. У него простые правила форматирования:
- Каждый кадр начинается с того же 3-байтового кода начала
0x000001
- Поток байтов должен начинаться с кадра «Наборы параметров последовательности», за которым следует кадр «Наборы параметров изображения», затем могут следовать другие кадры (I, P, B)
- Все кадры в нем являются целыми кадрами - если кадр IDR имеет размер 10 МБ, он будет иметь размер 10 МБ от начального кода
0x000001
до начального кода 0x000001
следующего кадра
Пакетированный поток H264
Он используется только для передачи по TCP в ограниченной сети MTU. Каждая сеть имеет MTU (максимальная единица передачи), которая может быть отправлена одновременно через TCP. Обычно это около 1500 байт. Итак, если вы хотите отправить 10 МБ фрейма IDR по TCP, вам придется разбить его на части, чтобы части соответствовали MTU. Поток H264, принятый таким образом, называется пакетированным потоком.
Чтобы декодировать этот поток, вы должны восстановить целые кадры на принимающей стороне, и обычно вы хотите сделать из него H264 NAL Byte Stream, чтобы вы могли отправить его в декодер ...
Правила пакетирования можно найти здесь: http://www.rfc -editor.org / rfc / rfc3984.txt