RTP multicast

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

RTP multicast

Сообщение mildok » 20.09.2012 22:10:54

Собственно продолжение темы

http://lazarus.freepascal.org/index.php?topic=12704.0

Интересует как обстоят дела с RTP в Lazarus'е на 2012 год? Есть ли компоненты, какие-то? Планируются ли?

Окромя того в теме указанной выше есть ссылка:

https://sourceforge.net/projects/paslibvlc/

Как, я понял - это может помочь воспроизвести с удалённого места видео. Как обстоят дела с RTP и multicast'ом, я не совсем понял.

Итого: есть ли в Lazarus'е/Freepascal'е, компоненты с помощью которых можно создавать вещание RTP, подключаться к вещанию RTP?

Добавлено спустя 11 часов 53 минуты:
Ещё из интересных фактов:
1) Протокол RTP был разработан в 1996 г.
2) В библиотеки ararat synapse (http://www.ararat.cz/synapse/doku.php/features), которую я очень люблю нет реализации RTP (и RTCP тоже нет)
3) Нашёл реализацию RTP под Delphi на сайте http://tothpaul.free.fr . Прямая ссылка на исходники: http://tothpaul.free.fr/zip/SIPInside-0.4.9-src.zip. В этих исходниках человек реализовал ещё и RTCP.

Из всеобъемлющей: http://ru.wikipedia.org/wiki/RTP , я так понял, что в пакетиках RTP есть штамп времени и номер пакета. Значит ли это, что RTP - это по сути UDP+(штамп_времени+номер_пакета), так как несмотря на то, что RTP - это протокол транспортного уровня, я не совсем понимаю зачем ещё может понадобиться (штамп_времени+номер_пакета) в TCP например....

Появился вопрос - ежели не так уж много людей реализует под Delphi и Freepascal Real-Time-Protocol по multicast адресам, то может быть RTP не такая уж хорошая штука?

Добавлено спустя 20 минут 4 секунды:
Да, и есчё пока не забыл - сейчас пользуюсь реализацией Ararat Synapse, multicast, что мне очень нравится. Окромя того, писал под windows, но благодаря synapse ararat, перекомпиляция под linux не должна вызвать переписывания всего кода =) . Модуль только не win, а linux надо будет подключить... Но чего-то я я уже не по теме...
Т.е. ежели я сейчас буду добавлять внутрь пакетиков (штамп_времени+номер_пакета), то я внезапно получу RTP-протокол по multicast адресам?

Вообщем жду ответов - любых. =)
mildok
новенький
 
Сообщения: 22
Зарегистрирован: 08.05.2010 14:09:36

Re: RTP multicast

Сообщение B4rr4cuda » 21.09.2012 23:06:33

Я тоже жду) Тихо подписался на тему и жду)
Аватара пользователя
B4rr4cuda
энтузиаст
 
Сообщения: 693
Зарегистрирован: 28.12.2007 07:48:35

Re: RTP multicast

Сообщение mildok » 22.09.2012 14:53:09

Хмм...странно, что так мало людей отвечает - предварительные выводы:

1) RTP по multicast - не нужен.
2) Я задаю глупые вопросы.
3) Власти скрывают мой пост, чтобы люди не узнали всей правды об инопланетянах!!

Случай 3) зауряден, его рассматривать не будем.
В случае 1) я ничего не понимаю - проект vlc - довольно стар, и вообще говоря - это единственный способ трансляции киношек по RTP и multicast адресам.

Нашёл в гугле некоторые платные компоненты для Delphi - здесь писать не буду дабы баном не получить по наглой ....
Бесплатных компонентов, кроме описанных выше - не нашёл.

Случай 2) - возможно я КриворуконоК... но ведь тогда, добрые люди на форуме уже давно сказали бы мне об этом?


Для удобства - вот "нормализованные" вопросы из первого поста:

I) Есть ли в Lazarus'е/Freepascal'е, компоненты с помощью которых можно создавать вещание RTP, подключаться к вещанию RTP? Планируются ли?
II) Ежели не так уж много людей реализует под Delphi и Freepascal Real-Time-Protocol по multicast адресам, то может быть RTP не такая уж хорошая штука?
Ш) Если я сейчас буду добавлять внутрь пакетиков (штамп_времени+номер_пакета), то я внезапно получу RTP-протокол по multicast адресам?
IV) Эта штука https://sourceforge.net/projects/paslibvlc/, как я понял может помочь воспроизвести с удалённого места видео. Как обстоят дела с RTP и multicast'ом, я не совсем понял. Могёт ли? Знаю, что надо брать и проверять самому - но если кто пробовал, подскажите стоит ли заниматься. По-моему - создать трансляцию RTP по multicast адресам, она не сможет.
mildok
новенький
 
Сообщения: 22
Зарегистрирован: 08.05.2010 14:09:36

Re: RTP multicast

Сообщение B4rr4cuda » 23.09.2012 00:52:11

Боюсь, что на ваши вопросы никто не ответит, т.к. это очень специфичная штука. Открытые реализации её которой есть на сях - можно подглядывать, а то и юзать, как библиотеки.
1) Вряд ли.. по крайней мере не в открытом доступе.
3) Нет, но получите свой велосипед, с ограниченными возможностями.
4) Эту штуку тут недавно проклинали и пытались заставить работать. Не получилось. Я с ней сталкивался под виндой на делфе и тоже проклинал, хотя работать заставил.

