Giter VIP home page Giter VIP logo

metartc's Introduction

MetaRTC Overview

Code once run everywhere, A pure C version of webRTC
MetaRTC是一个跨平台的webRTC SDK,更适合嵌入式/物联网的webRTC应用
MetaRTC is a cross-platform webRTC SDK, more suitable for embedded/Internet of Things webRTC applications.

Key Features

  • Audio/Video Support

    • H264/H265(HEVC)
    • OPUS/G711A/G711U/AAC/MP3/SPEEX
    • AEC/ANS/AGC/VAD/CNG
  • DataChannels

  • NACK/PLI/FIR/FEC/TWCC

  • STUN/TURN Support

  • IPv4/IPv6

  • Whip/Whep

  • Linux/Windows/Mac/Android/IOS

  • ARM/MIPS/Loongson/RISC-V/X86

  • MP4/FLV Recording

    • AAC/H264
    • AAC/H265(HEVC)
  • Qt/Flutter/Lvgl/Native

New Features

flutter ui demo

demo/metaplayer7_flutter

download: https://github.com/metartc/metaRTC/releases/tag/7.0.072 file:metartc7.072.linux.7z

lvgl ui demo

demo/metaplayer7_lvgl

download: https://github.com/metartc/metaRTC/releases/tag/7.0.050 file:metartc7.062.linux.lvgl.7z

module

libmetartccore7(pure C)

Implementation of webRTC protocol stack
AEC/ANS/AGC and other audio and video processing libraries

libmetartc7(C++)

Realize audio and video collection, encoding, decoding, transmission, rendering, and push-pull streaming

Dependencies

To compile libmetartccore7, you'll need to satisfy the following dependencies:
OpenSSL or Mbedtls
libsrtp
usrsctp

Peer connect demo

int32_t err = Yang_Ok;
char* localSdp=NULL;
char* remoteSdp=NULL;
yangbool enableWhipWhep = yangtrue; 
YangRtcDirection direction = YangSendonly;//YangSendrecv,YangSendonly,YangRecvonly
YangPeerConnection *peer = (YangPeerConnection*)yang_calloc(sizeof(YangPeerConnection),1);
yang_create_peerConnection(peer);
peer->addAudioTrack(&peer->peer,Yang_AED_OPUS);
peer->addVideoTrack(&peer->peer,Yang_VED_H264);
peer->addTransceiver(&peer->peer,direction);
//sfu server
if(enableWhipWhep)
     err = peer->connectWhipWhepServer(&peer->peer,url);
else
     err = peer->connectSfuServer(&peer->peer);
//p2p
peer->createDataChannel(&peer->peer);//add datachannel
if((err=peer->createOffer(&peer->peer, &localSdp))!=Yang_Ok){
    yang_error("createOffer fail!");
    goto cleanup;
}
if((err=peer->setLocalDescription(&peer->peer, localSdp))!=Yang_Ok){
    yang_error("setLocalDescription fail!");
    goto cleanup;
}
......
//get remote peer sdp
if((err=peer->setRemoteDescription(&peer->peer,remoteSdp))!=Yang_Ok){
    yang_error("setRemoteDescription fail!");
    goto cleanup;
}

metaRTC服务支持(service support)

微信号: taihang82
email: [email protected] [email protected]
twitter: metaRTC@metartc_sdk

metaRTC微信公众号

gzh2

metaRTC问答星球

xingqiu2
https://t.zsxq.com/0cfpXQYoX

Compile

linux/android

cmake

./cmake_lib_x64.sh

./cmake_lib_android.sh

module

./cmake_mips32.sh

#arm64

./cmake_arm.sh

./cmake_x64.sh

#arm64-v8a armeabi x86_64

./cmake_android.sh

Qt

libmetartccore7/libmetartccore7.pro

libmetartc7/libmetartc7.pro

windows

visual studio

project_msvc/

Qt(msvc)

libmetartccore7/libmetartccore7.pro

libmetartc7/libmetartc7.pro

