热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

音视频开发的故障分析

在音视频开发中,或是使用开发工具的过程中,特别是在某个软件不熟悉的情况下,遇到问题通常无从下手,这里以国内比较先进的音视频开发平台AnyChat平台作为一句,给出较通用的故障分析、

在音视频开发中,或是使用开发工具的过程中,特别是在某个软件不熟悉的情况下,遇到问题通常无从下手,这里以国内比较先进的音视频开发平台AnyChat平台作为一句,给出较通用的故障分析、排查和解决方案:

一、服务器部分

服务器程序启动后,会在服务器程序所在目录生成一个日志文件:“AnyChatCoreServer.log”,典型的日志文件内容如下:

1.---------------------------InitService---------------------------

2.Current File Version[2, 8, 6, 2],Build time:2010-06-2220:17:25

3.Authorized certification success!

4.Run Service

5.Start TCP Server Successed(port=8906)!

6.Start UDP Server Successed(port=8907)!

里面记录了服务器的版本信息,以及发布时间,另外最重要的两点,还记录了授权信息是否验证成功和当前启动TCP和UDP的服务是否成功。

如果在服务器的配置文件中配置了SDK Filter(Plus)的接口,则也会在日志文件中记录加载是否成功。

通常服务器会遇到如下问题:

1、由于授权信息验证失败,而导致服务器启动失败。服务器启动时,会读取当前目录下的授权证书文件(AnyChat.cer)并验证是否有效,如果该文件丢失,或是授权信息不正确,均会导致启动失败,遇到该问题,请与我们的售后服务联系(附:联系方式);

2、由于端口被占用导致服务器启动失败。如果服务器配置文件中所配置的TCP、UDP端口被别的程序占用,或是启动了多个服务器进程,都将会导致端口被占用,遇到该问题,只需要关闭使用该端口的进程,或是在配置文件中修改端口号,然后重新启动服务器程序即可;

3、服务器运行过程中出现异常,通常AnyChat服务器都能捕获所产生的异常,将该异常发生点的内存进行转储为文件,文件名为“BRGVServerCrash.dmp”和“BRGVServerErrorLog.txt”,当异常发生后,请将这两份文件提供给我们,将有助于我们快速定位故障点,并提供升级补丁程序。

二、客户端部分

如果上层应用程序没有主动关闭AnyChat SDK的日志功能,则客户端程序运行后,将会在应用程序当前目录生成一个日志文件:“BRAnyChatCore.log”,可用记事本打开,里面记录了SDK的版本号,发布日期,启动时加载库文件是否成功的信息,以及上层应用调用AnyChat SDK的API接口信息,并包含部分参数。

通常分析客户端日志文件可以解决大部分关于客户端的不正常现象,包括:

1、不同的版本造成的异常:客户端日志会记录SDK的版本信息,相关库文件的版本信息和发布时间,和正常日志文件作对比,判断是否由于版本的不同导致的不正常;

2、由于组件没有注册成功,或是相关组件(DLL文件)加载失败,造成部分功能的不正常,如不能打开视频,或是不能打开本地音频采集设备,均可能是组件注册,或是组件缺失所导致的;

3、由于调用参数的错误导致SDK不能正常工作,如连接服务器不成功,而服务器又是正常的情况,通常是传入的IP地址,或是端口号不正确所导致的,该类问题可以分析日志文件中所记录的API传入参数来查找原因;

4、由于API调用的顺序问题而导致客户端的异常:通过和正常的日志文件进行对比,判断API的调用是否存在问题。

音视频开发的故障分析


推荐阅读
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 我的读书清单(持续更新)201705311.《一千零一夜》2006(四五年级)2.《中华上下五千年》2008(初一)3.《鲁滨孙漂流记》2008(初二)4.《钢铁是怎样炼成的》20 ... [详细]
  • 3DSMAX制作超现实的体育馆模型
    这篇教程是向脚本之家的朋友介绍3DSMAX制作超现实的体育馆模型方法,教程制作出来的体育馆模型非常地不错,不过教程有点难度,需要有一定基础的朋友学习,推荐到脚本之家,喜欢的朋友可 ... [详细]
  • 本文介绍了如何在AngularJS应用中使用ng-repeat指令创建可单独点击选中的列表项,并详细描述了实现这一功能的具体步骤和代码示例。 ... [详细]
  • 在项目冲刺的最后一天,团队专注于软件用户界面的细节优化,包括调整控件布局和字体设置,以确保界面的简洁性和用户友好性。 ... [详细]
  • JavaScript 页面卸载事件详解 (onunload)
    当用户从页面离开时(如关闭页面或刷新页面),会触发 onunload 事件,此时可以执行预设的脚本。需要注意的是,不同的浏览器对 onunload 事件的支持程度可能有所不同。 ... [详细]
  • 默认情况下,Git 使用 Nano 编辑器进行提交信息的编辑,但如果您更喜欢使用 Vim,可以通过简单的配置更改来实现这一变化。本文将指导您如何通过修改全局配置文件来设置 Vim 作为默认的 Git 提交编辑器。 ... [详细]
  • 探索Java 11中的ZGC垃圾收集器
    Java 11引入了一种新的垃圾收集器——ZGC,由Oracle公司研发,旨在支持TB级别的内存容量,并保证极低的暂停时间。本文将探讨ZGC的开发背景、技术特点及其潜在的应用前景。 ... [详细]
  • 本文探讨了使用普通生成函数和指数生成函数解决组合与排列问题的方法,特别是在处理特定路径计数问题时的应用。文章通过详细分析和代码实现,展示了如何高效地计算在给定条件下不相邻相同元素的排列数量。 ... [详细]
  • 在Notepad++中配置Markdown语法高亮及实时预览功能
    本文详细介绍了如何在Notepad++中配置Markdown语法高亮和实时预览功能,包括必要的插件安装和设置步骤。 ... [详细]
  • 探讨如何在映射文件中处理重复的属性字段,以避免数据操作时出现错误。 ... [详细]
  • 网络流24题——试题库问题
    题目描述:假设一个试题库中有n道试题。每道试题都标明了所属类别。同一道题可能有多个类别属性。现要从题库中抽取m道题组成试卷。并要求试卷包含指定类型的试题。试设计一个满足要求的组卷算 ... [详细]
  • Windows操作系统提供了Encrypting File System (EFS)作为内置的数据加密工具,特别适用于对NTFS分区上的文件和文件夹进行加密处理。本文将详细介绍如何使用EFS加密文件夹,以及加密过程中的注意事项。 ... [详细]
  • 回顾两年前春节期间的一个个人项目,该项目原本计划参加竞赛,但最终作为练习项目完成。独自完成了从编码到UI设计的全部工作,尽管代码量不大,但仍有一定的参考价值。本文将详细介绍该项目的背景、功能及技术实现。 ... [详细]
  • 如何在PHP中安装Xdebug扩展
    本文介绍了如何从PECL下载并编译安装Xdebug扩展,以及如何配置PHP和PHPStorm以启用调试功能。 ... [详细]
author-avatar
格林威治
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有