首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏txp玩Linux

    音频调试(2)

    前言: 大家好,今天继续分享记录一下最近的音频调试心得!同时这个过程中,也有朋友过来交流音频的问题,通过交流,也是学习到了新东西! 视频和音频复合推流: 在上一篇文章里面有提到fdk-aac编码库,最近在调试通过获取声卡的pcm数据,然后通过fdk-aac进行编码,得到aac的音频数据,然后通过rtsp推流出去,在这个过程中遇到一个问题 ,就是和h264一起推流出去的时候,用ffplay拉流解码播放的时候,发现aq不断递增(音频缓存,网上说是帧长度,但是测试发现但不发送音频流的时候,aq的值会变小了,同时还可以听到声音) 这个现象显然是不对的 ,用ffplay解码播放,音频的音质质量是没有问题的,但是用vlc拉流播放就会出现音频卡顿的现象! 最后分享一点就是,通过和网友的交流,音频调试真的要非常仔细,稍微一个参数错了,声音就异常了! 好了,今天的分享就到这里了,简单记录一下音视频的问题点和解决思路,下期继续聊!

    37000编辑于 2024-04-11
  • 来自专栏Chasays

    音频质量评估-2

    音频质量评估-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.

    1.5K10编辑于 2021-12-06
  • 来自专栏Golang开发

    iOS音频(2)——Audio Unit

    Audio Unit几乎可以认为是对硬件驱动层的封装,通过它获取麦克风采集的音频数据或者将音频数据传输给扬声器播放。 但是随着直播热对音视频的传输速度高要求,将PCM音频转换成AAC主要用到就是Audio Unit。 ?    ()动态的配置,AUGraph可以动态的对音频数据的组合配置,改变音效。 :是AUGraph音频处理环节中的一个节点。 (3)AudioUnit: 音频处理组件,是对音频处理节点的实例描述者和操控者。   

    2.8K41发布于 2019-05-29
  • 来自专栏Linux兵工厂

    音频总线-I2S

    基本介绍 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上升沿有效。

    1.9K40编辑于 2023-02-28
  • 来自专栏Python基础、进阶与实战

    python WAV音频文件处理—— (2)处理PCM音频-- waveio包

    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 读取音频帧的切片 如果您有一个特别长的音频文件,则可以通过缩小感兴趣的音频帧的范围来减少加载和解码基础数据所需的时间。 我们将通过切片功能实现读取一个范围的音频

    99510编辑于 2024-04-11
  • 来自专栏FPGA开源工作室

    音频总线I2S协议

    音频总线I2S协议 1 概述 I2S(Inter—IC Sound)总线, 又称 集成电路内置音频总线,是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准,该总线专门用于音频设备之间的数据传输 I2S采用了沿独立的导线传输时钟与数据信号的设计,通过将数据和时钟信号分离,避免了因时差诱发的失真,为用户节省了购买抵抗音频抖动的专业设备的费用。 在飞利浦公司的I2S标准中,I2S主要有三个信号。 1.位时钟 BICK(也叫串行时钟SCLK),即对应数字音频的每一位数据,BCLK都有1个脉冲。BCLK的频率=2×采样频率×采样位数。 2.帧时钟LRCK,(也称WS),用于切换左右声道的数据。 3.串行数据SDATA,就是用二进制补码表示的音频数据。 3 I2S收发模块FPGA的仿真设计 i2s_test模块为i2s_in和i2s_out模块的顶层,i2s_in模块将输入的串行数据转换成并行的数据,然后i2s_out模块将并行数据转换成串行数据输出

    7.6K20发布于 2019-10-29
  • 来自专栏菩提树下的杨过

    利用jave2进行音频处理

    很多朋友都知道,ffmpeg是一个功能强大的多媒体处理工具,可惜它并不是java语言开发,如果需要在java项目中使用时,得自己写很多代码,幸好github上有一个开源项目jave2 把ffmpeg做了封装 <artifactId>jave-all-deps</artifactId> <version>3.1.1</version> </dependency> 以下是一些常用示例: 1、获取音频文件的编码信息 5、拼接音频(比如:把某段音频重复N次,合成1个新音频) boolean mergeAudio() { // ffmpeg -i bullet.wav -i bullet.wav -i bullet.wav EncodingAttributes(); //设置起始偏移量(秒) encodingAttributes.setOffset(1.0F); //设置切片的音频长度 (秒) encodingAttributes.setDuration(2.0F); //设置音频属性 AudioAttributes audio = new

    2.9K31发布于 2021-05-07
  • 来自专栏大龄程序员的人工智能之路

    Chromium 改造实录:增加 MP2 音频支持

    这个文件中的 ID 以十六进制形式定义,简单转换一下,可以知道 log 中的 ID 对应的是 AV_CODEC_ID_MP2。 又是一个比较古旧的音频格式,而不是我们熟知的 MP3 和 AAC。 关于 MP2 格式,介绍如下: MP2 是 MPEG-1 Layer II 的缩写,它是一种有损压缩的音频格式,文件扩展名为 .mp2 。 对于广播电视制作行业的人来说, MP2 是很常见的音频文件格式。MP2 主要应用在标准化数字广播和数字电视广播(DAB,DMB,DVB)的数字音频和视频编码。 当MP2的比特率达到 256 kbps及以上时,可具有很好的错误恢复能力和更好的音质,是广播电视行业的主导音频标准。 相比 MP3 ,MP2 格式具有更好的音质(数据压缩率较小)。 这样,对于 MP2 解码的支持就增加上了。当然,这里只是针对媒体容器中包含 MP2 音频流进行支持。如果是 MP2 视频,那又是一个话题。

    64620编辑于 2023-10-08
  • 来自专栏韩曙亮的移动开发专栏

    【Android 高性能音频】AAudio 音频音频设备 相关配置 ( 音频设备ID | 音频流方向 | 音频设备共享模式 )

    AAudio 音频流创建流程 II . AAudio 音频流构建器 设置音频设备 ID AAudioStreamBuilder_setDeviceId III . AAudio 音频设备 ID 获取 IV . AAudio 音频流 默认 音频设备设置 V . AAudio 音频流构建器 设置 音频流方向 AAudioStreamBuilder_setDirection VI . AAudio 音频流方向 VII . 作为音频设备 ID ; ② 默认设备 : 如果设置了该参数 , 系统会默认使用 Android 手机当前音频流的默认音频设备 ; ③ 举例 : 如果当前音频流方向是输出 , 从内存 -> 音频设备 , 独占访问 : 只有该音频流能访问该音频设备 , 其它音频流拒绝访问 ; b . 高性能 : 该模式下 音频流 性能高 , 延迟低 ; c .

    3.1K20编辑于 2023-03-27
  • 来自专栏全栈程序员必看

    Jave2-Java音频视频编码器

    Jave2-Java音频视频编码器 文章目录 Jave2-Java音频视频编码器 Jave2是什么 Installation and requirements Jave2 怎么玩 支持的操作系统+要求 支持 Maven/Gradle 实战演练 将arm文件转为mp3文件 使用监听器监听转换进度-高级一点的用法 问题收集 Jave2 总结 Jave2是什么 JAVE2(Java音频视频编码器)库是ffmpeg 开发人员可以利用JAVE2音频和视频文件从一种格式转码为另一种格式。 在示例中,您可以将AVI文件转换为MPEG文件,可以将DivX视频流转换为(类似YouTube的)Flash FLV文件,可以将WAV音频文件转换为MP3或Ogg Vorbis文件,可以分离并 对音频和视频轨道进行转码 总结 Jave 虽然不在维护了,但是 它的“哥哥” Jave2 出现了,功能还是很强大的,基本上能满足工作的一些对 音频视频 的操作了。

    1.6K40编辑于 2022-03-01
  • 来自专栏全栈程序员必看

    Cocos2d-x中使用音频CocosDenshion引擎介绍与音频文件的预处理

    Cocos2d-x提供了一个音频CocosDenshion引擎,CocosDenshion引擎能够独立于Cocos2d-x单独使用,CocosDenshion引擎本质上封装了OpenAL音频处理库。 void preloadEffect (const char *pszFilePath) 预处理音效音频文件,将压缩格式的文件进行解压处理,如MP3解压为WAV。 不管是播放背景音乐还是音效在播放之前进行预处理是有必要的,这个过程是对于音频文件进行解压等处理,预处理仅仅须要在整个游戏执行过程中处理依次就能够了。 假设不进预处理,则会发如今第一次播放这个音频文件时候感觉非常“卡”,用户体验不好。 预处理相关函数有两个:preloadBackgroundMusic和preloadEffect。 以下代码是预处理背景音乐和音频: //初始化 背景音乐 SimpleAudioEngine::getInstance()->preloadBackgroundMusic(“sound/Jazz.mp3

    91120编辑于 2022-07-12
  • 来自专栏韩曙亮的移动开发专栏

    音频处理】Melodyne 导入音频 ( 使用 Adobe Audition 录制音频 | 在 Melodyne 中打开录制的音频 | Melodyne 对音频素材的操作 | 音频分析算法 )

    文章目录 一、使用 Adobe Audition 录制音频 二、在 Melodyne 中打开录制的音频 三、Melodyne 对音频素材的操作 四、Melodyne 音频分析算法 一、使用 Adobe Audition 录制音频 ---- 参考 【音频处理】使用 Adobe Audition 录制电脑内部声音 ( 启用电脑立体声混音 | Adobe Audition 中设置音频设备 | Adobe Audition 内录 ) 博客进行内录 ; 二、在 Melodyne 中打开录制的音频 ---- 将上述录制完毕的音频直接拖动到 Melodyne 软件的空白处 , 可以自动打开该音频 , 同时自动分析该音频的音高 ---- 音频分析算法 : 在 Melodyne 菜单 " 定义 " 下 , 可以设置 旋律模式 , 打击模式 , 复调模式 , 等运算法则 ; 录入音频时 , Melodyne 会自动选择正确的算法 , 如果选择的算法不对 , 可以随时在此处更改音频分析算法 ; 选择 " 重置检测到打击模式 " , 所有的音符都会被设置到相同的音高 ;

    10K40编辑于 2023-03-29
  • 来自专栏韩曙亮的移动开发专栏

    【Android 高性能音频】AAudio 音频库 简介 ( AAudio 音频库简介 | 音频流 | 音频设备 | 共享模式 | 数据模式 )

    -> 内存 ) , 将音频数据写出到输出端 ( 内存 -> 音频流 -> 发音设备 ) ; 2. AAudio 音频设备 ---- AAudio 音频流与音频设备对应关系 : 每个 AAudio 音频流都需要 与一个音频设备进行关联 , 才能发挥正常作用 ; 音频设备 : ① 真实硬件音频设备 : ; 2. AAUDIO_FORMAT_PCM_I16 : 数据类型是 int16_t , 表示每个样本由 2 个字节组成 ; b . = AAudioStream_getDataFormat(stream); 如 : 一个 PCM 音频流 , 16 bit 代表其每个样本有 16 位 ( 2 字节 ) , 44100 采样率 代表每秒钟有

    3.4K20编辑于 2023-03-27
  • 来自专栏深度学习|机器学习|歌声合成|语音合成

    音频特征建模:音频特征提取

    假设音频信号在短时间范围内变化不大(当我们说它不变时,我们指的是统计上的,即统计上是平稳的,显然样本在不断变化。即使是短时间尺度)。这就是为什么我们将信号分成20-40ms帧的原因。

    1.8K30发布于 2021-01-14
  • 来自专栏技术路漫漫

    手把手帮你视频转文本(2-音频转录)

    这是本系列的第二篇,第一篇我们完成了将MP4视频转换为PCM音频,这篇我们实现基于百度云的录音转写,本文所有源代码参见:https://gitee.com/coolpine/thomas 对象存储服务调用 BosFileService中,主要是基于BosClient进行文件操作: 1、获取bucket下所有文件: bosClient.listObjects(THOMAS_BUCKET_NAME).getContents(); 2、 thomas-ai-token") public Optional<String> getAccessToken() { Map<String, String> params = new HashMap<>(2)

    1.5K01发布于 2020-06-10
  • 来自专栏韩曙亮的移动开发专栏

    【SeeMusic】音频编辑 ( 进入音频编辑页面 | 音频延迟设置 )

    SeeMusic 系列文章目录 【SeeMusic】下载安装并注册 SeeMusic 软件 【SeeMusic】创建 SeeMusic 工程并编辑相关内容 ( 创建工程 | 导入 MIDI 文件 | 导入音频 Y 坐标 | 视频旋转 | 视频扭曲 ) 【SeeMusic】视频编辑 ( 顶部裁剪 | 底部裁剪 | 左侧裁剪 | 右侧裁剪 | 明亮度 | 对比度 | 色调 | 饱和度 ) 【SeeMusic】音频编辑 ( 进入音频编辑页面 | 音频延迟设置 ) ---- 文章目录 SeeMusic 系列文章目录 一、视频裁剪相关设置 二、音频延迟设置 一、视频裁剪相关设置 ---- 点击 按钮 , 进入编辑页面 , 在编辑页面 , 点击 音频设置按钮 , 进入音频设置界面 ; 二、音频延迟设置 ---- 音频延迟设置 : 单位 秒 , 取值范围 -25 ~ +25 ; 设置为 -25 , 表示音频提前 25 秒播放 , 也就是砍掉前 25 秒 , 从第 25 秒位置开始播放 ; 设置为 +25 , 表示音频滞后 25 秒播放 ;

    1.5K30编辑于 2023-03-29
  • 来自专栏用户10004205的专栏

    Unity & FACEGOOD Audio2Face 通过音频驱动面部BlendShape

    Audio2Face简介 在元宇宙的热潮下,为了让AI数字人渗透到更多的领域中,FACEGOOD已经将语音驱动口型的算法技术开源,开源地址: https://github.com/FACEGOOD/FACEGOOD-Audio2Face 该技术可以实时将音频数据转换为驱动数字人面部BlendShape的权重数据,不同于ARKit中的52个BlendShape,它的数量多达116个,我们可以通过对应关系得到相应的数值,对应关系如下: ARKit Voice2Face eyeBlinkLeft eye_blink2_l eyeLookDownLeft eye_lookDown2_l eyeLookInLeft cheek_suck_l 在Unity中应用 可以用过构建python服务,Unity客户端开启麦克风录制音频,将音频数据发送给python服务端,服务端转换为驱动BlendShape的权重数据后, 例如: //将[-1,1]映射到[-100,100] private float Remap(float v) { return v * 100f; } 下面是一段测试音频产生的bs权重数据文件

    3.8K40编辑于 2022-08-29
  • 来自专栏用户8715145的专栏

    音频审核成功怎么添加音频音频审核的意义是什么?

    现如今手机应用上非常流行的短视频平台以及音频平台种类非常多。这些平台可以让用户自由的上传自己的短视频作品以及音频录制作品。 然而正是因为这些软件的流量用户特别多,所以现在有关部门对于视频和音频的安全审核也越来越严格。所有用户上传的视频和音频都会先通过审核才能够正式上线,音频审核成功怎么添加音频呢? 音频审核成功怎么添加音频音频审核成功怎么添加音频呢?大家平时在短视频网站或者是听书网站上上传了音频之后,往往会先经过网站的审核。 在没有审核通过之前,别人是无法收听到自己所上传的音频,审核成功之后,音频就可以在线上收听了。如果想要继续添加音频的话,就可以重新建立作品,或者是删除已经上传的作品,再重新上传。 音频审核的意义是什么? 音频审核在许多的视频网站和音频软件当中都非常的常用,音频审核的目的是为了筛选以及审核上传的音频当中是否有违禁语音或者是违禁词汇。

    2K20编辑于 2021-12-31
  • HTML 音频

    <source>:指定音频文件的路径和类型。可以添加多个 <source> 标签来支持不同格式的音频文件。src:指定音频文件的路径。 php85 Bytes© 菜鸟-创作你的创作2. 常用属性autoplay:音频文件自动播放。loop:音频文件播放完后重新播放(循环)。muted:设置音频为静音模式。 常用事件:play:音频开始播放时触发。pause:音频暂停时触发。ended:音频播放结束时触发。timeupdate:当音频播放进度变化时触发。volumechange:音量变化时触发。 为了确保音频兼容性,建议提供多种格式的音频文件。 音频的可访问性为了提高网站的可访问性,最好为音频提供文本描述。可以使用 <track> 元素为音频文件添加字幕或说明。

    33110编辑于 2025-08-01
  • 来自专栏韩曙亮的移动开发专栏

    【FFmpeg】ffmpeg 命令行参数 ③ ( ffmpeg 音频参数解析 | 设置音频帧数 | 设置音频码率 | 设置音频采样率 | 设置音频通道数 | 设置音频编解码器 | 设置音频过滤器 )

    , 该参数值 指定了输出音频流应该具有的声道数量 ; 常见的 音频声道数 设置选项 : 单声道 , Mono , 1 个音频声道 , -ac 2音频转为 立体声 ; 立体声 , Stereo , 2音频声道 , -ac 1 将音频转为 单声道 ; 2、-ac 参数设置音频声道数示例 执行 ffmpeg -i input.mp4 -ac 1 output.mp3 命令 , 将 input.mp4 视频中 的 音频 输出到 output.mp3 音频文件中 , 该 输出音频的 通道数 为 1 ; 转换前的 input.mp4 视频 中的 音频 通道数为 2 是 立体声 , 转换后的 output.mp3 MP2 (MPEG audio layer 2) A..... mp2fixed MP2 fixed point (MPEG audio layer 2) (codec mp2 将 input.mp4 视频中 的 音频 输出到 output.mp3 音频文件中 , 输出文件 的 音量 是 输入文件的 0.25 倍 , 播放速度 是 输入文件的 2 倍 ; 由于 速度 变成了 2

    7.3K11编辑于 2024-02-29
领券