webrtc android web,GitHub - ddssingsong/webrtc_android: webrtc VideoCall VideoConference 视频通话 视频会议...

该博客介绍了基于WebRTC的Sky p2p metting语音视频系统,可用于单或多通道。项目有助于理解WebRTC通话流程,仅用于学习。已完成一对一、多对多音视频会议等功能,还有优化在进行中,提供了Android演示及版本更新日志,还给出交流群信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

f4031134365ad703941a2b8e9cec152a.png

Sky p2p metting (p2p视频会议)

A set of voice and video systems based on webrtc can be developed for single or multiple channels.

Through this project, you can get a clearer understanding of the whole call process of webrtc. This project is just for learning webrtc. If you feel it meets your needs, just download the source code and start your performance.

Server

You can find the server-side code from here.

Features

Completed

Support one-to-one voice and video

Support for many-to-many voice and video conferencing

Flexible configuration of signaling server and stun/turn forwarding penetration server

Dynamic permission application

Encapsulating core code into SDK

The whole process of calling, ringing and dialing

In progress

Various optimization

2.0.0_preview in dev

Effect

Single call

e4ffafb7eeb0557949a6c966bfd6839d.png

Multi-person conversation

image5.jpg

CHANGELOG

2.0.0

Various optimization

v1.2.0:

move to androidx

v1.1.2:

release base on android support

v1.1.1:

This version has implemented the basic functions.

v1.1.0

Complete Basic Video Conferences

Android demo

apk for master : AndroidDemo.apk

apk for branch_meeting : AndroidDemo.apk

Links

License

MIT License

Copyright (c) 2019 哒哒瑟

QQ

QQ Group:webrtc技术交流群

QQ 群 号:601332720

619413989 (2群)

加入群一起探讨webrtc,分享好的开源项目

