• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

SIP сервер на esp8266. Как реализовать.

Arthur

Active member
@Arthur Обсуждение - Orange Pi Zero H2 Quad Core за 7$
На форуме есть поиск, если что. И заканчивайте оффтопик...
Спасибо, @Сергей_Ф .
Вы уж простите меня, но не удержусь от шутки в тему про оффтопик :)
"Нечего тут скапливаться больше трёх, расходимся, товарищи, расходимся, заканчиваем дискуссии :)."
Анекдот, вроде, был схожий :)...
 

IKSIK67

New member
Orange Pi вообще не вариант, это больно жирно будет ((( там эта плата составляет 90% всего модуля. И себестоимость должна быть максимум 300-500 р....
Так что буду мутить с библиотекой...
Есть у кого-нибудь подобный опыт переписывания библиотеки? как это делается вообще?.. Раньше вообще не сталкивался....
 

pvvx

Активный участник сообщества
Orange Pi вообще не вариант, это больно жирно будет ((( там эта плата составляет 90% всего модуля. И себестоимость должна быть максимум 300-500 р....
Так что буду мутить с библиотекой...
Есть у кого-нибудь подобный опыт переписывания библиотеки? как это делается вообще?.. Раньше вообще не сталкивался....
Уже описано - главное не SIP. SIP - это подобие HTTP сервера и он всего распределяет (согласовывает с клиентом) на каком протоколе будут передаваться потоки и занимается конфигурацией форматов в этих потоках. У вас выбор протоколов передачи данных нулевой. Всего один вариант :) RTP c кодеками, известными телефону.
Вот на него и пишется SIP. Т.е. выкидывается 99.9% его функций, т.к. они всё равно не обслуживаются. Вся работа заключается в описании драйверов передачи потоковых данных... Делать это никто не будет, т.к. выходит куцая реализация заточенная на конкретные устройства, а на такую оптимизацию (выкидывания кучи всего, оставив только необходимое) требуется дофига времени на изучение и отладку...
Так что сами пишите, отлаживаете и предоставляете сюда всем готовенькое - будем ругать и хаять :)
 
Последнее редактирование:

IKSIK67

New member
Уже описано - главное не SIP. SIP - это подобие HTTP сервера и он всего распределяет (согласовывает с клиентом) на каком протоколе будут передаваться потоки и занимается конфигурацией форматов в этих потоках. У вас выбор протоколов передачи данных нулевой. Всего один вариант :) RTP c кодеками, известными телефону.
Вот на него и пишется SIP. Т.е. выкидывается 99.9% его функций, т.к. они всё равно не обслуживаются. Вся работа заключается в описании драйверов передачи потоковых данных... Делать это никто не будет, т.к. выходит куцая реализация заточенная на конкретные устройства, а на такую оптимизацию (выкидывания кучи всего, оставив только необходимое) требуется дофига времени на изучение и отладку...
Так что сами пишите, отлаживаете и предоставляете сюда всем готовенькое - будем ругать и хаять :)
чувствую это будет очень непросто, учитывая, то что у меня очень мало опыта создания подобных штук....
 

pvvx

Активный участник сообщества
чувствую это будет очень непросто, учитывая, то что у меня очень мало опыта создания подобных штук....
Было бы просто - уже бы валялись в инет кучи от "портировшиков". Вы же выбрали самый сложный вариант - ESP8266, в котором вообще нет необходимой памяти, если даже обрезать имеющиеся реализации...
Из разбираемых на форуме модулей - претендент на возможное исполнение - это RTL8711AM. У него есть 2.5МБ RAM для реализации буферов и RTOS, кучи готовых исходников для кодеков к ARM (на asm), вариант RTP сервера в закрытом куске либы lib_rtsp.a SDK, что упрощает задачу.
RTP там используется для передачи видео и звука с камеры, включенной по USB (RTL8195AM) и возможна передача с файлов с SD... Управляется не SIP, а аналогом - RTSP — Википедия сервисом. Все заголовки и "реверсный код СИ" из IDA на это уже есть...
 
Последнее редактирование:

IKSIK67

New member
Было бы просто - уже бы валялись в инет кучи от "портировшиков". Вы же выбрали самый сложный вариант - ESP8266, в котором вообще нет необходимой памяти, если даже обрезать имеющиеся реализации...
Из разбираемых на форуме модулей - претендент на возможное исполнение - это RTL8711AM. У него есть 2.5МБ RAM для реализации буферов и RTOS, кучи готовых исходников для кодеков к ARM (на asm), вариант RTP сервера в закрытом куске либы SDK, что упрощает задачу.
RTP там используется для передачи видео и звука с камеры, включенной по USB (RTL8195AM). Управляется не SIP, а аналогом - RTPS сервисом.
хм, а это очень интересно..)) благодарю)
 

