09 2023 档案

摘要:音频领域有3A问题,所谓3A,是指声学回声消除(AEC, Acoustic Echo Cancel)、背景噪声抑制(ANS, Automatic Noise Suppression)、自动增益控制(AGC, Automatic Gain Control),今天聊一聊AEC。 1. 什么是AEC 从通 阅读全文
posted @ 2023-09-28 09:32 阿风小子 阅读(1027) 评论(0) 推荐(0) 编辑
摘要:分离声道 1 转码(源文件没问题可以省略) ffmpeg -i jy.ts -vcodec h264 -acodec aac jy1.ts2 取一个声道 ffmpeg -i jy1.ts -af "pan=stereo|c0=FL|c1=FL" -c:v copy 1.ts 3 取另一个声道 ffm 阅读全文
posted @ 2023-09-27 09:25 阿风小子 阅读(452) 评论(0) 推荐(0) 编辑
摘要:有多种实现方式: 一、使用 Set 对象: 1 Array.from(new Set(array)) 该方法会先创建一个 Set 对象,然后再使用 Array.from 方法将 Set 对象转换为数组,因为 Set 对象不允许有重复的元素,所以这样可以实现去重的效果。 但是,如果数组中的元素是对象, 阅读全文
posted @ 2023-09-21 16:26 阿风小子 阅读(174) 评论(0) 推荐(0) 编辑
摘要:nginx.conf upstream websocket { server 119.91.250.33:8088; } server { listen 443 ssl; server_name www.javays.com; ssl_certificate /etc/nginx/www.javay 阅读全文
posted @ 2023-09-21 15:57 阿风小子 阅读(1706) 评论(0) 推荐(0) 编辑
摘要:背景 Ffmpeg 中带有h264的解码,没有编码,需要添加x264。libx264是一个自由的H.264编码库,是x264项目的一部分,使用广泛,ffmpeg的H.264实现就是用的libx264。 FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL 阅读全文
posted @ 2023-09-21 15:21 阿风小子 阅读(356) 评论(0) 推荐(0) 编辑
摘要:1.目标 目标:在linux上交叉编译windows的VLC版本,并实现功能的裁剪 2.搭建环境 2.1编译环境 系统版本:UnionTech OS Desktop 20 Home 内核版本:5.10.0-amd64-desktop VLC版本:3.0.18 预构建版本:vlc-contrib-x8 阅读全文
posted @ 2023-09-19 10:16 阿风小子 阅读(291) 评论(0) 推荐(0) 编辑
摘要:安装依赖包以及编译arm-himix200交叉编译器步骤 1 配置默认使用 bash #sudo dpkg-reconfigure dash 选择 no 步骤 2 安装软件包 执行: #sudo apt-get install make libc6:i386 lib32z1 lib32stdc++6 阅读全文
posted @ 2023-09-16 10:45 阿风小子 阅读(358) 评论(0) 推荐(0) 编辑
摘要:下载 libspeexdspPC上,编译。修改内置demo输入in.pcm ,输出out.pcm, 用音频分析软件及实测效果OK. #ifdef HAVE_CONFIG_H#include "config.h"#endif #include "speex/speex_preprocess.h"#in 阅读全文
posted @ 2023-09-14 17:53 阿风小子 阅读(257) 评论(0) 推荐(0) 编辑
摘要:1.speexdsp的变量定义: SpeexEchoState *echo_state = NULL;//回声消除变量SpeexPreprocessState *pre_state = NULL;//噪声抑制变量int sampleRate = 16000;//16k采样率 2. speexdsp的 阅读全文
posted @ 2023-09-14 17:51 阿风小子 阅读(595) 评论(0) 推荐(0) 编辑
摘要:speex是音频编解码库,speexdsp是附加的音频DSP库,是音频降噪库,也有回声抑制和自动增益控制功能,即通常说的音频3A算法。 现在音频编解码大部分都是使用opus库,很少使用speex进行音频编解码,但还是会使用speexdsp库的3A算法对音频数据进行处理。 本例是在ubuntu环境下, 阅读全文
posted @ 2023-09-14 17:43 阿风小子 阅读(1074) 评论(0) 推荐(0) 编辑
摘要:1. speex的降噪模块的简介 speex的语音处理模块要使用独立于 speex codec库的libspeexdsp 库。 这个分离的库是在1.2版本后实现; 它这库包括了: 预处理,回声消除,jitter buffer 和重采样模块; 在Unix/Linux环境下,使用 -lspeexdsp 阅读全文
posted @ 2023-09-14 17:39 阿风小子 阅读(1135) 评论(0) 推荐(0) 编辑
摘要:前言 只是小白在学习过程中的记录,可能存在错误。。。 音频使用3A算法,Speex也支持。。 3A:声学回声消除(AEC)、背景噪声抑制(ANS)、自动增益控制(AGC)三种音频算法的合称 个人尝试之后发现,背景噪声消除效果较好,AEC和AGC似乎没什么用。。 一、speex、speexdsp的简单 阅读全文
posted @ 2023-09-14 17:34 阿风小子 阅读(1358) 评论(0) 推荐(1) 编辑
摘要:工具:ffmpeg过滤器模块相关过滤器,其创建过程如下:创建一个过滤器节点,如overlay:avfilter_get_by_name(“overlay”);创建一个过滤器上下文并将其添加到FilterGraph上,如:avfilter_graph_create_filter(&overlayFil 阅读全文
posted @ 2023-09-14 14:29 阿风小子 阅读(317) 评论(0) 推荐(0) 编辑
摘要:一、WebRTC 是什么 WebRTC,名称源自网页即时通信(英语:Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音对话或视频对话的API。它于2011年6月1日开源并在Google、Mozilla、Opera支持下被纳入万维网联盟的W3C推荐标准。谷 阅读全文
posted @ 2023-09-14 09:11 阿风小子 阅读(2148) 评论(0) 推荐(0) 编辑
摘要:基本流程: 1 [main] 2 input --> split > overlay --> output 3 | ^ 4 |[tmp] [flip]| 5 + > crop --> vflip + 这个例⼦的处理流程如上所示,⾸先使⽤split滤波器将input流分成两路流(main和tmp),然 阅读全文
posted @ 2023-09-13 10:30 阿风小子 阅读(122) 评论(0) 推荐(0) 编辑
摘要:在做音频处理模块的时候,为了对声音进行优化处理,我很多时候会使用各种算法对音频进行变换,效果包括变音变调、声音降噪等等。其实FFmpeg库里的滤镜模块包含了很多有用的音频滤镜算法,这对于提升开发效率避免重复造轮子是很有帮助的。这里翻译了一下FFmpeg官方文档的所有音频滤镜的介绍,希望对大家有帮助。 阅读全文
posted @ 2023-09-12 12:02 阿风小子 阅读(1716) 评论(0) 推荐(0) 编辑
摘要:作为 Qt 下载教程,本文会同时讲解以上三种下载方式。 Qt 官方下载(非常慢) Qt 官网有一个专门的资源下载网站,所有的开发环境和相关工具都可以从这里下载,具体地址是:http://download.qt.io/ Qt官方下载网站截图图1:Qt 官方下载网站截图 对目录结构的说明 archive 阅读全文
posted @ 2023-09-09 17:17 阿风小子 阅读(16195) 评论(0) 推荐(1) 编辑
摘要:常见的嵌入式Linux图形界面有Qt/Embedded、DirectFB、MicroWindows/NanoX、MiniGUI和OpenGUI等,每个GUI都有各自不同特点和应用场合,在应用编程上也各不相同。 本文将介绍嵌入式Qt的基础编程,从环境搭建入手,然后介绍了qmake工具以及Qt Crea 阅读全文
posted @ 2023-09-09 16:47 阿风小子 阅读(1404) 评论(0) 推荐(1) 编辑
摘要:从FFmpeg 3.0 开始 , 使用了很多新接口,对不如下: 1. avcodec_decode_video2() 原本的解码函数被拆解为两个函数avcodec_send_packet()和avcodec_receive_frame() 具体用法如下: old: avcodec_decode_vi 阅读全文
posted @ 2023-09-09 08:41 阿风小子 阅读(356) 评论(0) 推荐(0) 编辑
摘要:音视频数据采集的步骤: 设备注册设置对应的采集方式,avfoundation、dshow、alas打开设备具体的例子: #include <stdio.h>extern "C"{ #include <libavutil/avutil.h> #include <libavdevice/avdevice 阅读全文
posted @ 2023-09-07 15:45 阿风小子 阅读(84) 评论(0) 推荐(0) 编辑
摘要:一、打开音频设备 设备可以是多媒体文件和物理设备 #ifndef TESTC_H #define TESTC_H #include <stdio.h> #include "libavutil/avutil.h" #include "libavdevice/avdevice.h" //打开音频设备相关 阅读全文
posted @ 2023-09-07 15:39 阿风小子 阅读(189) 评论(0) 推荐(0) 编辑
摘要:系统环境: 系统版本:lubuntu 16.04 Ffmpge版本:ffmpeg version N-93527-g1125277 摄像头:1.3M HD WebCan 虚拟机:Oracle VM VirtualBox 5.2.22 指令查看设备 ffmpeg -devices 本章文档基于《ffm 阅读全文
posted @ 2023-09-07 15:31 阿风小子 阅读(118) 评论(0) 推荐(0) 编辑
摘要:在FFmpeg中,可以使用libavdevice库来采集麦克风的音频。下面是一个简单示例: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <stdint.h> #include <libavformat/avf 阅读全文
posted @ 2023-09-07 15:27 阿风小子 阅读(529) 评论(0) 推荐(0) 编辑