Дела с мультикастом никак не обстоят. Мало кто с этим сталкивается. Лучше попробуйте сами и расскажете нам, как с этим обстоит дело)
Аватара пользователя
B4rr4cuda
энтузиаст
 
Сообщения: 693
Зарегистрирован: 28.12.2007 07:48:35

Re: RTP multicast

Сообщение mildok » 23.09.2012 01:10:42

Спасибо за ответ.

Пойду делать велосипеды =)
До мопедов ещё далеко, значится...

Кстати, вопрос на миллион долларов же - Lazarus уже может делать полно-приводные внедорожники или ещё только мотоциклы без прицепа? Ответ давать конечно же согласно своему мнению, кратенько без холиваров =)
mildok
новенький
 
Сообщения: 22
Зарегистрирован: 08.05.2010 14:09:36

Re: RTP multicast

Сообщение Mr.Smart » 23.09.2012 08:29:47

mildok писал(а):Кстати, вопрос на миллион долларов же - Lazarus уже может делать полно-приводные внедорожники или ещё только мотоциклы без прицепа? Ответ давать конечно же согласно своему мнению, кратенько без холиваров =)

Это зависит от квалификации программиста, а не как не от среды. FPC довольно мощный инструмент.
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: RTP multicast

Сообщение mildok » 23.09.2012 11:57:41

Mr.Smart писал(а):Это зависит от квалификации программиста, а не как не от среды. FPC довольно мощный инструмент.


Теперь, Я счастлив!
Спасибо =)
mildok
новенький
 
Сообщения: 22
Зарегистрирован: 08.05.2010 14:09:36

Re: RTP multicast

Сообщение B4rr4cuda » 23.09.2012 16:26:22

Mr.Smart писал(а):Это зависит от квалификации программиста, а не как не от среды. FPC довольно мощный инструмент.

Еще от терпимости программиста к workarround-ам. Я один проектик клепаю в свободное время, уже где-то на четыре метра сорцов и всяких разных воркэраундов там хватает. Причем их приходится править при обновлении fpc. Иногда вообще чудеса чудесатые происходят и приходится искать другие методики работы, но, в принципе, все работоспособно.
Аватара пользователя
B4rr4cuda
энтузиаст
 
Сообщения: 693
Зарегистрирован: 28.12.2007 07:48:35

Re: RTP multicast

Сообщение mildok » 24.09.2012 00:05:00

Угу, workaround - они вообще весёлые... =D

Я вобщем-то студентообразный чудовищ и вот - делал такую шткуовину:

Зеркальный драйвер+приложение, которое по multicast вещает в компьютерный класс картинку рабочего стола.
Вначале использовал зеркальный драйвер uvnc, потом сделал свой.

Дык и вот - когда только начинал писать всё это я сделал dll, в которую запихнул функцию создающую класс для работы с зерк. драйвером uvnc! А приложение использовало эту dll получало адрес в памяти с картинкой рабочего стола.

Спрашивается зачем такие извращения с dll'кой? Разгадка - я использовал класс предоставленный в SDK UVNC идущей вместе с зерк. драйвером. А там всё было на c++. А потом у меня начинались весёлые танцы с VMT (Virtual Method Table), т.к. итить VMT Lazarus'а и VMT C++ не совпадают..... кстати жешь разрешение этой проблемы оказалось в смещении на SizeOf(TVmt).

Такой вот workaround - я как истиный студент делаю всё через.. :!: ...
Но вобщем-то всё переделал - сейчас никаких dll'ок и вообще ничего из uvnc... Иногда только сравниваю работу зерк. драйвера своего и uvnc'ного...(Приложению без разницы - мой драйвер возвращает такую же структуру, как в uvnc sdk).

Собственного - сейчас делаю передачу только изменений рабочего стола вместо передачи всей картинки по multicast'у - думал может RTP мне поможет - тему поэтому создал.

А RTP значится не будет мне помогать - пичально сиё =( ... Ну да ладно, велосипеды изобретать - оно тоже интересно :D

Кстати, может подскажете: как я понял в RTP решается проблема кадров приходящих в разном порядке (штамп_времени+номер_пакета). А в RTCP, как я понимаю - частично решается ещё проблема потерянных пакетов, за_счёт "периодической передаче управляющих пакетов всем участникам сессии".

Итого две ненавистные проблемы UDP MULTICAST, решаются на ура. Собственно только, из-за того, что эти 2 проблемы решаются в RTP и RTCP я и обратил внимание на протокол RTP.

А вдруг есть что-то ещё? Какой-нибудь неизведанный и прекрасный протокол, который ещё лучше,чем RTP и RTCP! Подскажите :D


..Укажите путь заблудшему....блуднику...студенту с горящими бешенными, но красивыми глазами....

Оно можно, конечно можно делать flv или avi, а потом в настройках vlc транслировать по udp multicast - но мы идём другим путём! Ну...workaround жешь... :D
mildok
новенький
 
Сообщения: 22
Зарегистрирован: 08.05.2010 14:09:36

Re: RTP multicast

Сообщение rdtt69 » 26.09.2012 09:27:53

Добрый день.
Не знаю в тему или нет. Но я в свое время для голоса использовал библиотеку libortp. Она входит в проект linphone. Написана на C, значит перевести заголовочный файл на паскаль можно. Я частично это и сделал. Прием и передача RTP работали.
rdtt69
незнакомец
 
Сообщения: 7
Зарегистрирован: 13.07.2009 12:08:55


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 233

Рейтинг@Mail.ru