Vichatter
Vichatter это программное обеспечение Shareware в категории (2), разработанная «Sustain, Version unknown».
Последняя версия Vichatter в настоящее время неизвестна. Первоначально он был добавлен в нашу базу данных на 29.11.2010.
Vichatter работает на следующих операционных системах: iOS/Windows.
Vichatter не был оценен нашими пользователями еще.
Последние обновления
| 16.11.2023 | Signal 6.39.0 |
| 23.11.2023 | ARMY fandom: BTS game 20231010 |
| 23.11.2023 | Zip file extractor for Android 3.4 |
| 23.11.2023 | My Craft: Craft Adventure 1.0.9 |
| 23.11.2023 | Romantic Love Photo Editor 15.0 |
Принцип работы чатов vichatter.net
Мои упрашивания человека связанного с этим проектом www\vichatter\net, что бы он вкратце рассказал о его архитектуре, остались безуспешными, хотя мои вопросы и были сверх дилетантскими все же он не соизволил ответить, ну может быть это секрет фирмы, кто его знает. Ну да ладно суть в общем ясна из заголовка.
Мне интересно как работает приложение в частности чаты, держит ли както клиентская часть постоянно конект с сервером, используются ли сокеты, если используются то как рассылаются сообщения, сервер их каждому отдельно, или используется многоадресная рассылка и т. д.
Прошу высказать ваши сображения.
medwoodu
Злобный модер
Регистрация 22.12.2005 Сообщения 1 418
Мои упрашивания человека связанного с этим проектом www\vichatter\net, что бы он вкратце рассказал о его архитектуре, остались безуспешными, хотя мои вопросы и были сверх дилетантскими все же он не соизволил ответить, ну может быть это секрет фирмы, кто его знает. Ну да ладно суть в общем ясна из заголовка.
Мне интересно как работает приложение в частности чаты, держит ли както клиентская часть постоянно конект с сервером, используются ли сокеты, если используются то как рассылаются сообщения, сервер их каждому отдельно, или используется многоадресная рассылка и т. д.
Прошу высказать ваши сображения.
скорее всего это:
http://habrahabr.ru/blogs/adobe/103427/
http://labs.adobe.com/technologies/cirrus/
AngelGabriel
И имя мне — легион
Регистрация 23.11.2008 Сообщения 778
ооо спасибо вы как всегда даете пинок по нужному вектору)
medwoodu
Злобный модер
Регистрация 22.12.2005 Сообщения 1 418
ооо спасибо вы как всегда даете пинок по нужному вектору)
А что делать, кто-то же должен за вас все знать
Fatal Error
Well-Known Member
Регистрация 25.09.2006 Сообщения 85
http://3wforums.ru/topic/6063-video-chat/ вот темку почитайте, а ещё расскажите с кем вы общались?
Статус Закрыто для дальнейших ответов.
Поделиться:
- Форум
- Создание, продвижение и монетизация сайта
- Вопросы начинающих
Vichatter 1.10.0