出现了链接错误: ld.lld: error: undefined symbol: webrtc::NetEq::Config::Config() >>> referenced by test1.cpp:115 (packages/apps/zorro/neteq/test1.cpp:115) >>> out/target/product/rk3399_Android10/obj/EXECUTABLES/neteq_rtpplay_intermediates/test1.o:(CreateNetEq(webrtc::Clock*)) ld.lld: error: undefined symbol: webrtc::CreateBuiltinAudioDecoderFactory() >>> referenced by test1.cpp:120 (packages/apps/zorro/neteq/test1.cpp:120) >>> out/target/product/rk3399_Android10/obj/EXECUTABLES/neteq_rtpplay_intermediates/test1.o:(CreateNetEq(webrtc::Clock*)) ld.lld: error: undefined symbol: webrtc::DefaultNetEqFactory::DefaultNetEqFactory() >>> referenced by test1.cpp:123 (packages/apps/zorro/neteq/test1.cpp:123) >>> out/target/product/rk3399_Android10/obj/EXECUTABLES/neteq_rtpplay_intermediates/test1.o:(CreateNetEq(webrtc::Clock*)) ld.lld: error: undefined symbol: webrtc::DefaultNetEqFactory::CreateNetEq(webrtc::NetEq::Config const&, rtc::scoped_refptr<webrtc::AudioDecoderFactory> const&, webrtc::Clock*) const >>> referenced by test1.cpp:124 (packages/apps/zorro/neteq/test1.cpp:124) >>> out/target/product/rk3399_Android10/obj/EXECUTABLES/neteq_rtpplay_intermediates/test1.o:(CreateNetEq(webrtc::Clock*)) ld.lld: error: undefined symbol: webrtc::DefaultNetEqFactory::~DefaultNetEqFactory() >>> referenced by test1.cpp:132 (packages/apps/zorro/neteq/test1.cpp:132) >>> out/target/product/rk3399_Android10/obj/EXECUTABLES/neteq_rtpplay_intermediates/test1.o:(CreateNetEq(webrtc::Clock*)) ld.lld: error: undefined symbol: webrtc::NetEq::Config::~Config() >>> referenced by test1.cpp:132 (packages/apps/zorro/neteq/test1.cpp:132) >>> out/target/product/rk3399_Android10/obj/EXECUTABLES/neteq_rtpplay_intermediates/test1.o:(CreateNetEq(webrtc::Clock*)) ld.lld: error: undefined symbol: rtc::webrtc_checks_impl::FatalLog(char const*, int, char const*, rtc::webrtc_checks_impl::CheckArgType const*, ...) >>> referenced by checks.h:254 (packages/apps/zorro/neteq/include/rtc_base/checks.h:254) >>> out/target/product/rk3399_Android10/obj/EXECUTABLES/neteq_rtpplay_intermediates/test1.o:(CreateNetEq(webrtc::Clock*)) ld.lld: error: undefined symbol: webrtc::DefaultNetEqFactory::~DefaultNetEqFactory() >>> referenced by test1.cpp:132 (packages/apps/zorro/neteq/test1.cpp:132) >>> out/target/product/rk3399_Android10/obj/EXECUTABLES/neteq_rtpplay_intermediates/test1.o:(CreateNetEq(webrtc::Clock*)) ld.lld: error: undefined symbol: webrtc::NetEq::Config::~Config() >>> referenced by test1.cpp:132 (packages/apps/zorro/neteq/test1.cpp:132) >>> out/target/product/rk3399_Android10/obj/EXECUTABLES/neteq_rtpplay_intermediates/test1.o:(CreateNetEq(webrtc::Clock*)) ld.lld: error: undefined symbol: webrtc::SdpAudioFormat::SdpAudioFormat(std::__1::basic_string_view<char, std::__1::char_traits<char> >, int, unsigned long, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >&&) >>> referenced by test1.cpp:140 (packages/apps/zorro/neteq/test1.cpp:140) >>> out/target/product/rk3399_Android10/obj/EXECUTABLES/neteq_rtpplay_intermediates/test1.o:(RegisterCodec(webrtc::NetEq*)) ld.lld: error: undefined symbol: webrtc::SdpAudioFormat::~SdpAudioFormat() >>> referenced by test1.cpp:138 (packages/apps/zorro/neteq/test1.cpp:138) >>> out/target/product/rk3399_Android10/obj/EXECUTABLES/neteq_rtpplay_intermediates/test1.o:(RegisterCodec(webrtc::NetEq*)) ld.lld: error: undefined symbol: webrtc::SdpAudioFormat::SdpAudioFormat(std::__1::basic_string_view<char, std::__1::char_traits<char> >, int, unsigned long) >>> referenced by test1.cpp:145 (packages/apps/zorro/neteq/test1.cpp:145) >>> out/target/product/rk3399_Android10/obj/EXECUTABLES/neteq_rtpplay_intermediates/test1.o:(RegisterCodec(webrtc::NetEq*)) ld.lld: error: undefined symbol: webrtc::SdpAudioFormat::~SdpAudioFormat() >>> referenced by test1.cpp:143 (packages/apps/zorro/neteq/test1.cpp:143) >>> out/target/product/rk3399_Android10/obj/EXECUTABLES/neteq_rtpplay_intermediates/test1.o:(RegisterCodec(webrtc::NetEq*)) ld.lld: error: undefined symbol: webrtc::SdpAudioFormat::SdpAudioFormat(std::__1::basic_string_view<char, std::__1::char_traits<char> >, int, unsigned long) >>> referenced by test1.cpp:150 (packages/apps/zorro/neteq/test1.cpp:150) >>> out/target/product/rk3399_Android10/obj/EXECUTABLES/neteq_rtpplay_intermediates/test1.o:(RegisterCodec(webrtc::NetEq*)) ld.lld: error: undefined symbol: webrtc::SdpAudioFormat::~SdpAudioFormat() >>> referenced by test1.cpp:148 (packages/apps/zorro/neteq/test1.cpp:148) >>> out/target/product/rk3399_Android10/obj/EXECUTABLES/neteq_rtpplay_intermediates/test1.o:(RegisterCodec(webrtc::NetEq*)) ld.lld: error: undefined symbol: webrtc::SdpAudioFormat::~SdpAudioFormat() >>> referenced by test1.cpp:0 (packages/apps/zorro/neteq/test1.cpp:0) >>> out/target/product/rk3399_Android10/obj/EXECUTABLES/neteq_rtpplay_intermediates/test1.o:(RegisterCodec(webrtc::NetEq*)) ld.lld: error: undefined symbol: webrtc::SdpAudioFormat::~SdpAudioFormat() >>> referenced by test1.cpp:138 (packages/apps/zorro/neteq/test1.cpp:138) >>> out/target/product/rk3399_Android10/obj/EXECUTABLES/neteq_rtpplay_intermediates/test1.o:(RegisterCodec(webrtc::NetEq*)) ld.lld: error: undefined symbol: webrtc::RTPHeader::RTPHeader() >>> referenced by test1.cpp:156 (packages/apps/zorro/neteq/test1.cpp:156) >>> out/target/product/rk3399_Android10/obj/EXECUTABLES/neteq_rtpplay_intermediates/test1.o:(ProcessRtpPacket(webrtc::NetEq*, webrtc::RtpPacket const&)) ld.lld: error: undefined symbol: rtc::webrtc_logging_impl::Log(rtc::webrtc_logging_impl::LogArgType const*, ...) >>> referenced by logging.h:398 (packages/apps/zorro/neteq/include/rtc_base/logging.h:398) >>> out/target/product/rk3399_Android10/obj/EXECUTABLES/neteq_rtpplay_intermediates/test1.o:(ProcessRtpPacket(webrtc::NetEq*, webrtc::RtpPacket const&)) ld.lld: error: undefined symbol: rtc::LogMessage::IsNoop(rtc::LoggingSeverity) >>> referenced by logging.h:545 (packages/apps/zorro/neteq/include/rtc_base/logging.h:545) >>> out/target/product/rk3399_Android10/obj/EXECUTABLES/neteq_rtpplay_intermediates/test1.o:(bool rtc::LogMessage::IsNoop<(rtc::LoggingSeverity)2>()) ld.lld: error: too many errors emitted, stopping now (use -error-limit=0 to see all errors) clang-9: error: linker command failed with exit code 1 (use -v to see invocation) 10:53:28 ninja failed with: exit status 1
最新发布
08-03
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值