1、TRTC上下行无声怎么处理? 您可以参考上下行无声排查的专栏文章。 2、声音小怎么处理? 打开监控仪表盘,在音频选项卡中查看:若接收端和发送端“设备状态”的CPU超过90%,建议关闭其他后台程序;若音频上下行存在明显丢包,rtt值波动较大,表明当前用户网络质量不佳,建议切换稳定网络。 5、声音音质差或者声音忽大忽小 若您外接了声卡,开了耳返,当连麦时就会引发此问题,建议您在外接声卡时关闭耳返,因为声卡一般自带了耳返功能。 6、Web 通话过程中出现回声、杂音、噪声、声音小? 若您使用 TRTC.createStream 接口进行采集,则无需手动设置 3A 参数,SDK 默认开启 3A。
TRTC双方音视频通话时,不开麦的一方,通过setAudioRoute设置是否声音外放是没有效果的 原因:不开麦时走的是媒体通道,无法设置声音外放setAudioRoute。 OnPlayAudioData, 1533][AudioEngine : AudioDeviceAndroid play device ready:sample_rate:48000 channels:2 TRTC主播设置音频质量setAudioQuality为高音质后, setAudioRoute无法切换。 原因: 设置为高音质,sdk会把音频通道切换成媒体,而媒体通道是不能切路由的,需要强制在startLocalAudio之前调用下setSystemVolumeType,设置为通话。
常见场景 实时音视频 TXLiteAVSDK_TRTC 默认通过调用 startLocalAudio: 接口实现音频的采集。 如果开发者工程项目有自己的音频采集或者处理逻辑,SDK 也支持自定义音频采集方案:通过 TRTCCloud 的 enableCustomAudioCapture 接口关闭 TRTC SDK 默认的声音采集流程 然后您可以使用 sendCustomAudioData 接口向 TRTC SDK 填充您自己的声音数据。 startLocalPreview:[TRTCMoreViewController isFrontCamera] view:_localView]; //启用音频自定义采集模式 [_trtc } usleep(1000*20); } self->_fileData = nil; }); } 测试代码下载链接 常见问题
场景 如果你的业务场景对声音有特殊要求,需要开发者对声音做一些定制化处理;目前TRTC SDK提供发送自定义采集音频数据的接口,开发者可以自定采集音频数据,然后复用 trtc的编码功能,目前6.3.7版本 2、AudioRecord 采集到的音频数据不会回调给开发者,开发者需要启动一个线程每隔一段时间去读取音频数据。 ,sdk不打开麦克风采集,只是将声音数据上行,将音频数据广播给房间里的其他用户; image.png 示例二 推采集好的pcm音频文件 1、注意文件需要是48000采样率的单声道pcm文件; 2、将pcm 文件放在assets目录下,并调用 image.png 3、需要做一个定时器,定时往sdk塞音频数据,定时器间隔=(字节数 / 2 / 声道数) 1000 / 采样率 例如单声道,48K,(2048/2 /1)1000/48000=21 注意,并不是做一个定时器无脑的给sdk塞音频数据,frame.timestampMs时间戳是做音视频对齐,如需对音频要求严谨,可以动态修正定时器时间,2次定时器的调用对比一下时间是否满足音频所需间隔时间
前言: 大家好,今天继续分享记录一下最近的音频调试心得!同时这个过程中,也有朋友过来交流音频的问题,通过交流,也是学习到了新东西! 视频和音频复合推流: 在上一篇文章里面有提到fdk-aac编码库,最近在调试通过获取声卡的pcm数据,然后通过fdk-aac进行编码,得到aac的音频数据,然后通过rtsp推流出去,在这个过程中遇到一个问题 ,用ffplay解码播放,音频的音质质量是没有问题的,但是用vlc拉流播放就会出现音频卡顿的现象! 这个小问题点,在平时的解码器进行解码数据的时候也会遇到,比如说在公网环境下,有网络抖动,会加大数据量,也会导致解码器解码速度没有那么快,会导致一定的问题! 最后分享一点就是,通过和网友的交流,音频调试真的要非常仔细,稍微一个参数错了,声音就异常了! 好了,今天的分享就到这里了,简单记录一下音视频的问题点和解决思路,下期继续聊!
一,简介 如前篇文章《TRTC横竖屏切换1,手动切换》介绍,TRTCSDK提供了三个api,支持手动调整横竖屏切换,组合起来有4X4X4=64种变化,满足所有横竖屏切换需求。 //进房前初始化才有效 mTRTCCloud.setGSensorMode(TRTCCloudDef.TRTC_GSENSOR_MODE_DISABLE); 1、原始效果 两个手都竖持,后续手机旋转状态 2、打开重力感应,手机旋转90° 左不动,右边手机逆时针旋转90°,home键朝右 3、打开重力感应,手机旋转180° 左不动,右边手机逆时针旋转180°,home键朝上 4、打开重力感应,手机旋转 参考前篇《TRTC横竖屏切换1,手动切换》
问题2:下载 Electron 时出现 404 错误 404 Not Found 问题分析 更换了国内的 npm 镜像地址以后,资源的下载路径出现变化。 问题2:调用摄像头或麦克风时直接崩溃 使用 vscode 终端启动项目,当 trtc-electron-sdk 启动摄像头和麦克风时,程序直接崩溃: 崩溃 问题分析 这个问题在新升级至 mac 10.15 2:找不到入口文件 使用 create-react-app 创建的项目,使用 electron-builder 打包时可能会遇到此问题: $ node_modules\.bin\electron-builder.cmd 运行时遇到的问题 问题1:Windows 32 系统运行 报错, 提示需要 32 位的 trtc_electron_sdk.node 解决方案 进入到工程目录下的trtc-electron-sdk库目录下 执行 npm run install -- arch=ia32 下载完 32 位的 trtc_electron_sdk.node后,重新对项目进行打包 问题2:electron 12 版本上下文隔离默认启用
一,简介 如前篇文章《TRTC横竖屏切换1,手动切换》介绍,TRTCSDK提供了三个api,支持手动调整横竖屏切换,组合起来有4X4X4=64种变化,满足所有横竖屏切换需求。 //进房前初始化才有效 mTRTCCloud.setGSensorMode(TRTCCloudDef.TRTC_GSENSOR_MODE_DISABLE); 1、原始效果 两个手都竖持,后续手机旋转状态 2、打开重力感应,手机旋转90° 左不动,右边手机逆时针旋转90°,home键朝右 3、打开重力感应,手机旋转180° 左不动,右边手机逆时针旋转180°,home键朝上 4、打开重力感应,手机旋转 参考前篇《TRTC横竖屏切换1,手动切换》
一,简介 如前篇文章《TRTC横竖屏切换》介绍,TRTCSDK提供了三个api,支持手动调整横竖屏切换,组合起来有4X4X4=64种变化,满足所有横竖屏切换需求。 //进房前初始化才有效 mTRTCCloud.setGSensorMode(TRTCCloudDef.TRTC_GSENSOR_MODE_DISABLE); 1、原始效果 两个手都竖持,后续手机旋转状态 Screenshot_2020-09-22-20-07-28.png 2、打开重力感应,手机旋转90° 左不动,右边手机逆时针旋转90°,home键朝右 Screenshot_2020-09-22-20 参考前篇《TRTC横竖屏切换》 链接: 《TRTC横竖屏切换》
音频质量评估-1:之前主要学习了音视频的编码和解码原理,和测试音频质量的方法。接下来继续学习下当前 短视频 领域的 视频质量测试方法。 scikit-image opencv-python imutils from skimage.measure import compare_ssim import imutils import cv2 Load the two input images imageA = cv2.imread("1.png") imageB = cv2.imread("2.png") # 4. Convert the images to grayscale grayA = cv2.cvtColor(imageA, cv2.COLOR_BGR2GRAY) grayB = cv2.cvtColor (imageB, cv2.COLOR_BGR2GRAY) # 5.
实时音视频(TRTC)常见问题目录: 集成类 1.如何选择媒体音量和通话音量? 该场景适用于 iOS 、Android 平台。 场景2:业务场景中使用到 CDN 旁路直播 需要在音频推流配置参数中增加 TRTCParams.businessInfo字段,指定 CDN 旁路能支持纯音频流。 ,2: 允许纯音频推流+录制 Str_uc_params.put("Str_uc_params", pure_audio_push_mod); Log.i(TAG, "纯音频推流参数: 腾讯实时音视频(TRTC)目前有两种解决方案,一种是视频通话,另一种是万人低延时直播。 2.视频通话和低延时直播的区别? 如果你设备运行有问题,欢迎在评论留言反馈或者在 Github 上提 issue 反馈
问题/风险描述:在使用 腾讯实时音视频(TRTC) 进行云端混流转推时,可能会出现混流失败的情况,其中一种错误的情况是因为在非纯音频的情况下,缺少了相关的音频编码参数,导致混流出现失败的情况,比如通过云端的日志检查发现是因为发起混流参数缺少了音频编码的参数 请对照官网的文档,保证音频编码参数成功设置。图片2. 时刻关注您的服务端发起混流后返回的接口,如果发现有相关的错误情况的话,需要及时的修复并发布,以免影响您业务正常使用。
Audio Unit几乎可以认为是对硬件驱动层的封装,通过它获取麦克风采集的音频数据或者将音频数据传输给扬声器播放。 (2)动态的配置,AUGraph可以动态的对音频数据的组合配置,改变音效。 :是AUGraph音频处理环节中的一个节点。 (3)AudioUnit: 音频处理组件,是对音频处理节点的实例描述者和操控者。 image.png AudioUnit实际上就是一个AudioComponentInstance实例对象,一个AudioUnit由scope(范围)和element(元素)组成,实际上开发中主要涉及到输入输出的问题
TRTC iOS端模拟器修改日志路径? 如何关闭TRTC云端录制功能? 1、切换云产品至“实时音视频”。 image.png 2、找到对应应用选择功能配置。 image.png 3、关闭云端录制。 TRTC 是否支持设置镜像画面? TRTC 支持拉流播放 RTMP/FLV 流吗? 支持,目前 TRTC SDK 中已打包 TXLivePlayer。 stopLocalAudio 是关闭本地音频的采集和上行。 muteLocalAudio 并不会停止发送音视频数据,而是会继续发送码率极低的静音包。
TRTC产品有多种音视频流上行的方式,其中,可以通过OBS等推流设备,使用RTMP协议给TRTC后台上行音视频数据。 :常见于转推第三方视频源,再推到TRTC。 案例:http://1258925280.vod2.myqcloud.com/2962924cvodcq1258925280/572a2e16387702306895228533/F0KFxDaZ8fIA.mp4 排查建议:这时候直接通过VLC等播放器播放视频源看效果,即可确认是不是源的问题。 2)推上来的流含有B帧场景:这里不再科普I帧、B帧、P帧的概念。B帧作为双向预测帧,会在编解码中引入额外的延迟,因此在直播活动中,通常建议不要携带B帧。 当推流到TRTC含有B帧,有可能造成画面抖动。
基本介绍 1.1 I2S “I2S(Inter—IC Sound)总线, 又称集成电路内置音频总线,是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准。 I2S采用了独立的导线传输时钟与数据信号的设计,通过将数据和时钟信号分离,避免了因时差诱发的失真,为用户节省了购买抵抗音频抖动的专业设备的费用。 I2S特点 支持全双工和半双工模式 支持主、从模式 1.2 数字音频技术 现实生活中的声音是通过一定介质传播的连续的波,它可以由周期和振幅两个重要指标描述。 2. I2S规范 “标准的I2S总线电缆至少是由3根串行导线组成 串行时钟SCLK,也叫位时钟(BCLK),即对应数字音频的每一位数据,SCLK都有1个脉冲。SCLK的频率=2×采样频率×采样位数。 为了保证数字音频信号的正确传输,发送端和接收端应该采用相同的数据格式和长度。当然,对I2S格式来说数据长度可以不同。 I2S格式 左右通道的数据MSB是在WS变化后第二个SCK/BCLK上升沿有效。
目前TXLiteAVSDK_TRTC的方案是: 1、在控制台实时音视频服务下功能配置启用自动旁路直播,如果混流画面需要录制存储还需要启用旁路直播自动录制,参考:CDN旁路推流 2、当需要混流的时候客户端直接调用 TRTCMixUser *user1 = [[TRTCMixUser alloc] init]; user1.userId = @"Web_trtc_03"; user1.zOrder = [[TRTCMixUser alloc] init]; user2.userId = @"Web_trtc_04"; user2.zOrder = 1; user2.rect = @[user1,user2]; [_trtc setMixTranscodingConfig:config]; //启动混流 } Android //开启云端混流转码 public TRTCCloudDef.TRTCMixUser broadCaster = new TRTCCloudDef.TRTCMixUser(); broadCaster.userId = "Web_trtc
为了方便开发者技术选型、开发集成,以下是针对不同问题场景整理的 TRTC 常见问题汇总,后续会持续更新,欢迎反馈。 咨询问题篇 集成接入篇 WebRTC篇 小程序篇 Electron篇 Flutter篇 录制混流问题篇 计费篇 咨询问题篇 一、功能咨询 1. TRTC 支持哪些平台? TRTC 怎么实现纯音频通话? TRTC 纯音频通话怎么实现旁路推流和录制? TRTC V2版本和V1版本有哪些区别?怎么实现旧版本(iLiveSDK)升级 TRTC V2方案?
from enum import IntEnum class PCMEncoding(IntEnum): UNSIGNED_8 = 1 SIGNED_16 = 2 SIGNED self == 1 else -self.min -1 @property def min(self): return 0 if self == 1 else -(2* return np.frombuffer(frames, "<i2") / -self.min case PCMEncoding.SIGNED_24: samples = padded.flatten().view("<i4") samples[samples > self.max] += 2 读取音频帧的切片 如果您有一个特别长的音频文件,则可以通过缩小感兴趣的音频帧的范围来减少加载和解码基础数据所需的时间。 我们将通过切片功能实现读取一个范围的音频。
image.png 2、缺少依赖库 错误信息片段如下: Showing Recent Messages Undefined symbol: std::__1::basic_ostream<char, OpenAL.framework 引入步骤: image.png 3、xxx file not found(Objective-C报错信息) No such module 'TXLiteAVSDK_TRTC 4、Objective-C和Swift混编引起的问题 Swift引用OC代码,需要创建bridge文件,把OC文件引入 OC引用Swift代码,需要在OC文件中引入 '项目名-Swift.h',同时把Swift from: objc-class-ref in TXLiteAVSDK_Professional(TXCCaptureAndEnc.o) objc-class-ref in TXLiteAVSDK_TRTC