展开

关键词

hls音频直播杂音分析

HTTP Live Streaming(HLS)是Apple制定的一套自适应多码率标准,用于切片式的分发,在直播领域应用非常广泛,但是在转封装的过程中,我们发现仅在苹果系统中,会伴有破音问题 ,本文主要内容就是如何分析直播过程中的破音产生的原因以及解决办法。 e06511acc13e02c2d11a8b3f84d73_w554_h354.png          es层中,可以包含一个音频帧,也可以包含多个音频帧,ts头部+帧数据会被分割成多个188的包, ,所以每过一小段时间就会听到噗噗的爆破音,对于音质要求较高的直播场景来说,这个就比较严重了。 结论:因精度降低带来误差时,尽量是想办法来减少误差积累带来的放大效应,对于音视频直播来说,如果音视频是一起输出的,因为有视频时间的参考,破音现象可能不怎么明显,甚至听不出来,但是对应音视频单独输出或者纯音频直播来说

34120

Linux音频驱动-Card创建

概述 在上节Linux音频驱动-ALSA概述中介绍了整个ALSA的构成,接口以及函数入口的分析。 本节将从声卡的创建开始,也就是card的创建。 在linux系统中使用struct snd_card结构代表一个card。 创建并且初始化card 几乎所有的音频驱动都会在刚驱动的开始创建card,通常会使用snd_card_new函数。

