Tencent-RTC / TRTC_Flutter

High-quality Interactive Audio/Video Flutter SDK
https://trtc.io/
75 stars 33 forks source link

【android/ios】-【版本2.1.2】屏幕分享无效 #43

Closed ruolunhui closed 1 year ago

ruolunhui commented 2 years ago

【当前现象】:点击录屏直播,点击进入房间后,通过另外一个手机无法看到录屏,两个手机交换之后还是一样,无法录屏直播,而且控制台没有打印任何错误,一台华为mate30,一天iphone6

【SDKAppID】:1400644175 【房间号】: 1256732 【useID】:339473 【问题时间段】:2021-03-09 15:23~16:55 【机型】:华为mate30 【之前版本有无此问题】: 【是否必现】:必现 / 偶现, 【复现方法】:直接使用git中的demo运行即可 【日志或者描述、截图】: D/TXCAudioRouteManager(22521): connect speakerPhone: do nothing, mCurrentIOScene: MEDIA_PLAY_AND_RECORD I/Unknow (22521): [local_audio_stream.cpp, SetEncParamsInternal, 728]:AudioEngine:LocalAudioStream frame_len_ms:40 bit_rate:4096 I/Unknow (22521): [local_audio_stream.cpp, SetEncParamsInternal, 728]:AudioEngine:LocalAudioStream frame_len_ms:40 bit_rate:4096 I/FPSMeter(22521): meter name: capturer fps: 9.98 I/FPSMeter(22521): meter name: filter-drawer fps: 9.98 I/FPSMeter(22521): meter name: video-encoder fps: 9.98 V/AudioManager(22521): getMode... V/AudioManager(22521): getMode... V/AudioManager(22521): getStreamVolume streamType: 3 volume: 0 I/Unknow (22521): [local_audio_stream.cpp, SetEncParamsInternal, 728]:AudioEngine:LocalAudioStream frame_len_ms:40 bit_rate:4096 E/memtrack(22521): Couldn't load memtrack module W/android.os.Debug(22521): failed to get memory consumption info: -1 D/TXCAudioRouteManager(22521): connect speakerPhone: do nothing, mCurrentIOScene: MEDIA_PLAY_AND_RECORD I/Unknow (22521): [audio_energy_logger.cpp, ProcessFrame, 29]:InDev: [3304,944,952,977,688,761,1084,698,737,738] I/Aecm_aec.c(22521): Aecm_aec.c:1197|ecns0-Out:2656,361,204,445,193, level:-9999 I/Unknow (22521): [local_audio_stream.cpp, ProcessStatistics, 1076]:AudioEngine:LocalAudioStream receive_capture_data_cnt_in10s:500 do_process_cnt_in10s:500 time_delta:10003 I/Unknow (22521): [local_audio_stream.cpp, SetEncParamsInternal, 728]:AudioEngine:LocalAudioStream frame_len_ms:40 bit_rate:4096 I/Unknow (22521): [local_audio_stream.cpp, SetEncParamsInternal, 728]:AudioEngine:LocalAudioStream frame_len_ms:40 bit_rate:4096 D/TXCAudioRouteManager(22521): connect speakerPhone: do nothing, mCurrentIOScene: MEDIA_PLAY_AND_RECORD I/Unknow (22521): [TRTCProtocolProcess.cpp, handleACC_S2C_Req_IncSyncUserStatus_Push, 2386]:Signal: handleACC_S2C_Req_IncSyncUserStatus_Push seq:66834297, SyncUserState:(uint64_tinyid:144115242028225254 exit_reason:0 str_userid:198628 uint32_role:21 uint32_action:1) I/FPSMeter(22521): meter name: capturer fps: 9.97 I/FPSMeter(22521): meter name: filter-drawer fps: 9.97 I/FPSMeter(22521): meter name: video-encoder fps: 9.97 I/Unknow (22521): [local_audio_stream.cpp, SetEncParamsInternal, 728]:AudioEngine:LocalAudioStream frame_len_ms:40 bit_rate:4096 I/Unknow (22521): [local_audio_stream.cpp, SetEncParamsInternal, 728]:AudioEngine:LocalAudioStream frame_len_ms:40 bit_rate:4096 I/Unknow (22521): [local_audio_stream.cpp, SetEncParamsInternal, 728]:AudioEngine:LocalAudioStream frame_len_ms:40 bit_rate:4096 D/TXCAudioRouteManager(22521): connect speakerPhone: do nothing, mCurrentIOScene: MEDIA_PLAY_AND_RECORD I/Unknow (22521): [local_audio_stream.cpp, SetEncParamsInternal, 728]:AudioEngine:LocalAudioStream frame_len_ms:40 bit_rate:4096 I/FPSMeter(22521): meter name: capturer fps: 9.97 I/FPSMeter(22521): meter name: filter-drawer fps: 9.97 I/FPSMeter(22521): meter name: video-encoder fps: 9.97 I/Unknow (22521): [local_audio_stream.cpp, SetEncParamsInternal, 728]:AudioEngine:LocalAudioStream frame_len_ms:40 bit_rate:4096 I/Unknow (22521): [audio_energy_logger.cpp, ProcessFrame, 29]:InDev: [1962,649,767,847,1486,952,782,984,1122,3234] I/Unknow (22521): [local_audio_stream.cpp, AppendCaptureData, 276]:AudioEngine:LocalAudioStream AppendCaptureData append_capture_datacnt:12001 current frame size:3840 I/Unknow (22521): [local_audio_stream.cpp, ProcessStatistics, 1066]:AudioEngine:LocalAudioStream audio up stream is try to DoProcess local_audio_stream_processcnt:12001 enableencoder:1 I/Unknow (22521): [local_audio_stream.cpp, DoEncode, 924]:AudioEngine:LocalAudioStream DoEncode do_encodecnt:12001 I/Unknow (22521): [audio_device_android_dsp.cpp, LoopProcess, 1193]:audioRoute: 2, cap_sample: 48000, cap_channels: 2, current io scene: kMediaPlayAndRecord, expected_ioscene: kMediaPlayAndRecord, system_playvolume: 0, is_deviceplaying: 0, is_devicerecording: 1, is_device_pauserecord: 0, is_play_deviceready: 1, is_record_deviceready: 1 I/Aecm_aec.c(22521): Aecm_aec.c:1197|ecns0-Out:1349,284,1141,237,2625, level:-9999 I/Unknow (22521): [local_audio_stream.cpp, AppendCaptureData, 276]:AudioEngine:LocalAudioStream AppendCaptureData append_capture_datacnt:12002 current frame size:3840 I/Unknow (22521): [local_audio_stream.cpp, ProcessStatistics, 1066]:AudioEngine:LocalAudioStream audio up stream is try to DoProcess local_audio_stream_processcnt:12002 enableencoder:1 I/Unknow (22521): [local_audio_stream.cpp, EncodeAudioFrame, 1112]:AudioEngine:LocalAudioStream audio up stream encode ok,local_audio_stream_encode_successcnt:6001 , encode one frame cost time:1 maptrack.size:0 I/Unknow (22521): [local_audio_stream.cpp, DoEncode, 1012]:AudioEngine:LocalAudioStream OnEncodedDataPackWithTRAEHeader trae_encoded_data_callbackcnt:6001 do_encodecnt:12002 V/AudioManager(22521): getMode... V/AudioManager(22521): getMode... V/AudioManager(22521): getStreamVolume streamType: 3 volume: 0 W/DisplayEventDispatcher(22521): dispatcher 0x6fa5d272a0 ~ ignoring unknown event type 0x736f6674 I/Unknow (22521): [audio_3a_processor_adsp.cpp, RegularlyPrint3aStateInAdsp, 346]:AudioEngine:Device in adsp, real state : ec 0, -9, level:0; ns 1, -9, level:100; agc 0, level:0 I/Unknow (22521): [local_audio_stream.cpp, ProcessStatistics, 1076]:AudioEngine:LocalAudioStream receive_capture_data_cnt_in10s:501 do_process_cnt_in10s:501 time_delta:10013 I/Unknow (22521): [local_audio_stream.cpp, SetEncParamsInternal, 728]:AudioEngine:LocalAudioStream frame_len_ms:40 bit_rate:4096 D/TXCAudioRouteManager(22521): connect speakerPhone: do nothing, mCurrentIOScene: MEDIA_PLAY_AND_RECORD I/ (22521): recheck for pg, sessionid : 349161 E/RtgSchedManager(22521): endActivityTransaction: margin state not match E/RtgSchedManager(22521): endActivityTransaction: margin state not match D/DecorView(22521): showOrHideHighlightView: hasFocus=false; winMode=1; isMrgNull=true W/libEGL (22521): EGLNativeWindowType 0x6fb4be5010 disconnect failed W/libEGL (22521): EGLNativeWindowType 0x70037cad90 disconnect failed E/RtgSchedManager(22521): endActivityTransaction: margin state not match I/RmeSchedManager(22521): init Rme, version is: v1.0 I/Unknow (22521): [monitor_api.cpp, PrintLocalLog, 153]:(177185114)trtc_api onAppEnterBackground self:177185114 I/TXHttpRequest(22521): sendHttpsRequest->enter action: https://ipv6-datacenter.live.qcloud.com/liteav, data size: 385 I/TXHttpRequest(22521): getHttpsPostRsp->request: https://ipv6-datacenter.live.qcloud.com/liteav I/TXHttpRequest(22521): getHttpsPostRsp->data: 385 D/ZrHung.AppEyeUiProbe(22521): not watching, wait. I/TXHttpRequest(22521): getHttpsPostRsp->rsp size: 243 I/TXHttpRequest(22521): TXPostRequest->result: 0| I/TXHttpRequest(22521): TXPostRequest->recvMsg: 0| I/Unknow (22521): [local_audio_stream.cpp, SetEncParamsInternal, 728]:AudioEngine:LocalAudioStream frame_len_ms:40 bit_rate:4096 I/FPSMeter(22521): meter name: capturer fps: 9.98 I/FPSMeter(22521): meter name: filter-drawer fps: 9.99 I/FPSMeter(22521): meter name: video-encoder fps: 9.97 W/DisplayEventDispatcher(22521): dispatcher 0x6fa5d272a0 ~ ignoring unknown event type 0x736f6674 I/Unknow (22521): [local_audio_stream.cpp, SetEncParamsInternal, 728]:AudioEngine:LocalAudioStream frame_len_ms:40 bit_rate:4096 E/memtrack(22521): Couldn't load memtrack module W/android.os.Debug(22521): failed to get memory consumption info: -1 D/TXCAudioRouteManager(22521): connect speakerPhone: do nothing, mCurrentIOScene: MEDIA_PLAY_AND_RECORD I/Unknow (22521): [local_audio_stream.cpp, SetEncParamsInternal, 728]:AudioEngine:LocalAudioStream frame_len_ms:40 bit_rate:4096 I/AwareBitmapCacher(22521): handleReleaseCache: pid=22521 I/AwareBitmapCacher(22521): init lrucache size: 2097152 pid=22521 I/Unknow (22521): [local_audio_stream.cpp, SetEncParamsInternal, 728]:AudioEngine:LocalAudioStream frame_len_ms:40 bit_rate:4096 I/FPSMeter(22521): meter name: capturer fps: 9.98 I/FPSMeter(22521): meter name: filter-drawer fps: 9.97 I/FPSMeter(22521): meter name: video-encoder fps: 9.98 I/Unknow (22521): [local_audio_stream.cpp, SetEncParamsInternal, 728]:AudioEngine:LocalAudioStream frame_len_ms:40 bit_rate:4096 D/TXCAudioRouteManager(22521): connect speakerPhone: do nothing, mCurrentIOScene: MEDIA_PLAY_AND_RECORD I/Unknow (22521): [local_audio_stream.cpp, SetEncParamsInternal, 728]:AudioEngine:LocalAudioStream frame_len_ms:40 bit_rate:4096 I/Unknow (22521): [audio_energy_logger.cpp, ProcessFrame, 29]:InDev: [2104,1105,747,710,880,1810,3396,819,717,888] I/Aecm_aec.c(22521): Aecm_aec.c:1197|ecns0-Out:1847,257,653,1259,337, level:-9999 I/Unknow (22521): [local_audio_stream.cpp, ProcessStatistics, 1076]:AudioEngine:LocalAudioStream receive_capture_data_cnt_in10s:500 do_process_cnt_in10s:500 time_delta:10005 I/Unknow (22521): [local_audio_stream.cpp, SetEncParamsInternal, 728]:AudioEngine:LocalAudioStream frame_len_ms:40 bit_rate:4096 V/AudioManager(22521): getMode... V/AudioManager(22521): getMode... V/AudioManager(22521): getStreamVolume streamType: 3 volume: 0 I/Unknow (22521): [audio_device_android_dsp.cpp, CheckModeVolumeIsBackground, 1136]:app switch to background: 1 I/Unknow (22521): [monitor_api.cpp, PrintLocalLog, 153]:onEvent => msg:audio|Event|local|AudioDevice: interrupted by other app or system [is background:1] params: code:10028 id: I/TRTCCloudImpl(22521): (177185114)trtc_api event 10028, audio|Event|local|AudioDevice: interrupted by other app or system [is background:1] I/TXHttpRequest(22521): sendHttpsRequest->enter action: https://ipv6-datacenter.live.qcloud.com/liteav, data size: 446 I/TXHttpRequest(22521): getHttpsPostRsp->request: https://ipv6-datacenter.live.qcloud.com/liteav I/TXHttpRequest(22521): getHttpsPostRsp->data: 446 I/Unknow (22521): [local_audio_stream.cpp, SetEncParamsInternal, 728]:AudioEngine:LocalAudioStream frame_len_ms:40 bit_rate:4096 I/TXHttpRequest(22521): getHttpsPostRsp->rsp size: 243 I/TXHttpRequest(22521): TXPostRequest->result: 0| I/TXHttpRequest(22521): TXPostRequest->recvMsg: 0| D/TXCAudioRouteManager(22521): connect speakerPhone: do nothing, mCurrentIOScene: MEDIA_PLAY_AND_RECORD I/FPSMeter(22521): meter name: capturer fps: 9.97 I/FPSMeter(22521): meter name: filter-drawer fps: 9.98 I/FPSMeter(22521): meter name: video-encoder fps: 9.97 I/Unknow (22521): [local_audio_stream.cpp, SetEncParamsInternal, 728]:AudioEngine:LocalAudioStream frame_len_ms:40 bit_rate:4096 I/Unknow (22521): [local_audio_stream.cpp, SetEncParamsInternal, 728]:AudioEngine:LocalAudioStream frame_len_ms:40 bit_rate:4096 D/TXCAudioRouteManager(22521): connect speakerPhone: do nothing, mCurrentIOScene: MEDIA_PLAY_AND_RECORD I/Unknow (22521): [local_audio_stream.cpp, SetEncParamsInternal, 728]:AudioEngine:LocalAudioStream frame_len_ms:40 bit_rate:4096 I/FPSMeter(22521): meter name: capturer fps: 9.98 I/FPSMeter(22521): meter name: filter-drawer fps: 9.98 I/FPSMeter(22521): meter name: video-encoder fps: 9.99 I/Unknow (22521): [local_audio_stream.cpp, SetEncParamsInternal, 728]:AudioEngine:LocalAudioStream frame_len_ms:40 bit_rate:4096 E/memtrack(22521): Couldn't load memtrack module W/android.os.Debug(22521): failed to get memory consumption info: -1 I/Unknow (22521): [audio_energy_logger.cpp, ProcessFrame, 29]:InDev: [813,722,1888,1900,743,741,836,1091,1354,725] I/Aecm_aec.c(22521): Aecm_aec.c:1197|ecns0-Out:1319,1365,263,605,837, level:-9999 I/Unknow (22521): [local_audio_stream.cpp, SetEncParamsInternal, 728]:AudioEngine:LocalAudioStream frame_len_ms:40 bit_rate:4096 I/Unknow (22521): [local_audio_stream.cpp, ProcessStatistics, 1076]:AudioEngine:LocalAudioStream receive_capture_data_cnt_in10s:500 do_process_cnt_in10s:500 time_delta:10000 D/ActivityThread(22521): Won't deliver top position change in state=5 D/ZrHung.AppEyeUiProbe(22521): restart watching W/DisplayEventDispatcher(22521): dispatcher 0x6fa5d272a0 ~ ignoring unknown event type 0x736f6674 D/mali_winsys(22521): EGLint new_window_surface(egl_winsys_display , void , EGLSurface, EGLConfig, egl_winsys_surface , EGLBoolean) returns 0x3000 D/mali_winsys(22521): EGLint new_window_surface(egl_winsys_display , void , EGLSurface, EGLConfig, egl_winsys_surface , EGLBoolean) returns 0x3000 I/HwViewRootImpl(22521): removeInvalidNode all the node in jank list is out of time I/RmeSchedManager(22521): init Rme, version is: v1.0 I/RtgSchedEvent(22521): current pid:22521 AppType:-1 D/DecorView(22521): showOrHideHighlightView: hasFocus=true; winMode=1; isMrgNull=true W/InputMethodManager(22521): startInputReason = 1 W/HwRemoteInputMethodManager(22521): isCasting false because IHwDistributedWindowManager is invalid. I/Unknow (22521): [monitor_api.cpp, PrintLocalLog, 153]:(177185114)trtc_api onAppDidBecomeActive self:177185114 I/TXHttpRequest(22521): sendHttpsRequest->enter action: https://ipv6-datacenter.live.qcloud.com/liteav, data size: 386 I/TXHttpRequest(22521): getHttpsPostRsp->request: https://ipv6-datacenter.live.qcloud.com/liteav I/TXHttpRequest(22521): getHttpsPostRsp->data: 386 I/TXHttpRequest(22521): getHttpsPostRsp->rsp size: 243 I/TXHttpRequest(22521): TXPostRequest->result: 0| I/TXHttpRequest(22521): TXPostRequest->recvMsg: 0| D/TXCAudioRouteManager(22521): connect speakerPhone: do nothing, mCurrentIOScene: MEDIA_PLAY_AND_RECORD I/Unknow (22521): [local_audio_stream.cpp, SetEncParamsInternal, 728]:AudioEngine:LocalAudioStream frame_len_ms:40 bit_rate:4096 I/FPSMeter(22521): meter name: capturer fps: 9.97 I/FPSMeter(22521): meter name: filter-drawer fps: 9.98 I/FPSMeter(22521): meter name: video-encoder fps: 9.97 I/Unknow (22521): [local_audio_stream.cpp, SetEncParamsInternal, 728]:AudioEngine:LocalAudioStream frame_len_ms:40 bit_rate:4096 W/DisplayEventDispatcher(22521): dispatcher 0x6fa5d272a0 ~ ignoring unknown event type 0x736f6674 I/Unknow (22521): [TRTCProtocolProcess.cpp, handleACC_S2C_Req_IncSyncUserStatus_Push, 2386]:Signal: handleACC_S2C_Req_IncSyncUserStatus_Push seq:66834314, SyncUserState:(uint64_tinyid:144115242028225254 exit_reason:0 str_userid:198628 uint32_role:21 uint32_action:2) I/Unknow (22521): [TRTCUserListManager.cpp, mergeIncSyncUserList, 98]:inc sync user exit:198628 144115242028225254 reason:0 V/AudioManager(22521): querySoundEffectsEnabled... I/Unknow (22521): [audio_device_android_dsp.cpp, LoopProcess, 1193]:audioRoute: 2, cap_sample: 48000, cap_channels: 2, current io scene: kMediaPlayAndRecord, expected_ioscene: kMediaPlayAndRecord, system_playvolume: 0, is_deviceplaying: 0, is_devicerecording: 1, is_device_pauserecord: 0, is_play_deviceready: 1, is_record_deviceready: 1 V/AudioManager(22521): getMode... V/AudioManager(22521): getMode... V/AudioManager(22521): getStreamVolume streamType: 3 volume: 0

