Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - RTSP-C-LINUX

Ответить
Настройки темы
C/C++ - RTSP-C-LINUX

Пользователь


Сообщения: 78
Благодарности: 5

Профиль | Отправить PM | Цитировать


Всем добрый день!

Хочу научиться создавать примерно следующее:

Есть IP камера. Стоит главная задача написать приложение, которое цепляется к этой камере одним RTSP потоком, само при этом являясь сервером RTSP. Основная цель - организация соединения к видеопотоку большого числа клиентов, сохранив на камеру один поток.

Подскажите, в каком направлении думать, где искать С-библиотеки на эту тему. Самоцель - непременно разобраться самому, готовые решения не интересуют.

Отправлено: 20:05, 17-09-2015

 

Пользователь


Сообщения: 78
Благодарности: 5

Профиль | Отправить PM | Цитировать


В продолжении этой темы. Что такое RTSP и с чем его можно съесть описано в описании протокола. Вся соль - парсинг текстовых заголовков RTSP.

Вопрос о теории. Допустим, некий байтовый массив занимает в памяти некий объем). Процесс его создавший, публикует его адрес и размер, и постоянно его обновляет. Т.е цепляется к потоку от камеры, и пишет передаваемый траффик в этот массив.
Тонкости пойму в процессе...

Суть вопроса такова: Если некий другой процесс (точнее много процессов) получат этот опубликованный адрес, и будут ОДНОВРЕМЕННО пытаться с ним работать, это не приведет к краху доступа к RAM? И в итоге крах приложения...
Т.е один процесс все время пишет(в первом приближении), а куча других пытаются читать.


Будет ли жить такое решение?
Речь идет о С, среда - Linux.

Отправлено: 12:53, 08-11-2015 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для User001

Ветеран


Сообщения: 740
Благодарности: 116

Профиль | Отправить PM | Цитировать


Цитата evpu:
Суть вопроса такова: Если некий другой процесс (точнее много процессов) получат этот опубликованный адрес, и будут ОДНОВРЕМЕННО пытаться с ним работать, это не приведет к краху доступа к RAM? »
А у вас получится получить доступ к памяти, используемой другим процессом?
Цитата evpu:
Вопрос о теории. Допустим, некий байтовый массив занимает в памяти некий объем). Процесс его создавший, публикует его адрес и размер, и постоянно его обновляет. Т.е цепляется к потоку от камеры, и пишет передаваемый траффик в этот массив.
Тонкости пойму в процессе... »
Смотрите в сторону IPC (разделенная память и методы работы с общими ресурсами в принципе).
Цитата evpu:
Речь идет о С »
Почему именно этот язык?
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:09, 08-11-2015 | #3


Пользователь


Сообщения: 78
Благодарности: 5

Профиль | Отправить PM | Цитировать


ОК, спасибо!

В С есть мало-мальски наработки, работающий проект, пишу на нем относительно свободно... Хотя работы еще непочатый край, знания весьма начальны.
А задачи вполне реальные. Да и наблюдать за производительностью решений на нем довольно приятно!

По поводу доступа к памяти! Если я опубликую через раскрытие указателя диапазон адресов памяти используемый потоком, неужто по данному адресу другой процесс не сможет ничего прочитать? Поправьте если я неправ, но ведь снимаются же дампы RAM тех же исполняемых файлов, и то, что они заняты - не мешает их читать! Есть в частности под виндой WinHEX, с помощью которого можно залезть прямо в память.

Последний раз редактировалось evpu, 08-11-2015 в 19:19.


Отправлено: 19:13, 08-11-2015 | #4


Аватара для User001

Ветеран


Сообщения: 740
Благодарности: 116

Профиль | Отправить PM | Цитировать


Цитата evpu:
ОК, спасибо! »
Пожалуйста.
Цитата evpu:
В С есть мало-мальски наработки, работающий проект, пишу на нем относительно свободно... »
Если это вам дается достаточно легко - то классно.

Цитата evpu:
По поводу доступа к памяти! Если я опубликую через раскрытие указателя диапазон адресов памяти используемый потоком, неужто по данному адресу другой процесс не сможет ничего прочитать? Поправьте если я неправ, но ведь снимаются же дампы RAM тех же исполняемых файлов, и то, что они заняты - не мешает их читать! »
Процессы не работают с физической памятью, они работают с виртуальной (1, 2) так что публикуемый вами адрес - адрес в виртуальной памяти. Задача ОС изолировать адресное пространство процессов, так что если вы будете просто писать в память другого процесса, то как раз можете получить падение процесса, непонятные данные и т.д.

В любом случае вам нужно синхронизировать чтение и запись в буфер, а для этого как раз нужно межпроцессное взаимодействие. У вас, как я понял, 1 и 1 задача производителя-потребителя.
Это сообщение посчитали полезным следующие участники:

Отправлено: 09:16, 11-11-2015 | #5



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - RTSP-C-LINUX

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Debian/Ubuntu - Linux mint 17 + Play on linux проблема с установкой программ borison Общий по Linux 0 31-05-2014 12:01
UserGate - [решено] RTSP и Usergate 5.2 stranges Сетевые технологии 5 26-11-2012 16:02
Медиа - [решено] mms и rtsp в системе без wmp soy Microsoft Windows 7 2 30-05-2011 17:52
Linux Foundation и UMB Bank выпустили кредитную карту для сторонников Linux OSZone News Новости информационных технологий 0 01-11-2010 12:30
Телефон с поддержкой потокового видео (rtsp или http) dascon Мобильные ОС, смартфоны и планшеты 6 01-06-2005 05:41




 
Переход