音频广播播放功能实现逻辑分享

广播的业务还是挺好实现的,作为练手项目绝对不错,主要涉及到几个点:1、音频数据采集;2、音频数据编码;3、媒体流组包发送;4、UDP Socket服务器、客户端实现;5、音频抖动缓冲区,及播放器实现;
阅读全文

UWB定位产品开发爬坑记录-4

吞吐量要解决的几个问题:1、标签时隙管理;一种方式:基站主导,官方的TREK1000代码有类似的逻辑;一个标签,比方每2s发送一次P帧,2、多基站测距;A站、B站、C站回复A帧的时间不同,需要做延时发送;具体延时多久,也需要同标签做好时间窗口同步;
阅读全文

UWB定位产品开发爬坑记录-3

DW1000跟MCU之间是通过SPI读写完成数据交互,如果SPI数据读写有延迟,对基站吞吐量的影响是很大的,最近一次,分析标签完成一次测距时间太长的问题,就找到了SPI读写过程中的问题,当然也有选用MCU自身主频低的因素在里面;
阅读全文

Linux下使用ffmpeg播放mp3/aac/wav文件的音乐播放器应用

使用ffmpeg实现一个播放器?是不是没什么新意,不过一直使用ffmpeg程序,还没有用ffmpeg代码接口实现播放器,并且还需要使用linux的alsa接口播放出声音,所以做出来还是觉得有点意思;
阅读全文

[LINUX应用编程]GPIO控制TM1650键盘

LINUX外接TM1650键盘,由于TM1650不是一个标准的I2C接口,只能通过操作GPIO方式模拟I2C通信;问题1:通过linux的文件读写gpio方式,支持us级别的控制;几个报错处理:1、开始通过文件方式操作export文件,发现总是失败;[failed]gpio_export path:/sys/class/gpio/gpio145open error: Permission deni
阅读全文

Freeswitch视频录制CPU负载高问题解决

接上篇:单路通话,Freeswitch录制视频CPU高的原因,主要是开启media_bug通道会涉及一次H264解码、两次H264编码,所以CPU高;解决思路就是:由于录制是使用rtsp/rtmp转发流的方式,可以直接将源端发送过来的H264码流转发给rtsp/rtmp服务器,这样就减少了Freeswitch端的解码和编码过程;上篇已经减少了一次转发给b_leg时的编码,确实CPU负载就降下来了,
阅读全文

九月随笔

早上翻看沈复的《浮生六记》,恰好翻到第三篇坎坷记愁,虽是古文,读起来还不是很费劲,读到芸客死他乡,于临终前的那段话,看得我是唏嘘不已,不禁感同身受起来;恰逢其父去世,而其亲弟唯利是图,兄弟失和,又让其有退隐皈依的念头,朋友诘问:“家庭若此,固堪动忿,但足下父死而母尚存,妻丧而子未立,乃竟飘然出世,于心安乎。”,听之,却也无可奈何。
阅读全文

STM32音频解码模块选型过程记录

硬件同事在调研通过PCM音频模块,完成PCM音频流的播放,一共使用了3个模块:1、CJMCU-5102模块:PCM5102为 I2S-DAC 解码器;支持I2S输入;没有参数配置;2、WM8978模块: WM8978为DAC+ADC芯片,除了DAC解码功能,还带了一个MIC录音功能;支持I2S输入;支持I2C配置相关参数;3、VS1053模块:VS1053是音频编解码芯 片,支持:MP3/WMA/
阅读全文

UWB定位产品开发爬坑记录-2

近期的几个问题着实让人头疼,过程也是相当坎坷;1、丢包率硬件的稳定性,软件一样的逻辑,丢包率居高不下,一直在40%以上;还好硬件同事不甩锅,发现硬件PA的问题,重新修改了一版硬件后,确实丢包率下来了好多,还是需要有一般靠谱的伙伴;当然软件这块也做了好多修改,丢包重试;sniffer模式的实现;2、功耗;功耗仪上测试了好几版,抓波形,分析工作时长;分析竞品的工作时长,找到功耗消耗长的原因:第一个:T
阅读全文

一个windows端服务拷贝文件到共享文件夹的方法记录

一个需求,需要实现拷贝一个本地文件到共享文件夹的功能,思路是先开启网络共享文件夹的访问,然后执行拷贝命令;开启网络共享文件夹的免密码访问,需要在cmd.exe命令窗口,使用net use命令,如:net use \\192.168.21.102 "password" /user:"test"另外,执行cmd.exe,通常方法是使用system调用或者wine
阅读全文
首页 12345 末页 共 140 条记录