mac/ios

xcode

project_xcode/

demo compile

Qt demo

demo/metapushstream6/metapushstream7.pro
demo/metaplayer6/metaplayer7.pro

android demo

android studio ide(api:29)
demo/metapushstream7_android
demo/metaplayer7_android

metaRTC streams to janus via the whip protocol

https://github.com/metartc/metaRTC/wiki/metaRTC-streams-to-janus-via-the-whip-protocol

Learning metaRTC

https://github.com/metartc/metaRTC/wiki/metaRTC-Learning

MetaRTC vs webrtc

https://github.com/metartc/metaRTC/wiki/metaRTC-vs-webrtc

metaRTC features

https://github.com/metartc/metaRTC/wiki/metaRTC-Features

metartc's People

Contributors

blueskiner avatar yangrtc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

metartc's Issues

Android 编译问题

在编译 libmetartc 和libmetartccore 抱错, 能否出一个分支,直接 使用源码,便于修改和减少编译问题

为什么不能推流

使用./metartc6_b2.win/win/demo_bin编译好的bin文件yangpushstream6.exe可以使用电脑自带的摄像头进行推流,而使用./metartc6_b2.win/win/metartc6/demo/metapushstream6的代码编译出来的demo程序,无法推流,卡在建立连接上,请问怎么解决?

yang_whip_connectPeer()调用参数的类型错误

libmetartccore6/src/yangrtc/YangMetaConnection.c:62
yang_whip_connectPeer(conn,yangtrue);

第2个参数一看是错误的,从YangWhip.c:56 可知原型是:
yang_whip_connectPeer(YangRtcConnection* conn,char* url)

web视频无法播放

图片
图片
iceCandidateType=0
视频流不通
a=rtcp-rsize
a=rtpmap:125 H264/90000
a=rtcp-fb:125 transport-cc
a=rtcp-fb:125 nack
a=rtcp-fb:125 nack pli
a=fmtp:125 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
a=ssrc:160969538 cname:oy84517gxv58tm0r
a=ssrc:160969538 msid:- v9c886ku-9l90-00g8-8g44-736t63425030
a=ssrc:160969538 mslabel:-
a=ssrc:160969538 label:v9c886ku-9l90-00g8-8g44-736t63425030
a=candidate:0 1 udp 2130706431 192.168.1.104 23842 typ host generation 0
a=candidate:1 1 udp 2130706431 192.168.66.130 23842 typ host generation 0
m=application 9 UDP/DTLS/SCTP webrtc-datachannel
c=IN IP4 0.0.0.0
a=ice-ufrag:44r5
a=ice-pwd:o3f667961w495y7iiuxqusm9k2x4n49b
a=ice-options:trickle
a=fingerprint:sha-256 0B:F7:A5:50:F9:D9:B1:9A:48:D4:30:BE:41:EA:9C:5D:34:40:06:9A:C0:12:C6:39:50:FF:D8:7A:E2:C7:D4:56
a=setup:passive
a=mid:2
a=sctp-port:5000
a=candidate:0 1 udp 2130706431 192.168.1.104 23842 typ host generation 0
a=candidate:1 1 udp 2130706431 192.168.66.130 23842 typ host generation 0

p2pdemo_zb.html:60 play url webrtc://192.168.1.104:1988/live/livestream
srs.sdk.p2p.js:48 datachannel onopen: undefined
srs.sdk.p2p.js:37 connection state change: connecting
srs.sdk.p2p.js:42 =======>null
connection state change: connected

摄像机咨询

目前拉取的是3.0版本的代码进行测试,用的机器是笔记本,我想问下如何配置可以切换推流的摄像机呢。我改了配置文件的sys.cameraIndexs,但貌似没有用,能否告知下需要修改哪里。

还有一个问题,是否能够只推音频呢,可以的话需要做那些修改。

感谢作者开源这么棒的框架。

与zlmediakit通讯问题