pvvx

Активный участник сообщества
Отлично) а что была за ошибка? о чем вы?
Написал RTPS, а надо было RTSP :)
В общем эти куски либы используются в Ameba Arduino Ameba Arduino: [RTL8195] Ameba Video Camera – Realtek IoT/Arduino Solution, стыкуются с SDK и написать с их использованием передачу звука на телефон или в броузер c проигрывателем вообще нет проблем.
Ameba Arduino: [RTL8195] UVC – Video Streaming – Realtek IoT/Arduino Solution
Т.е. практически на уровне Arduino...
Перерабатывать в нормальные исходники лень - жду что это сделают фанаты ESP-32S, а потом вставлю в свой SDK для RTL модулей :)
 
Последнее редактирование:

IKSIK67

New member
Написал RTPS, а надо было RTSP :)
В общем эти куски либы используются в Ameba Arduino Ameba Arduino: [RTL8195] Ameba Video Camera – Realtek IoT/Arduino Solution, стыкуются с SDK и написать с их использованием передачу звука на телефон или в броузер c проигрывателем вообще нет проблем.
Ameba Arduino: [RTL8195] UVC – Video Streaming – Realtek IoT/Arduino Solution
Т.е. практически на уровне Arduino...
Перерабатывать в нормальные исходники лень - жду что это сделают фанаты ESP-32S, а потом вставлю в свой SDK для RTL модулей :)
RTPS это аналог SIP сервера? можно ли его использовать за передачу телефонных звонков между устройствами? то есть модуль звонит на несколько устройство по wi-fi и как только один из них поднял трубку, переадресует вызов на него.
 

pvvx

Активный участник сообщества
RTPS это аналог SIP сервера? можно ли его использовать за передачу телефонных звонков между устройствами? то есть модуль звонит на несколько устройство по wi-fi и как только один из них поднял трубку, переадресует вызов на него.
Есть вики - там доступно всё написано. RTSP — Википедия
 

IKSIK67

New member
Я исправил ошибку - lib_rtsp.a содержит RTP, RTSP и SDP протокол.
Содержит:
aac.o
avcodec.o
g711.o - rtp_g711_udp_send, ...
h264.o
mjpeg.o
rtp_api.o
rtsp_api.o
sdp.o
хм, а есть готовые куски кода с примерами использования данной библиотеки? просто хотелось бы какой-нибудь пример, что бы понять, как она работает и что необходимо для создания соединения))) и зачем нужен каждый из этих файликов)
 

IKSIK67

New member
Я исправил ошибку - lib_rtsp.a содержит RTP, RTSP и SDP протокол.
Содержит:
aac.o
avcodec.o
g711.o - rtp_g711_udp_send, ...
h264.o
mjpeg.o
rtp_api.o
rtsp_api.o
sdp.o
Сейчас разбираюсь с библиотекой, у меня в IAR выдает 630 ошибок. причем исправление ошибок не уменьшает общее число))) заметил, что там почти все одно и тоже во всех файлах. Какие вообще за что отвечают и зачем нужны? не мог бы рассказать? И да, хотелось бы примеры где-то найти на эту библиотеку... может есть другие?...
PS
там какая то жуть в библиотеке....
 
Сверху Снизу