Я знаю, что WebRTC
был разработан для браузеров, но можно ли напрямую использовать библиотеки WebRTC для мобильных приложений?WebRTC в автономном мобильном приложении
Спасибо!
Я знаю, что WebRTC
был разработан для браузеров, но можно ли напрямую использовать библиотеки WebRTC для мобильных приложений?WebRTC в автономном мобильном приложении
Спасибо!
по состоянию на 14 мая here является андроидом проект с использованием WebRTC
, который хорошо работает.
Я перевел весь проект андроид на Objective-C
для iOS и получил WebRTC, работающий в iOS, но у меня проблемы с iPhone 4 и 4s. Просто работает в iPhone 5 и 5s.
Я думаю, что проблема в производительности. Когда я делаю видеозапись с библиотеками webrtc, она занимает около 140% от процессора на iPhone 5, и я думаю, что это много ресурсов, и iPhone 4s не справляется с этим.
Отредактировано
После борьбы с видеосоединению (всегда отключен через 10 секунд) я, наконец, получил WebRTC работает на iPhone 4s, все, что вам нужно сделать, это установить правильные ограничения при создании локального видеоисточника захвата объект:
NSString *_width = @"320";
NSString *_height = @"180";
NSString *_maxFrameRate = @"10";
RTCMediaConstraints *videoConstraints = [[RTCMediaConstraints alloc]
initWithMandatoryConstraints:@[[[RTCPair alloc] initWithKey:@"maxHeight" value:_height],
[[RTCPair alloc] initWithKey:@"maxWidth" value:_width],
[[RTCPair alloc] initWithKey:@"maxFrameRate" value:_maxFrameRate]] optionalConstraints:@[[[RTCPair alloc]
initWithKey:@"googCpuOveruseDetection" value:@"true"],
[[RTCPair alloc] initWithKey:@"googCpuLimitedResolution" value:@"true"]]];
RTCVideoSource *videoSource = [factory videoSourceWithCapturer:capturer constraints:videoConstraints];
RTCMediaStream *lms = [factory mediaStreamWithLabel:@"ARDAMS"];
[lms addVideoTrack:[factory videoTrackWithID:@"ARDAMSv0" source:videoSource]];
Обратите внимание, что это отправляет очень маленькое видео, но оно работает!
Olmedo, я также портирую AndroidRTC на iOS. Кажется, мне удалось настроить инициализацию, предложение, ответ, ледяные потоки. Тем не менее, я не могу подключить видеодорожку к просмотру видео. Есть что-то, что я могу пропустить? Ищет помощь .. Спасибо! – azfar
azfar, конечно, где я могу посмотреть ваш код? –
Это в моем частном репо. Можете ли вы отправить мне письмо с рукопожатием по адресу [email protected], чтобы я мог координировать работу с вами дальше? Спасибо – azfar
Пока нет, он поддерживается только в ночных браузерах Firefox и в Chrome, и в настольных версиях. См. http://www.webrtc.org
Редактировать: извините, я думал, что вы просите мобильные браузеры. Для родных приложений это выглядит определенным нет :(
Но, похоже, некоторых мобильных поддержки браузера http://www.morbo.org/2013/04/webrtc-support-on-android.html
Спасибо за ваш ответ. Но проект WebRTC содержит много библиотек, написанных на C, поэтому, я полагаю, для них необходимо написать API. Тем не менее я не уверен на 100%. – Taras
WebRTC теоретически может использоваться в мобильных приложениях, но тот факт, что это можно сделать, не означает, что вы можете использовать его сейчас. Все эти библиотеки должны быть перенесены в мобильные ОС и для Android, например, разработчик Android должен написать Java-интерфейс (api).Так что, как обычные пользователи мобильных SDK, я думаю, нам нужно подождать, пока это произойдет. – destan
Да, спасибо. Я думаю, что это все, что мне нужно услышать :) – Taras
Я не знаю, что вы имеете в виду под «использовать библиотеки WebRTC на мобильных приложениях непосредственно». Но это то, что я уже сделал. Создайте модули WebRTC NS/AEC/AECM/AGC/VAD с JNI + NDK и используйте общую библиотеку на Android. или вы можете создавать целые WebRTC VoE и ViE для Android и iOS
@bikkhoo: Вы имеете в виду, могли ли вы использовать webrtc на Android с Native App – Amitg2k12
@ Amitg2k12 yep, модули NS/VAD отлично работают в моем приложении, но AECM имеет небольшие проблемы с криками. – BillHoo
спасибо большое было бы здорово, если бы вы могли прокомментировать мой вопрос http://stackoverflow.com/questions/16933532/using-webrtc-in-native-app – Amitg2k12
Возможно работать с WebRTC в мобильных приложениях с использованием сторонних API, таких как OpenTok (только для iOS, с января 2014 Android в бета-версии) http://tokbox.com/opentok/webrtc/downloads/index.html и Addlive (IOS и Android) http://www.addlive.com/platform-overview/
Спасибо за ответ! – Taras
Мы (отказ от ответственности: я там работаю) построили набор библиотек для делать это @ Frozen горы, в IceLink. Полная реализация WebRTC для iOS, Android, .NET и т. Д.
Есть ли кордовая версия для iOS и Android? –
Вы можете использовать WebRTC с родными приложениями, но для этого требуется небольшая работа.
Если вы посмотрите на изображение, вы увидите красный прямоугольник внизу. Это родные библиотеки C++ WebRTC. Классы WebRTC и объекты WebRTC для аудио и видео также могут быть найдены как часть проекта WebRTC. Что вам нужно добавить, это API для вашего приложения, чтобы иметь возможность настраивать вызовы (интерфейс VOIP), стек сигнализации и NAT обходные утилиты (Core Protocol - для SIP это может быть что-то вроде PJSIP и PJNATH) и адаптер от вашего стека сигнализации до webrtc, сообщая ему, когда нужно открывать каналы для видео и аудио и когда их останавливать и т. д.
См. также : http://bloggeek.me/porting-webrtc-mobile/
Один ресурс, который вы можете захотеть взглянуть на это статья: how to get started with webrtc and ios without wasting 10 hours of your life
Одна проблема, которую я имею делает сеном из всех файлов библиотеки WebRTC/Libjingle
. На данный момент я могу запустить пример приложения, но мне жаль, что там не было примера «Hello World».
Есть проект ** ApprtcDemo ** –
На данный момент у вас есть два варианта:
По состоянию на март 2014 года, here способ сделать это, в самом деле:
Это было бы, если вы заинтересованы в том, чтобы нативный клиент.Если вы не возражаете, используя мобильный браузер, следующие из них в настоящее время поддерживаются:
У вас есть много местных клиентов, Клинт? –
Позвольте мне суммировать ответ, на Android Firefox фактически поддерживается WebRTC. С другой стороны, существует множество компаний, предоставляющих полный стек для создания продукта WebRTC. Если у вас есть после того, как просто WebRTC и создайте другой материал (адресация и т. Д.), Вам, вероятно, придется самому создать пару оберток. (Отказ от ответственности Я работаю Sinch)
[http://sinch.com]
[http://twilio.com]
[http://tokbox.com]
[http://nexmo.com]
[http://plivo.com] (I think)
Существует еще немного там, но они являются основными
Мы все наши различные преимущества и недостатки. если вы заинтересованы, отправьте электронное письмо, и я могу поговорить о sinch.
hi @cjensen Я попытался зарегистрировать пользователей для видеовызова, используя имя пользователя на двух разных устройствах с тем же именем пользователя. Как-то он вызывает первое устройство, как сделать его доступным только для последнего зарегистрированного пользователя. Я знаю, что мы можем использовать метод stopClient, но в моих условиях я не могу его использовать. Пожалуйста, помогите мне в этом –
Для прошивки, просто добавьте в ваш CocoaPods Podfile
pod "libjingle_peerconnection"
# Add this to the bottom so it won't have issues with active architecture
post_install do |installer_representation|
installer_representation.project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['ONLY_ACTIVE_ARCH'] = 'NO'
config.build_settings['VALID_ARCHS'] = ['armv7', 'i386']
end
end
end
Проверить this, для которых изменения доступны. Версия 6802.X отражает this от фактической базы кода WebRTC
.
Android скоро будет добавлен в maven central, я сделаю для этого изменение, когда это произойдет.
Если вы хотите, чтобы вручную построить WebRTC проверить github.com/pristineio/webrtc-build-scripts, который также включает в себя шаг за шагом руководство для обеих платформ
На сегодняшний день WebRTC официально доступен изначально на Android/IOS.
http://www.webrtc.org/native-code/android
http://www.webrtc.org/native-code/ios
Хотя под капотом, это просто Java/Objective C обертка вокруг API для C++.
Вы все еще можете использовать их, не просматривая JavaScript.
Java-обертка API: https://code.google.com/p/webrtc/source/browse/trunk/talk/#talk%2Fapp%2Fwebrtc%2Fjava%2Fsrc%2Forg%2Fwebrtc
Объективный C обертка API: https://code.google.com/p/webrtc/source/browse/trunk/talk/#talk%2Fapp%2Fwebrtc%2Fobjc%2Fpublic%253Fstate%253Dclosed
SightCall имеет WebRTC-совместимый SDK для Android, которая позволяет Android-нативные приложения подключаются к WebRTC в браузере. Вы можете получить SDK here
Моя команда проделала большую работу в этой области. Если вы ищете плагин Cordova, мы играем с открытым исходным кодом под названием PhoneRTC. У нас он работает на iOS, но он немного ненадежный, а соотношение сторон видео-окна фиксировано таким образом, что на большинстве устройств выглядит неестественно, но он работает.
Мы также создали демо-версию Android, используя libjingle. Libjingle теперь является частью проекта и базы кода WebRTC. This Ссылка, вероятно, устарела, но указывает на инструкции, которые работали для нас в то время.
См. Также this пример приложения для Android с помощью webrtc, phonertc и crosswalk-webview build on cordova, с peerjs.
Добро пожаловать в переполнение стека! Хотя это теоретически может ответить на вопрос, [было бы желательно] (// meta.stackoverflow.com/q/8259) включить сюда основные части ответа и предоставить ссылку для справки. –
Довольно поздно, чтобы ответить .. Но я просто создал рамки для простого добавления WebRTC в проект iOS. Вам не нужно будет создавать структуру WebRTC из библиотеки. Эта структура предоставит вам встроенный фреймворк вместе с оберткой для легкого добавления webRTC в ваше приложение. https://github.com/Ankit-Aggarwal/SwiftyWebRTC
Если вы нацеливаетесь на android> = L, вы можете легко создать собственное приложение webRTC, вставив (hrome) webview, который поддерживает WebRTC, в ваше приложение.
Проверьте мой ответ here, и я надеюсь, вы понимаете, что он работает на Android тоже. Старайтесь не получать уже реализованные библиотеки для некоторых серверов сигнализации (ps они оплачиваются).
В Tokbox есть библиотеки iOS, которые интегрируются с webRTC. Может стоить взглянуть на ... http://www.tokbox.com/learn-about-webrtc –
Спасибо, я рассмотрю это решение! – Taras
OpenTok на самом деле не является открытым исходным кодом и работает только с их API. – aredridel