c1avie commented 2 years ago

你用TRTC-SIMPLE-Demo编译一个demo进入同一个房间,就能看到分享的画面了

ruolunhui commented 2 years ago

您好, 非常感谢, 首先我确认是进入的同一个房间, 但都看不到屏幕分享, 个人猜测可能是因为ios端编译需要替换证书导致的配置问题

这两天我通过在flutter中引入sdk测试 ,android端进行屏幕分享 ,然后在web端看是可以的。 只是目标版本需要改为28 大于28需要在前台服务中启动录屏,sdk中不是在前台服务中启动的录屏,所以只能改为28 文档中也未说明这一点

另外ios端还是有问题 引人sdk之后无法编译, 可能是包冲突 ,正在想办法解决 主要报错 ld: warning: Could not find or use auto-linked library 'stdc++' Undefined symbols for architecture arm64: "_ne10_init_dsp", referenced from: _LITEAV_ne10_init in TXLiteAVSDK_TRTC(NE10_init.o) ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

ruolunhui commented 2 years ago

您好 根据排查发现和以下两个包冲突了

tflite_flutter: ^0.9.0 tflite_flutter_helper: ^0.3.1

加入这两个就会报错 ld: warning: Could not find or use auto-linked library 'stdc++' Undefined symbols for architecture arm64: "_ne10_init_dsp", referenced from: _LITEAV_ne10_init in TXLiteAVSDK_TRTC(NE10_init.o) ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

c1avie commented 2 years ago

android端进行屏幕分享,目标版本大于28的话需要一个MediaService服务, 参考:https://cloud.tencent.com/developer/article/1914827 ios的话如果不引入tflite_flutter就可以编译成功,引入tflite_flutter就报错符号冲突?

ruolunhui commented 2 years ago

好的 非常感谢 我参考声网的android实现 还以为必须要在前台服务中启动录屏才行 iOS端确实如此 原生端不是很熟 我也给tflite_flutter提了issues

c1avie commented 2 years ago

ios 把pod里all_load相关的都去掉试试?