Vichatter — новое мобильное приложение для популярного видеочата. Здесь тебя ждет живое общение с тысячами тех, кто также, как и ты, мечтает об увлекательных знакомствах. Просто включи камеру и наслаждайся морем позитива и отличного настроения прямо сейчас!
Лучший Telegram-канал про технологии (возможно)
Публикация потока из ffmpeg
Добрый день. Возникла необходимость публиковать поток из ffmpeg на WCS5, передавая при этом еще и объект custom. Насколько я понимаю, подключиться для такого стриминга можно только к приложению appKey = «flashStreamingApp». Сталкивались ли вы с такой задачей? Как правильно передать параметры подключения и объект custom из ffmpeg в WCS5?
Max
Administrator
Staff member
При коннекте к серверу из Flash AS3, custom-объект передается в параметрах NetConnection.connect()
code
Например
obj.custom = new Object(); obj.custom.token='123'; nc.connect(this.urlServer,obj);
Поэтому нужно смотреть как ffmpeg позволяет добавить параметры коннекта.
Например здесь показано как добавляются плоские параметры. Но эта информация может быть не актуальна.
Или здесь про передачу объектов.
Насколько я понимаю, подключиться для такого стриминга можно только к приложению appKey = «flashStreamingApp»
Да через flashStreamingApp
Ivan
Member
Отправляю поток из ffmpeg
ffmpeg -re -i /opt/vichatter-viplay/shared/htdocs/132.mp4 -f flv -rtmp_conn "O:1 NS:appKey:flashStreamingApp NS:name:12121212 NS:stream:12121212 NO:custom:O:1 NS:auth:22222222 NS:stream:3333333 O:0 O:0" rtmp://fws.vichatter.com:1935/12121212
В этом случае в логах менеджера
04:13:27,189 INFO agerRemoteRmiService - RMI TCP Connection(18557)-185.148.37.181 SEND REST OBJECT ==> URL:http://localhost:9091/EchoApp/connect OBJECT: < "nodeId" : "dORxhMBSBhZlf1vylM6e8U7xZIj4eE3n@185.148.37.181", "appKey" : "flashStreamingApp", "sessionId" : "ae64984d-5f0c-44ba-b2bd-a71598de2c60", "useWsTunnel" : false, "useWsTunnelPacketization2" : false, "useBase64BinaryEncoding" : false, "stream" : "12121212", "custom" : < "keys" : < "auth" : "java.lang.String", "stream" : "java.lang.String" >, "data" : < "auth" : "22222222", "stream" : "3333333" >>, "name" : "12121212" >
Это выглядит совсем не так, как если отправлять потом из браузера и URL неверный
Подскажите, какие данные надо отправлять в объект коннекта из ffmpeg.
Ivan
Member
А в Серверном логе
04:13:27,069 INFO F - New I/O worker #24 client part 1 validation success 04:13:27,074 INFO F - New I/O worker #24 initialized encryption / decryption ciphers 04:13:27,176 INFO A - New I/O worker #24 handshake done, rtmpe: false 04:13:27,177 INFO G - New I/O worker #24 command - connect 04:13:27,177 INFO G - New I/O worker #24 connect, client id: 276541107, application: [name: '' streams: <>]
name и stream пустые
Max
Administrator
Staff member
В серверном логе name относится к названию rtmp application и оно действительно пустое. Т.к. в пути rtmp://host:1935 нет application.
streams — это коллекция стримов и она тоже пустая, что корректно на момент коннекта. Поэтому с серверным логом все в порядке.
Подскажите, какие данные надо отправлять в объект коннекта из ffmpeg
Не занимались этим раньше, нужно тестировать.
Похоже вам все же удалось передать данные.
«data» : <
«auth» : «22222222»,
«stream» : «3333333»
>
Если так, то вы можете передать любые данные, пусть даже в одной строке, а потом их распарсить.
Ivan
Member
Вот же адрес публикации: rtmp://fws.vichatter.com:1935/12121212
12121212 — это же и должно быть name?
Max
Administrator
Staff member
У нас в реализации RTMP не используются приложения. Поэтому все что за слэшем игнорируется. Поэтому в логе оно пустое.
Ivan
Member
"nodeId" : "dORxhMBSBhZlf1vylM6e8U7xZIj4eE3n@185.148.37.181", "appKey" : "flashStreamingApp", "sessionId" : "16ba5260-c658-427c-996c-df34acedf074", "useWsTunnel" : false, "useWsTunnelPacketization2" : false, "useBase64BinaryEncoding" : false, "stream" : "12121212", "custom" : < "keys" : < "auth" : "java.lang.String", "stream" : "java.lang.String" >, "data" : < "auth" : "22222222", "stream" : "3333333" >>, "name" : "12121212"
"nodeId" : "dORxhMBSBhZlf1vylM6e8U7xZIj4eE3n@185.148.37.181", "appKey" : "flashStreamingApp", "sessionId" : "16ba5260-c658-427c-996c-df34acedf074", "mediaSessionId" : "702f6831-17b6-4bb7-92f8-3aae7993a241", "name" : "555555aaa", "published" : true, "hasVideo" : false, "hasAudio" : true, "status" : "PUBLISHING", "sdp" : "v=0\r\no=- 1988962254 1988962254 IN IP4 0.0.0.0\r\nc=IN IP4 0.0.0.0\r\nt=0 0\r\na=sdplang:en\r\nm=video 0 RTP/AVP 96\r\na=rtpmap:96 H264/90000\r\na=fmtp:96 profile-level-id=42e01f;packetization-mode=1\r\na=sendonly\r\nm=audio 0 RTP/AVP 97 8 0\r\na=rtpmap:97 SPEEX/16000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:0 PCMU/8000\r\na=sendonly\r\n", "record" : true, "recordName" : "stream-702f6831-17b6-4bb7-92f8-3aae7993a241-2te43uud5s943a5dmga3g61pou.mp4", "width" : 0, "height" : 0, "bitrate" : 0, "quality" : 0, "mediaProvider" : "Flash"
после коннекта сразу идёт какой-то запрос на запись
"record" : true, "recordName" : "stream-702f6831-17b6-4bb7-92f8-3aae7993a241-2te43uud5s943a5dmga3g61pou.mp4",
Так как во втором запросе не приходят данные auth и stream, то соответсвенно получаем отказ
Как добиться того что бы данные которые я добавил слались в каждом запросе и чтобы после connect был publishStream?
Ivan
Member
Кстати во втором запросе
«name» : «555555aaa»,
как раз то, что я отправил после слеша из ffmpeg.
Причём переопределился относительно запроса connect
ffmpeg -re -i /opt/vichatter-viplay/shared/htdocs/132.mp4 -f flv -rtmp_conn "O:1 NS:appKey:flashStreamingApp NS:name:12121212 NS:stream:12121212 NO:custom:O:1 NS:auth:22222222 NS:stream:3333333 O:0 O:0" rtmp://fws.vichatter.com:1935/application/555555aaa
Max
Administrator
Staff member
после коннекта сразу идёт какой-то запрос на запись
Это не запрос на запись. Показывает что стрим будет записан и в какой файл.
Так как во втором запросе не приходят данные auth и stream, то соответсвенно получаем отказ
custom — данные передаются в вызовах: connect, publishStream, playStream
в StreamStatusEvent эти данные не передаются, т.к. это событие генерируется на сервере.
Как добиться того что бы данные которые я добавил слались в каждом запросе и чтобы после connect был publishStream?
В каждом запросе они не будут посылаться.
В каждом запросе посылается один и тот же sessionId, который является уникалным и постоянным внутри коннекта:
"sessionId" : "16ba5260-c658-427c-996c-df34acedf074"
Нельзя сделать publish потока вне RTMP коннекта.
Поэтому нет смысла отправлять auth параметры внутри коннекта. Достаточно авторизовать сам коннект.
и чтобы после connect был publishStream?
flashStreamingApp реализует только connect метод.
Если его недостаточно, можете попробовать flashRoomApp зацепить на ваше API
update -l https://.. flashRoomApp
flashRoomApp реализует метод publishStream
Кстати во втором запросе
«name» : «555555aaa»,
как раз то, что я отправил после слеша из ffmpeg.
Причём переопределился относительно запроса connect
В данном случае, похоже что правильно распарсилось имя стрима
rtmp://fws.vichatter.com:1935/application/555555aaa
application — RTMP приложение
555555aaa — stream name
Ivan
Member
У меня приложение с appKey = flashRoomApp имеет не уникальное название
admin chatRoomApp roomApp 9 http://localhost:9091/RoomApp admin flashChatApp flashChatApp 6 http://localhost:9091/ChatApp admin conferenceApp conferenceApp 10 http://localhost:9091/ConferenceApp admin defaultApp defaultApp 1 https://api.vichatter.com/external.flashphoner.serverIncoming admin flashStreamingApp flashStreamingApp 4 https://api.vichatter.com/external.flashphoner.serverIncoming admin clickToCallApp clickToCallApp 12 http://localhost:9091/ClickToCallApp admin qaApp qaApp 3 http://localhost:9091/QAApp admin testApp testAppKey 17 http://185.148.37.182:8000/index.php admin chatRoomApp flashRoomApp 5 http://localhost:9091/RoomApp admin wcs3App wcs3App 2 http://localhost:9091/EchoApp admin websocketChatApp websocketChatApp 7 http://localhost:9091/ChatApp admin callApp callApp 11 http://localhost:9091/CallApp admin chatRoomApp chatRoomApp 8 http://localhost:9091/ChatRoomApp
И из-а этого я не могу его обновить командой
update app -l "https://api.vichatter.com/external.flashphoner.serverIncoming" chatRoomApp
