Повторное вещание захваченного MPEG DASH или HLS - PullRequest
0 голосов
/ 28 декабря 2018

Итак, проблема в том, что у меня есть файл pcap, заполненный пакетами неизвестного типа, захваченными в середине сессии. Единственное, что я знаю об этом, это то, что это носитель, передаваемый по HTTP.Я сузил свой поиск в основном до MPEG DASH или HLS, но я все еще не уверен ... Есть едва ли какая-либо полезная документация / RFC о стандартах относительно любого из них, таких как наличие заголовков, и если он использует один, то какиеполя заголовка и как долго.

Глядя на это на wireshark, убирая HTTP-заголовок, сбрасывая остальное как двоичный файл и используя комбинацию шестнадцатеричного редактора и vimdiff, я заметил несколько закономерностей.Есть 36 байтов, которые идентичны, за исключением 8 изменяющихся, 8 байтов, которые изменяются, следуют шаблону:

  • Байт 3 и 4: Формирует пару и чередует 3 набора по 2 байта.
  • Байты 7 и 8: увеличивая каждый раз на 2, я думаю, что это порядковый номер для проверки целостности данных при повторной сборке полезных нагрузок в месте назначения.
  • Байты 11 и 12:Приращения, по-видимому, связаны с 9-м и 10-м байтами для формирования временной метки сортировки.
  • Байт 21 и 22: образует пару и чередует 2 набора (пока) пары из 2 байтов.

После этих 36 байтов данные сильно отличаются, и я предполагаю, что это фактическая полезная нагрузка.3 и 4 не разделяют ту же комбинацию байтов, что и 21 и 22, что заставляет меня думать, что в этом блоке из 36 байтов есть два заголовка.Я думаю, что где-то есть перерыв, и первый раздел является заголовком для MPEG DASH / HLS, а второй раздел является заголовком для кодека.

Кто-нибудь имеет опыт работы с этим типом потоковой передачи мультимедиа или знаетлюбая документация относительно заголовков для этого типа?Я пытаюсь написать Java-программу, которая воспроизведет это.

...