URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 6422
[ Назад ]

Исходное сообщение
"Video Streaming"

Отправлено Alexious , 28-Апр-07 15:55 
Привет.
Хочется через перл передавать видео стим в сеть. Вопрос.
Есть ли в перле встроенный механизм синхронизации? пакеты должны идти через определенное точное!!! время.

Содержание

Сообщения в этом обсуждении
"Video Streaming"
Отправлено Romik , 28-Апр-07 16:43 
videolan.org

perl то тут при чём?


"Video Streaming"
Отправлено NuINu , 28-Апр-07 16:45 
>videolan.org
>
>perl то тут при чём?

так он на перле делает.


"Video Streaming"
Отправлено Alexious , 28-Апр-07 16:49 
>>videolan.org
>>
>>perl то тут при чём?
>
>так он на перле делает.
Да, приходится, есть некоторые особенности ради которых я решил использовать перл. Все правильно, через сокеты я посылаю udp пакеты. Хотелось бы их синхронизировать по времени. По идее они должны посылаться через очень небольшой но фиксированный промежуток.

"Video Streaming"
Отправлено Homewrecker , 28-Апр-07 18:25 
>>>videolan.org
>>>
>>>perl то тут при чём?
>>
>>так он на перле делает.
>Да, приходится, есть некоторые особенности ради которых я решил использовать перл. Все
>правильно, через сокеты я посылаю udp пакеты. Хотелось бы их синхронизировать
>по времени. По идее они должны посылаться через очень небольшой но
>фиксированный промежуток.

модуль Time::HiRes
или через select(undef,undef,undef,время) #


"Video Streaming"
Отправлено primus , 29-Апр-07 20:48 
>>>>videolan.org
>>>>
>>>>perl то тут при чём?
>>>
>>>так он на перле делает.
>>Да, приходится, есть некоторые особенности ради которых я решил использовать перл. Все
>>правильно, через сокеты я посылаю udp пакеты. Хотелось бы их синхронизировать
>>по времени. По идее они должны посылаться через очень небольшой но
>>фиксированный промежуток.
>
>модуль Time::HiRes
>или через select(undef,undef,undef,время) #

мнится  мне, что гарантированно-точный промежуток времени при отправке пакета
ничего не гарантирует на приемном конце (пакеты могут приходить не c той периодичностью
и не в той очередности), нужно использовать еще какой-л протокол поверх udp


"Video Streaming"
Отправлено Alexious , 30-Апр-07 09:45 
>>>>>videolan.org
>>>>>
>>>>>perl то тут при чём?
>>>>
>>>>так он на перле делает.
>>>Да, приходится, есть некоторые особенности ради которых я решил использовать перл. Все
>>>правильно, через сокеты я посылаю udp пакеты. Хотелось бы их синхронизировать
>>>по времени. По идее они должны посылаться через очень небольшой но
>>>фиксированный промежуток.
>>
>>модуль Time::HiRes
>>или через select(undef,undef,undef,время) #
>
>мнится  мне, что гарантированно-точный промежуток времени при отправке пакета
>ничего не гарантирует на приемном конце (пакеты могут приходить не c той
>периодичностью
>и не в той очередности), нужно использовать еще какой-л протокол поверх udp
>

То, что пакеты придут не в той очередности это не проблема. На приемной стороне у меня все восстановится.


"Video Streaming"
Отправлено Alexious , 30-Апр-07 10:13 
>>>>videolan.org
>>>>
>>>>perl то тут при чём?
>>>
>>>так он на перле делает.
>>Да, приходится, есть некоторые особенности ради которых я решил использовать перл. Все
>>правильно, через сокеты я посылаю udp пакеты. Хотелось бы их синхронизировать
>>по времени. По идее они должны посылаться через очень небольшой но
>>фиксированный промежуток.
>
>модуль Time::HiRes
>или через select(undef,undef,undef,время) #


Какой нибуть event timer использовать


"Video Streaming"
Отправлено Alexious , 30-Апр-07 11:38 
>>>>>videolan.org
>>>>>
>>>>>perl то тут при чём?
>>>>
>>>>так он на перле делает.
>>>Да, приходится, есть некоторые особенности ради которых я решил использовать перл. Все
>>>правильно, через сокеты я посылаю udp пакеты. Хотелось бы их синхронизировать
>>>по времени. По идее они должны посылаться через очень небольшой но
>>>фиксированный промежуток.
>>
>>модуль Time::HiRes
>>или через select(undef,undef,undef,время) #
>
>
>Какой нибуть event timer использовать

use Time::HiRes qw ( setitimer ITIMER_VIRTUAL time );

  $SIG{VTALRM} = sub { print "Hello", "\n" };
  setitimer(ITIMER_VIRTUAL, 10, 2.5);

Думаю примерно так но что то не работает . Vendor has not defined


"Video Streaming"
Отправлено Alexander S. Salieff , 07-Май-07 19:18 
>Привет.
>Хочется через перл передавать видео стим в сеть. Вопрос.
>Есть ли в перле встроенный механизм синхронизации? пакеты должны идти через определенное
>точное!!! время.

Глядеть в сторону протоколов RTP/RTCP/RTSP, чтобы не изобретать велосипеды. Они как раз предназначены для передачи мультимедиа потоков через UDP, восстановления порядка, временой последовательности, потерянных пакетов и т.д. Протоколы известные и распространенные, скорее всего есть их модульная реализация для перла.