您好,我这边zlmediakit配置webrtc测试正常,使用您这边提供的推流demo可以正常推给zlmediakit,使用您提供的play demo能正常显示画面,但是使用zlmediakit提供的网页播放器不能正常显示画面,我需要配置和修改哪里?

场景咨询

hi,
没看明白具体场景。是不是就是一个终端?必须运行在有声卡gpu的设备上。
能否作网关?
用浏览器访问是否直接可以使用?
谢谢!

同一台机器上,运行了pion测试程序和metaipc6

当metaipc6进行connect无法协商,但是使用pion发offer给metaipc6协商正常。
connect情况下的一些信息:
image
抓包发现存在icmp的错误,netstat查看端口全部存在
image
stun消息n408开头是pion发往metaipc6
stun消息ZIJ开头是metaipc6发往pion的

有没有调用API推流拉流的例程

目前的demo针对本地摄像头和桌面采集,我这边的场景是拉网络摄像头,然后再做图像分析,再打包推到浏览器端显示,有没有直接调用api推流拉流的例程,数据源可以灵活点,谢谢

自己引用 YangRtcPublish 推流 声音断断续续

自己引用 YangRtcPublish 推流 声音断断续续。

大佬

我自己引用 YangRtcPublish 设置了一个输入流buffer,外部程序编码PCM 成 opus 传入。
YangRtcPublish 引用输入流buffer 推溜到了浏览器,听声音断断续续的,这个怎么处理比较好呢?
咱们的demo直接是 电脑采集麦克风,没有输入的接口,或者我如何把PCM输入到 麦克风用于demo采集呢?

推流相关问题

大佬提供demo很全面,可以推流摄像头,推流桌面。

请问大佬,有没有考虑过,新增一个推流应用软件界面的demo?

就像谷歌浏览器,进行webrtc推流时,有应用窗口界面推流选择,如下图所示

1

metaRtc 5.0windows 下这个库链接错误

下载的 https://github.com/metartc/metaRTC/releases/tag/v5.0-b5 下的
metartc5_b5.win.7z 编译

使用qt 4.3.1 配置vs2019 发现链接 speexdsp.lib 出现问题

link /NOLOGO /DYNAMICBASE /NXCOMPAT /ignore:4099 /DEBUG /SUBSYSTEM:WINDOWS "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='' processorArchitecture=''" /MANIFEST:embed /OUT:..\bin\app_win_debug\metap2p5.exe @C:\Users\Hao\AppData\Local\Temp\metap2p5.exe.5780.2016.jom
speexdsp.lib(mdf.obj) : 找到 MSIL .netmodule 或使用 /GL 编译的模块;正在使用 /LTCG 重新启动链接;将 /LTCG 添加到链接命令行以改进链接器性能
fatal error C1007: 无法识别的标志“-Ot”(在“p2”中)

yang_whip_connectPeer()调用参数的类型错误

libmetartccore6/src/yangrtc/YangMetaConnection.c:62
yang_whip_connectPeer(conn,yangtrue);

第2个参数一看是错误的,从YangWhip.c:56 可知原型是:
yang_whip_connectPeer(YangRtcConnection* conn,char* url)

webrtc推流demo推流失败

(1)不知道什么原因,webrtc推流失败,如下图所示:
1
是不是webrtc推流,需要服务器?

(2) 从推流ip来看,默认是以webrtc为前缀,如下图所示:
2
webrtc前缀的ip,能改为http或者https吗?

(3) 推流界面
推流默认是摄像头,也可以更改为桌面,请问大佬,可以将推流窗口改为某个应用程序界面吗?

(4) 推流音频
推流好像默认选择音频,请问大佬,在推流过程中,可以选择去掉音频吗

有考虑node 封装吗?

哈喽版主,我大概看了readme,它对视频处理非常好,但是目前有这种需求,(node 在linux系统中调用本库,实现原生webrtc的功能,直接使用类似per API,省去搭建媒体服务,只需要搭建NAT穿透及信令即可,类似node-webrtc库)不知道版主是否考虑增加?

