LINUX.ORG.RU

Прием MPEG-TS через мультикаст


0

0

Есть два источника потока MPEG-TS - http и udp multicast. Если тупо записать полученное по http в файл, то он нормально проигрывается плеером. Если содержимое каждого udp записать по очереди в файл, то плеер воспроизводит мешанину из нормально видео и артефактов.

С содержимым udp пакета нужно еще что-то делать перед записью в файл? Я смотрел содержимое файлов - в обоих случаях там последовательность правильный TS-пакетов.

★★★★★

а UDP-пакеты случаем не перемешались между собой? посмотри в wireshark чем отличается данные в HTTP и в UDP

BreadFan ★★
()
Ответ на: комментарий от BreadFan

В http и udp идет не совсем синхронно, поэтому попасть в тот момент, когда будут одни и те же пакеты идти наверное невозможно.

init ★★★★★
() автор топика
Ответ на: комментарий от anonymous

udp рассылаются правильно (тот же vlc нормально их обрабатывает). Принимается тоже вроде нормально (python/twisted), заголовки каждого пакета выводит правильно.

init ★★★★★
() автор топика
Ответ на: комментарий от init

может просто некоторые пакеты теряются? или не успевают обработатся. upd ведь не гарантирует что все прилетят. А когда смотришь через vlc то глазом это просто не заметно из-за большого числа пакетов. Больше даже не знаю чем помочь.

anonymous
()
Ответ на: комментарий от anonymous

посмотреть netstat -s на предмет отброшенных UDP пакетов увеличить размер буфера приема на сетевом интерфейсе

anonymous
()

Все, как всегда какая-нибудь мелочь мешала. Я прочитал в спецификациях про длину пакета 8192 и соответственно считал udp такого размера. А они на самом деле были 16356 :) Всем спасибо, все заработало.

init ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.