术语解释

P2P中间件:P2P直播模块的底层库,负责建立P2P网络和处理各种音视频数据。

P2P直播模块:在P2P中间件的基础上封装的针对直播这一特定场景的SDK。

采集端:指P2P直播模块中负责采集和分发视频的实例或者节点。

播放端:是P2P直播模块中负责从采集端获取视频数据并播放的实例和节点。

设备端:常指采集端,运行在特殊设备上的实例或者节点。

手机端:常指播放端,与APP集成的部分。

怎样给直播模块对接嵌入式设备的摄像头?

  1. 阅读嵌入式设备的开发手册,清楚设备关于视频采集的API。
  2. 阅读《Peergine 扩展设备输入输出C接口说明 v1.5.doc》和Demo代码callbackVideo.cpp,

怎样定位直播模块登录超时的问题?

登录超时一般是网络问题,主要排查方向是设备的网络连接。设备能不能连接到公共网络。

  1. Ping 服务器看看是否域名能够正常解析,我们的测试服务器地址是 connect.peergine.com ,客户自己搭建服务器后就ping客户本身的服务器域名或者地址。
  2. 如果能ping通后检测防火墙问题,看是否配置了一些防火墙规则限制了P2P流量。

如果还是不通。请提交问题到我们的讨论群,同时提交日志和描述状态信息,必要时提供远程服务。

  1. 目前需要排除的是防火墙对P2P的影响,请在设备上使用telnet connect.peergine.com 443 看看是否有反应,请将局域网防火墙关闭试试能不能登录。如果还是不行换台设备试试,或者换个网络试试。
  2. 在嵌入式系统中,某些shell在输入回车键后在字符串中输入‘\n’或者‘\r’,如果这个时候输入服务器地址的环节直接按回车会导致服务器地址是”\n” ,导致登录超时。

怎样对接嵌入式设备的音频?

嵌入式测试程序原理说明:

因为嵌入式设备各种音频采集和播放的接口都不统一,我们没有办法直接从音频输入设备采集音频以及将音频直接播放到音频输出设备。所以我们开放了一些接口支持客户通过编程来对接音频输入输出设备。

同时在SDK压缩包中给出了一个演示程序。

演示程序音频部分的做法是,接到播放端传过来音频后,将音频数据再传入中间件的音频采集接口。

这样就可以在播放端测试音频数据是否能够正常的传输到了设备端,并且成功的从设备端传回播放端。

设备端采集视频的Demo演示的原理是循环的读取一帧视频数据测试视频数据能不能正常的从设备端传送到播放端并成功播放。

所以我们的对接视音频的时候需要做的就是修改hardware_api.c 文件,将从P2P中间件接收到的音频数据调用设备的音频输出接口直接播放。同时要启动设备的音频采集,将采集到的音频数据通过调用P2P中间件的音频输入接口输入到P2P中间件

同时需要注意的是设备采集音频的采样率以及设备支持播放音频的采样率。中间件只支持 采样率为 11025 的音频数据的传输。如果设备不支持这种采样率的音频数据的采集和播放,那么就需要了解一下 pgLibDevAudioConvert.h 中的API接口,将其他采样率的音频转化成11025采样率,或者将11025采样的的音频转化成其他采样率。

PCM16 需要是小尾端数据。一些设备和音频源转码成 PCM16 音频数据后可能是大尾端数据, 需要转换成小尾端

https://blog.csdn.net/fivedoumi/article/details/7796960

音频外部采集回调注册后打开失败

音频的外部采集的回调的注册和启用同时要启用音频外部播放和启用。

音频转换API支持的参数解析

8000,16000,32000,22050, 44100

441 = 11025/1000*40

直播模块播放端不能打开采集端视频的原因

问题描述:

有客户将直播模块集成到APP中测试发现:APP第一次打开可以看到采集端视频,但是切换到后台后(不杀死APP进程)重新进入APP,发现采集端视频不能打开了。

具体情况:

直播模块播放端对象Clean后然后置空销毁。然后程序退到后台,之后切换到前台重新New 和初始化。发现调用VideoStart后接收不到采集端的视频了,调用VideoStart后如截图所示。

但是杀掉采集端APP这个进程重新进入就可以看到采集端视频。

解决方法:检查用来显示采集端视频的SurfaceView是否正常销毁了。注意直播模块的SurfaceView要使用pgLibLiveMultiView.Get 获取,以及使用pgLibLiveMultiView .Release销毁。

特别注意,ExtVideo模块使用的是pgLibView.Get 获取pgLibView .Release销毁。千万不要混淆。

直播模块关于视频外部采集的问题。

参考文档:《Peergine 扩展设备输入输出C接口说明 v1.6.doc》

请先参考文档已及及外部采集的Demo了解各个回调和API函数的意义。

启动视频外部采集的相关流程。

 

 

关于如何检测播放端的异常断开与采集端的连接和异常关闭视频

问题:那目前一个采集端限制8个通道,如果我同时播放多个录像(8个)的过程中,部分播发端异常断开,采集端无法感知继续采集并占用通道,那新的播放通道请求就无法回应了,这个要怎么解决?

回答:

1.如果播放端异常断开采集端的连接,采集端会收到一个RenderLeave事件;

 

2.

 

发表评论

邮箱地址不会被公开。 必填项已用*标注

36 − 34 =