srs 5.0 推流奔溃

请求
POST /rtc/v1/publish/ HTTP/1.1
Host: xxxxxxxxx:1985
Accept: /
Content-Type:application/json;charset=UTF-8
Content-Length: 1809

{"api":"http://xxxxxxxxx/rtc/v1/publish/","streamurl":"webrtc://xxxxxxxxx","clientip":null,"sdp":"v=0\r\no=MetaRtc 139996530989024 2 IN IP4 0.0.0.0\r\ns=MetaRtcSession\r\nt=0 0\r\na=ice-lite\r\na=group:BUNDLE 0 1\r\na=msid-semantic: WMS live/abc\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:le18\r\na=ice-pwd:0zr1vr92461614605c6763hn652193q9\r\na=fingerprint:sha-256 10:E0:37:81:BD:D3:F4:92:B2:4B:3F:C8:0F:60:49:70:1E:60:0F:8E:37:29:34:4F:EB:9F:F3:12:74:A4:B4:CB\r\na=setup:actpass\r\na=mid:0\r\na=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=sendonly\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=ssrc:192989707 cname:8hb4p4296d5o8143\r\na=ssrc:192989707 msid:- y0hkj870-o917-87nr-5e14-8ndkht8502e8\r\na=ssrc:192989707 mslabel:-\r\na=ssrc:192989707 label:y0hkj870-o917-87nr-5e14-8ndkht8502e8\r\nm=video 9 UDP/TLS/RTP/SAVPF 125 114\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:le18\r\na=ice-pwd:0zr1vr92461614605c6763hn652193q9\r\na=fingerprint:sha-256 10:E0:37:81:BD:D3:F4:92:B2:4B:3F:C8:0F:60:49:70:1E:60:0F:8E:37:29:34:4F:EB:9F:F3:12:74:A4:B4:CB\r\na=setup:actpass\r\na=mid:1\r\na=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=sendonly\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:125 H264/90000\r\na=rtcp-fb:125 transport-cc\r\na=rtcp-fb:125 nack\r\na=rtcp-fb:125 nack pli\r\na=fmtp:125 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:114 red/90000\r\na=ssrc:192989708 cname:8hb4p4296d5o8143\r\na=ssrc:192989708 msid:- 3592y622-mu54-1216-62k0-qe5nn38766m5\r\na=ssrc:192989708 mslabel:-\r\na=ssrc:192989708 label:3592y622-mu54-1216-62k0-qe5nn38766m5\r\n"}
resp = HTTP/1.1 200 OK
Connection: Close
Content-Length: 1522
Content-Type: application/json
Server: SRS/5.0.19(Leo)

srs响应成功的
"code":0,"server":"vid-z8zr66z","sdp":"v=0
o=SRS/5.0.19(Leo) 34361231696 2 IN IP4 0.0.0.0
s=SRSPublishSession
t=0 0
a=ice-lite
a=group:BUNDLE 0 1
a=msid-semantic: WMS live/abc
m=audio 9 UDP/TLS/RTP/SAVPF 111
c=IN IP4 0.0.0.0
a=ice-ufrag:9b90541m
a=ice-pwd:0z4a04fr702r3w06d572vg9734679a15
a=fingerprint:sha-256 AD:9D:B3:76:30:E4:5B:4B:23:97:85:65:FC:B6:00:1E:F1:54:DA:32:0C:AC:DE:2F:1A:C8:24:02:93:E4:56:96
a=setup:passive
a=mid:0
a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=recvonly
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:111 opus/48000/2
a=rtcp-fb:111 transport-cc
a=fmtp:111 minptime=10;useinbandfec=1
a=candidate:0 1 udp 2130706431 xxxxxxxxx 8000 typ host generation 0
m=video 9 UDP/TLS/RTP/SAVPF 125 114
c=IN IP4 0.0.0.0
a=ice-ufrag:9b90541m
a=ice-pwd:0z4a04fr702r3w06d572vg9734679a15
a=fingerprint:sha-256 AD:9D:B3:76:30:E4:5B:4B:23:97:85:65:FC:B6:00:1E:F1:54:DA:32:0C:AC:DE:2F:1A:C8:24:02:93:E4:56:96
a=setup:passive
a=mid:1
a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=recvonly
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:125 H264/90000
a=rtcp-fb:125 transport-cc
a=rtcp-fb:125 nack
a=rtcp-fb:125 nack pli
a=fmtp:125 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
a=rtpmap:114 red/90000
a=candidate:0 1 udp 2130706431 xxxxxxxxx 8000 typ host generation 0
","sessionid":"9b90541m:le18"
startRtc,port=11262
candidate:ip==xxxxxxxxx,type=host,port=8000
candidate:ip==xxxxxxxxx,type=host,port=8000
remoteIp=xxxxxxxxx,port=8000
dtls is mbedtls
udp server is starting,localPort=11262[11:05:38] Yang ERROR: send stun fail!