69011
  • 广告
    关闭

    直播应用9.9元起 即刻拥有

    9.9元享100GB流量,1年有效,结合移动直播SDK、美颜特效SDK及小程序直播插件等,构建云+端一体化直播平台,支持电商带货,在线教育,游戏直播,社交直播等多场景

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux音频驱动-ALSA概述

    概述 ALSA(Advanced Linux Sound Architecture)是linux上主流的音频结构,在没有出现ALSA架构之前,一直使用的是OSS(Open Sound System)音频架构 关于OSS的退出以及ALSA的出现,可以看 Linux音频驱动-OSS和ALSA声音系统简介及其比较。 关于OSS和ALSA音频架构之间的区别图如下: ? 音频子系统文件目录结构 音频系统的文件位于kernel/sound下: root@test:~/k3.18/kernel/sound$ ls ac97_bus.c atmel firewire root@test:/proc/asound$ cat version Advanced Linux Sound Architecture Driver Version 1.0.25. linux内核定义了如下的设备类型: enum { SNDRV_DEVICE_TYPE_CONTROL, SNDRV_DEVICE_TYPE_SEQUENCER, SNDRV_DEVICE_TYPE_TIMER

    2K31

    Linux音频驱动-PCM设备

    linux系统中使用snd_pcm结构表示一个pcm设备。 linux系统中使用snd_pcm_str定义stream, 使用snd_pcm_substream定义substream。

    1.1K11

    Linux音频驱动-ASOC之Machine

    links */ bool playback_only; bool capture_only; }; .cpu_dai_name: 用于指定cpu侧的dai名字,也就是所谓的cpu侧的数字音频接口

    96222

    Linux音频驱动-IIS总线标准

    介绍 许多数字音频系统正被引入消费者音频市场,包括CD,磁带,数字声音处理器和数字电视声音。 在这些系统中的数字音频信号需要由许许多多(Very-large-scale integration)的IC组成,处理。 在音频系统中常见的IC芯片有: A/D and D/A 转化器(数模转化器) 数字信号处理器 数字录像,以及出错纠正器 数字滤波器 数字输入/输出的接口 由于设备和IC制造商众多,所以需要一个统一的规范来管理 SD 用二进制补码的形式表示音频数据。传输数据的规则: 1. 保证数据的最高位(MSB)最先被传输。 2. 当系统的发送端数据长度大于接受端数据长度,则接受端会将多余的数据截断。 3.

    42511

    Linux音频驱动-AOSC之Codec

    同时也需要对所有的codec设备进行抽象封装,linux使用snd_soc_codec进行所有codec设备的抽象,而将codec的驱动抽象为snd_soc_codec_driver结构。

    1.3K11

    Linux音频驱动-声音采集过程

    现实中的声音是一段连续的信号, 现在大部分的声音是以离散的数字信号保存下来,例如CD、MP3音频格式。 在保存这些信息时,考虑到对声音质量和存储的效率, 需要对声音的几个重要的基本属性进行研究。 11,025 Hz 22,050 Hz - 无线电广播所用采样率 32,000 Hz - miniDV 数码视频 camcorder、DAT (LP mode)所用采样率 44,100 Hz - 音频 CD, 也常用于 MPEG-1 音频(VCD, SVCD, MP3)所用采样率 47,250 Hz - Nippon Columbia (Denon)开发的世界上第一个商用 PCM 录音机所用采样率 48,000 Hz - miniDV、数字电视、DVD、DAT、电影和专业音频所用的数字声音所用采样率 50,000 Hz - 二十世纪七十年代后期出现的 3M 和 Soundstream 开发的第一款商用数字录音机所用采样率 它是有采样率和采样位数共同决定的指标, 例如上述CD的比特率是44100*16*2bit/s = 1.4Mbit/s 存储音频的格式有很多种: 非压缩格式:如目前最流行的WAV格式, 经常用来保存原始录音数据

    64911

    Linux音频驱动-AOSC之Platform

    概述 在ASOC在Platform部分,主要是平台相关的DMA操作和音频管理。 大概流程先将音频数据从内存通过DMA方式传输到CPU侧的dai接口,然后通过CPU的dai接口(通过I2S总线)将数据从达到Codec中,数据会在Codec侧会解码的操作,最终输出到耳机/音箱中。 在platfrom侧的主要功能有: 音频数据管理,音频数据传输通过dma; 数据如何通过cpudai传入到codec dai,已经cpu测dai的配置。 而上述的两大类功能在ASOC中使用两个结构体表示: snd_soc_dai_driver代表cpu侧的dai驱动,其中包括dai的配置(音频格式,clock,音量等)。

    96721

    Linux音频驱动-ASOC(ALSA System on Chip)

    音频事件发生时(插拔耳机,音箱)没有标准的方法通知用户,尤其在移动端此事件非常常见。 3. 当播放/录制音频时,驱动会让整个codec处于上电状态,这样会在移动端非常浪费电量。 在Codec和Soc之间通过简单的I2S/PCM音频接口通信,这样SOC和Codec只需要注册自己相关的接口到ASOC code即可。 3. ASOC音频架构 为了实现上述的新feature,ASOC将嵌入式音频系统分为三大类可重复使用的驱动程序: Platform, Machine, Codec。 Codec类: Codec即编解码芯片的驱动,此Codec驱动是和平台无关,包含的功能有: 音频的控制接口,音频读写IO接口,以及DAPM的定义等。 Platform类: 可以理解为某款SOC平台,平台驱动中包括音频DMA引擎驱动,数字接口驱动(I2S, AC97, PCM)以及该平台相关的任何音频DSP驱动。

    73061

    Linux音频设备的操作

    Linux中,先后出现了音频设备的两种框架OSS和ALSA 1 OSS(Open Sound System)是unix平台上一个统一的音频接口。 一、基础知识      数字音频设备(有时也称codec,PCM,DSP,ADC/DAC设备):播放或录制数字化的声音。 主要有以下的几种设备文件:   /******************************************************************************** ** 音频设备的操作 exit(1); } free(buf); buf = NULL; close(fd); close(fp); return 0; } 2 alsa音频设备的操作 放音程序: /******************************************************************************** ** 音频设备的操作

    2K11

    Linux音频驱动-WAV文件格式分析

    Format Chunk Format chunk主要是描述音频数据的格式。 如果对此概念不是很了解,可以查看此文章: Linux音频驱动-声音采集过程 .ByteRate: 每秒所需的字节数。 在网上下载wav的音频文件,使用mediainfo显示该音频文件的详细信息。 "10 00 00 00" 四字节对应的是该音频的编码方式,通常为16,代表PCM编码方式。也就是十六进制0x10。 通过此值可以计算该音频的时长: 46341500/17600=4.37。0.37*60=22.2,则该音频的时长为4mn22s。 "04 00" 数据对齐单位。

    53921

    (干货)Ai音箱和Linux音频驱动小谈

    蓝色代表模拟音频信号,红色的点代表采样得到的量化数值。采样频率越高,红色的间隔就越密集,记录这一段音频信号所用的数据量就越大,同时音频质量也就越高。 四、TINYALSA子系统 (1)代码介绍 目前linux中主流的音频体系结构是ALSA(Advanced Linux Sound Architecture),ALSA在内核驱动层提供了alsa-driver 五、CODEC介绍 (1)专用术语 ASLA - Advanced Sound Linux Architecture OSS - 以前的Linux音频体系结构,被ASLA取代并兼容 Codec - blog.csdn.net/longwang155069/article/details/53321464 https://wiki.archlinux.org/index.php/Advanced_Linux_Sound_Architecture Linux Sound Architecture ---> [*] Debug [*] More verbose debug [*] Enable PCM ring buffer overrun/underrun

    1.4K21

    RTSP转RTMPHLS网页无插件视频直播:EasyNVR功能介绍-音频开启

    存储配置、云平台对接配置、CDN配置等,将统监控行业里面的高清网络摄像机IP Camera、NVR、移动拍摄设备接入到EasyNVR,EasyNVR能够将这些视频源的音视频数据采集到设备端,进行全平台终端直播 并且EasyNVR能够将视频源的直播数据对接到第三方视频平台、CDN网络,实现互联网直播分发。 功能使用介绍 ? 对于有音频需求的可以通过勾选“保留参数1”来进行设置:默认没有音频,有需要,勾选上并保存配置即可; 不是所有用户都需要音频功能(哈哈,毕竟EasyNVR真正核心应用不仅仅于此),有需求的可以自行配置一下 ; 转音频解码也是需要消耗资源的;

    20510

    ffmpeg综合应用示例(四)——摄像头直播的视音频同步

    在ffmpeg超详细综合教程——摄像头直播文中完成了一个读取PC摄像头视频数据并以RTMP协议发送为直播流的示例,但是并没有实现对音频的支持,所以在这篇文章中对该示例做进一步的完善并且详细分析直播流的视音频同步问题 对于直播流来说,这里只考虑发送端的同步问题,而其中的原理其实很简单,概括起来分为如下几个步骤: 1、解析视音频流,将视频流和音频流的时间戳用同样的时间基准表示 2、比较转换后的两个时间戳,找出较小值,对应发送偏慢的流 ,二是视音频同步的内容。 看过我的视频直播教程文章的朋友应该会发现这里计算pts的方法和那里类似。 而根据我的测试,即使不添加rtbufszie参数,虽然会报出错误信息,但并不影响直播流的观看或录制,而且可以保持同步。这就是一个trade off的问题了。

    27020

    【技术干货】原来ARM+Linux音频方案如此简单!

    嵌入式产品开发中经常遇到音频的输入输出问题,如何为其添加“喇叭”、“麦克风”设备呢?本文将简单介绍ARM+Linux产品中的音频解决方案。  图1  HDG2L-IoT音频接口  G2L核心板与WM8960的音频通讯引脚如下所示:  在Linux系统的音频编解码驱动中,通过I2C通讯接口与音频IC通讯,把音频IC内的各个功能寄存器抽象成音频控件 ALSA是linux的主流音频体系结构,它包含内核驱动集合, API 库和工具对 Linux 声音进行支持,应用程序只要调用alsa-lib提供的API,即可以完成对底层音频硬件的控制。   Linux通过alsa库以及alsa工具管理音频IC的控件,通过“amixer controls”列出当前系统内的音频控制项:   音频功能的关键控件信息如下所示。 由上可知,音频编解码芯片在Linux系统中以控件的形式存在,内部的参数一般只记录在内存中,当系统掉电时,修改的参数就会消失,所以需要保存和恢复指令将上次的参数保存在配置文件中。

    12020

    Linux驱动开发-编写VS1053芯片音频驱动

    前言 VS1053是一款硬件编解码的音频芯片,提供SPI接口和IIS接口两种通信协议,这篇文章是介绍在Linux下如果模拟SPI时序来操作VS1053完成录音、播放音频歌曲功能。 但是没有注册标准的音频驱动,没有对接音频框架,只是在驱动层完成VS1053的直接控制,本篇的重点主要是介绍如何初始化开发板的GPIO口,使用Linux的延时函数,模拟SPI时序,代码写了两种版本,一种是直接通过 解码的音频格式支持: MP3、OGG、WMA、WAV、MIDI、AAC、FLAC(需要加载 patch) 编码的音频格式支持: WAV(PCM/IMA ADPCM)、OGG(需要加载 patch) VS1053 /fs.h> #include <linux/device.h> #include <linux/err.h> #include <linux/list.h> #include <linux/errno.h > #include <linux/mutex.h> #include <linux/slab.h> #include <linux/compat.h> #include <linux/spi/spi.h

    13420

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

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

    40430

    4K+UHD浸入式音频直播(2018FIFA世界杯)

    本文旨在介绍巴西Globosat公司和三星(巴西)合作实现的2018俄罗斯FIFA世界杯56场比赛直播的经验,挑战,技术和结果,这次合作主要针对的是配备4K UHD HDR和浸入式音频设备的电视用户。 合作内容包括由Globosat公司制作的进行了浸入式音频混合的4K UHD HDR信号以及180°中央摄像机拍摄的4K UHD SDR信号(国际音频)。 直播开始于比赛前15分钟,于比赛结束后5分钟停止。本次合作的两个最大挑战是缩短4K视频直播的延迟以及在比赛结束后尽快上线相应比赛的整个视频点播服务。 直播APP的相关技术细节是2160p@60Hz, BT.2020, HDR-10(结合杜比全景声音频),在测试开始时,APP上直播的初始延迟是2分钟,在经过一系列的参数调整(比特率,块大小,杜比全景声设备调试等 由于B源没有音频处理,因此下一步是通过两个D-Embedders(主要和备用)将A源提供给4K UHD切换器,这些D-Embedders还负责将音频提供给杜比全景声(Dolby Atmos)混音器。

    54630

    相关产品

    • 云直播

      云直播

      云直播(CSS)为您提供极速、稳定、专业的直播云端处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、慢直播、快直播三种服务,分别针对大规模实时观看、高并发推流录制、超低延时直播场景,配合移动直播 SDK,为您提供一站式的音视频直播解决方案。

    相关资讯

    热门标签

    活动推荐

    扫码关注腾讯云开发者

    领取腾讯云代金券