[11:05:39] Yang ERROR: send stun fail!
[11:05:40] Yang ERROR: send stun fail!
[11:05:40] Yang ERROR: send stun fail!
[11:05:41] Yang ERROR: send stun fail!

使用最新版本的metapushstream6.exe,在windows11中无法推流

Yang INFO:
set 1 Camera Revolution Sucess!width=1920,height=1080..

dwWidth=1920 dwHeight=1080
[14:47:11] Yang ERROR: GetOutputBits failed with hr=0x887a0026

[14:47:11] Yang ERROR: GetOutputBits failed with hr=0x887a0026

[14:47:11] Yang ERROR: GetOutputBits failed with hr=0x887a0026

[14:47:11] Yang ERROR: GetOutputBits failed with hr=0x887a0026

[14:47:11] Yang ERROR: GetOutputBits failed with hr=0x887a0026

[14:47:11] Yang ERROR: GetOutputBits failed with hr=0x887a0026

[14:47:11] Yang ERROR: GetOutputBits failed with hr=0x887a0026

[14:47:11] Yang ERROR: GetOutputBits failed with hr=0x887a0026

[14:47:11] Yang ERROR: GetOutputBits failed with hr=0x887a0026

[14:47:12] Yang ERROR: GetOutputBits failed with hr=0x887a0026

[14:47:12] Yang ERROR: GetOutputBits failed with hr=0x887a0026

[14:47:12] Yang ERROR: GetOutputBits failed with hr=0x887a0026

[14:47:12] Yang ERROR: GetOutputBits failed with hr=0x887a0026

[14:47:12] Yang ERROR: GetOutputBits failed with hr=0x887a0026
c1f1c65c7a28de0608f4ea26e304962

编译错误

\Users\L\AppData\Local\Temp\metapushstream5.exe.5576.10250.jom
speexdsp.lib(resample.obj) : 找到 MSIL .netmodule 或使用 /GL 编译的模块;正在使用 /LTCG 重新启动链接;将 /LTCG 添加到链接命令行以改进链接器性能
fatal error C1900: “P1”(第“20210202”版)和“P2”(第“20180423”版)之间 Il 不匹配

嵌入式设备音频采集和播放问题

参考metaipc6_jz的demo,增加音频处理相关参数,在yang_yzEncoder_start函数中增加线程,读取opus格式音频数据推送到session->out_audioBuffer->mediaBuffer中。PC端使用metap2p6_html播放音频出现卡顿,杂音或乱音。
读取的opus格式音频采样率为48000K,双声道。

头文件中命名了相同名字的枚举,导致编译不过

YangBittype.h:
error1

yangavtype.h:
error2

编译结果:
error3

我在写一个云游戏的架构,想用google的webrtc,但是编译有点困难
然后使用了libchannel,基本成功了,因为想看看其他的方案,所以看到B站的视频找到这里来
想问下本项目和libchannel相比有哪些优势?

播放问题

metaplayer_android 项目运行起来,播放webrtc的流没有画面。日志如下:
`
2022-10-10 10:49:16.339 25783-25889/com.metartc.player D/.metartc.playe: PlayerBase::stop() from IPlayer

2022-10-10 10:49:16.339 25783-25889/com.metartc.player D/AudioTrack: stop(290): prior state:STATE_ACTIVE output 21 stream 3 session 2057

2022-10-10 10:49:16.339 25783-25889/com.metartc.player D/AudioTrack: stop(290): called with 960 frames delivered

2022-10-10 10:49:16.340 25783-25893/com.metartc.player D/AudioTrack: start(290): prior state:STATE_STOPPED output 21 stream 3 session 2057

2022-10-10 10:49:16.341 25783-25889/com.metartc.player D/.metartc.playe: PlayerBase::stop() from IPlayer

2022-10-10 10:49:16.341 25783-25889/com.metartc.player D/AudioTrack: stop(290): prior state:STATE_ACTIVE output 21 stream 3 session 2057

2022-10-10 10:49:16.341 25783-25889/com.metartc.player D/AudioTrack: stop(290): called with 960 frames delivered

2022-10-10 10:49:16.342 25783-25893/com.metartc.player D/AudioTrack: start(290): prior state:STATE_STOPPED output 21 stream 3 session 2057

2022-10-10 10:49:16.342 25783-25889/com.metartc.player D/.metartc.playe: PlayerBase::stop() from IPlayer

2022-10-10 10:49:16.342 25783-25889/com.metartc.player D/AudioTrack: stop(290): prior state:STATE_ACTIVE output 21 stream 3 session 2057

2022-10-10 10:49:16.342 25783-25889/com.metartc.player D/AudioTrack: stop(290): called with 960 frames delivered

2022-10-10 10:49:16.343 25783-25893/com.metartc.player D/AudioTrack: start(290): prior state:STATE_STOPPED output 21 stream 3 session 2057

`
请教一下怎么解决

SDP查询端口建议增加到streamconfig结构里

现在推流、播放过程中SDP查询端口默认采用streamconfig->remotePort, 这可能是个bug。
在YangSrsConnection.c, YangZlmConnection.c中,分别将yang_sdp_querySrs、yang_zlm_query调用时的端口从session->context.streamConfig->remotePort改为srs的httpapi实际端口、zlm的http实际端口,程序才能顺利运行。

SDP查询是访问http接口端口,跟RTC是两个端口,应该在StreamConfig结构里增加一个配置字段,最好再支持从程序app启动地方去设置这个http端口值。

libmetartccore5 开启#define Yang_Rtp_I_Withmeta 1 后编译报错

问题描述:
在yang_config.h 头文件设置#define Yang_Rtp_I_Withmeta 1 后编译libmetartccore5 库报错如下:
metaRTC/libmetartccore5/src/yangrtc/YangPlayTrack.c:166:23: error: ‘YangRtcContext’ {aka ‘struct <anonymous>’} has no member named ‘avcontext’ 166 | if(context->avcontext->avinfo->video.videoDecHwType==Yang_Hw_Soft){

解决办法:
查看 YangRtcContext 结构体确实没有avcontext成员,将
#if Yang_Rtp_I_Withmeta if(context->avcontext->avinfo->video.videoDecHwType==Yang_Hw_Soft){ videoFrame->frametype =YANG_Frametype_I; goto sendevideo; } #endif
修改为
#if Yang_Rtp_I_Withmeta if(context->avinfo->video.videoDecHwType==Yang_Hw_Soft){ videoFrame->frametype =YANG_Frametype_I; goto sendevideo; } #endif
解决报错问题,顺利编译通过 #

能否提供32位 第三方库的支持

大佬,能否提供32位 第三方库的支持,我挨个编译第三方库,有些苦出了环境问题。不能专注到这个上面来 【笑哭】

url带token长度超过128字符

url带token长度超过128字符,YangUrlData.stream 默认128,后续strcpy操作会导致内存错误,还有几个地方128长度也是写死的
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.