惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Recorded Future
Recorded Future
C
Cyber Attacks, Cyber Crime and Cyber Security
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Scott Helme
Scott Helme
Cyberwarzone
Cyberwarzone
C
CERT Recently Published Vulnerability Notes
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
P
Palo Alto Networks Blog
Google Online Security Blog
Google Online Security Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
WordPress大学
WordPress大学
博客园 - 聂微东
L
LINUX DO - 最新话题
月光博客
月光博客
小众软件
小众软件
T
Troy Hunt's Blog
A
Arctic Wolf
量子位
I
Intezer
大猫的无限游戏
大猫的无限游戏
T
Tailwind CSS Blog
S
Schneier on Security
Schneier on Security
Schneier on Security
NISL@THU
NISL@THU
T
Threat Research - Cisco Blogs
TaoSecurity Blog
TaoSecurity Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园_首页
有赞技术团队
有赞技术团队
N
News and Events Feed by Topic
美团技术团队
The Cloudflare Blog
P
Privacy International News Feed
S
Security Affairs
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
G
GRAHAM CLULEY
N
News | PayPal Newsroom
Apple Machine Learning Research
Apple Machine Learning Research
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
L
LINUX DO - 热门话题
V
Vulnerabilities – Threatpost
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
C
CXSECURITY Database RSS Feed - CXSecurity.com
宝玉的分享
宝玉的分享
Application and Cybersecurity Blog
Application and Cybersecurity Blog
IT之家
IT之家
Hacker News: Ask HN
Hacker News: Ask HN
雷峰网
雷峰网

博客园_首页

Plist 二进制格式 Milvus 和 PGVector,哪个更好? OpenClaw 已过时?在 VS Code 中运行 Hermes Agent! 第30篇文章:一个大三计科生的自白 Manim如何在数学公式中完美显示中文? Docker 部署 RocketMQ 5 并发编程核心概念辨析 C#事务处理最佳实践:别再让“主表存了、明细丢了”的破事发生 CLI 是什么?为什么大厂突然集体卷命令行? 【从0到1构建一个ClaudeAgent】协作-自主Agent UIImageView 设置图片不生效的原因排查 最小二乘问题详解20:无先验约束下的增量式SFM自由网平差 痞子衡嵌入式:大话双核i.MXRT1180之XIP应用里借助MU实现可靠Flash IAP的方法 AI Chat 封装, SemanticKerne.AiProvider.Unified 已发布 Windows下右键编辑js文件无法打开记事本——在注册表中使用环境变量 在后台服务中使用 Scoped 服务,为什么总是报错? H200 安装驱动并使用sglang启动模型 wireshark 抓包Trap上报告警内容 我用 AI 辅助开发了一系列小工具(2):图片压缩工具 [A Primer On MC and CC] 2.1 Memory Consistency 1 - 指令重排序和 SC 模型 Oracle数据库SCN推进技术详解与实践指南 玩转控件:封装个带图片的Label控件 Claude Code 4.7 真正该升级的不是模型,而是你的工作流 前端小白一句话,AI 帮我做了个颜值拉满的桌面媒体播放器。当代码不再是门槛,一句话编程就是现实。 5. WorkBuddy: 小龙虾的灵魂三件套,让你的小龙虾不只是工具 SQLite 分片方案实战:三种分片策略的深度对比 告别简陋 UI!一款基于 Fluent Design 和基于 WinUI 的开源免费、现代化的 Avalonia UI 控件库 关于二进制排列组合枚举的总结 AI开发-python-LangGraph框架(3-27-LangGraph从零实现大模型智能决策工作流) ElasticSearch主分片和副本分片概念详解 【002】HTTPS 粗解:证书、TLS 握手与对后端配置的影响 Hermes Agent 一周暴涨五万 Star,但我劝你别急着追 明明连接的是Redis的DB0,为什么能查到DB3的数据? 【从0到1构建一个ClaudeAgent】协作-Agent团队 熟悉电子元器件之后,电子小白下一步该怎么走? MAF快速入门(23)通过C#类定义Skills .NET 高级开发 | 手写一个对象映射框架 FastAPI数据库ORM怎么选?我肝了三个Demo后,终于不再纠结了 mysqldump 参数拾遗:在遗忘与铭记之间 C# .NET 周刊|2026年3月5期 Claude code入门 - 陈彦斌 一文学习入门 ThingsBoard 开源物联网平台 GitHub 热门项目 | 2026年04月16日 如何为GIT设置全局勾子,为每次提交追加信息 Number.isFinite和isFinite与isNaN()和Number.isNaN的区别 PortSwigger SQL注入LAB2 推荐一个测试人必备的Skills,从功能到性能全搞定(附详细实操和安装下载方式) 筑基期:掌握Odoo基础核心知识点02(Odoo XML 开发方式详解) GLM模型这么火,咱们用vllm也咧一个呗! 深入理解 AbortController:从底层原理到跨语言设计哲学 字符串学习笔记 多租户系统框架的基础模块设计和分析设计 Apache SeaTunnel Zeta 为什么能做到“又快又稳”? AI开发-python-LangGraph框架(3-26-LangGraph基本概念及第一个简单样例) Vue 3 组件通信,别只会用 Props 和 Emits 了,这几个狠活儿你得看看 ElasticSearch7.X版本配置密码 用Manim实现动态交点计算--从一个动点问题说起 团结引擎+Addressable+Instant Game打包抖音小游戏 function call 实战:让 LLM 自动判断 pod 异常、调用日志工具并完成故障分析 bubseek —— 让 Agent 的足迹,变成团队的洞察 通过 C# 读取并导出 PDF 书签 如何用 GitHub Actions 实现 Steam 自动化发布 【从0到1构建一个ClaudeAgent】并发-后台任务 .NET 高级开发 | 定制 ASP.NET Core 框架 电子小白:什么是运算放大器(运放) zero2Agent:面向大厂面试的 Agent 工程教程,从概念到生产的完整学习路线 堆上的ORW HC32F460 USB CDC通信异常:非对齐访问异常排查 20260413-Hyperbridge 攻击事件:发生在默克尔山上的验证绕过 那些喊着AI 要淘汰你的人,正在靠你的焦虑赚大钱! 深度学习进阶(八)Swin Transformer 最小二乘问题详解19:带先验约束的增量式SFM优化与实现 SnapTranslate 3.0 正式发布:全局划词翻译 + 完整英语学习闭环,一站式搞定查词、记词、复习 工作的意义、工作的困难认知再思考 .NET + AI 进阶实战:基于类的技能开发 - 打造可治理的 Agent 能力模块 【从0到1构建一个ClaudeAgent】规划与协调-技能 上周热点回顾(4.6-4.12) 电子小白的工具三件套:面包板、杜邦线、万能板 单表五亿数据的查询优化 | Mysql、StarRocks 2. WorkBuddy:从“我是谁”到“帮我干活” C# 如何减少代码运行时间:7 个实战技巧 基于HelixToolkit.SharpDX 渲染3D模型 - 笺上知微 从零开始的双臂具身VLA起源及现阶段发展综述 - SkyXZ 记对 xonsh shell 的使用, 脚本编写, 迁移及调优 - pluvium27 受够了Vibe Coding的失控?换个起点,让AI事半功倍 从开始配置漏洞环境到漏洞复现流程 - 難しい 关于10年工作经验的程序员对OpenClaw的实战经验分享以及看法 - 虚无境 Any metadata 的内存布局 C# .NET 周刊|2026年3月2期 - InCerry 我帮你测过了,测试圈排名第二的 Skill 依然很牛逼 Skill Discovery | 无监督技能发现的经典工作总结 - MoonOut 上下文工程是什么?过时了么?一文讲明白! - 一枫说码 开了 TUN 模式还是直连?90% 的人都踩过这个坑 AScript扩展多种脚本语言 - rockey627 AI 学习笔记:Agent 的记忆机制 你能被装进一个文件里吗?——7 万人把同事"蒸馏"成了 AI - 我没有三颗心脏 Claude Code 通关手册(七):给 AI 装上技能包——Skills 完全指南 - 暮色之狐 在浏览器中快速编辑代码:VSCode Web 集成实践 - Newbe36524 蒸馏自己 skill?基于 Deepseek 的蒸馏器,丐版蒸馏方式,简单便捷 - To_Carpe_Diem Spring AI Aliababa和AgentScope,哪个更好? - 苏三说技术
ffmpeg音频解码器的介绍和了解
HelloLLLLL · 2026-05-04 · via 博客园_首页

Audio Decoders

  AC-3(通常指 Dolby Digital)音频解码器主要用于处理 .ac3格式的音频流,常见于 DVD、蓝光及数字电视广播中。-drc_scale是该解码器用来控制动态范围压缩(DRC)强度的关键参数。AC-3 音轨在设计时为了兼顾影院级的动态范围(爆炸声很大,耳语声很小)和家庭观看需求,内置了动态范围控制(DRC)元数据。DRC能在解码时压缩音频的动态范围,让小声变大、大声变小,从而避免你在深夜观影时频繁调节音量。drc_scale参数决定了在解码过程中应用 DRC 的强度比例。它是一个浮点数,默认值通常为 1。drc_scale = 0,完全禁用 DRC。输出原始、未压缩的全动态范围音频。0 < drc_scale ≤ 1,启用部分压缩。数值越小,压缩越轻;数值为 1 时应用标准的完整压缩。drc_scale > 1,启用增强型压缩(非线性)。对大声压级信号进行更强力的限制,同时提升微弱声音。例子:​

ffmpeg -i input.mkv -c:a ac3 -drc_scale 0 output.wav # 禁用 DRC,保留原动态

ffmpeg -i input.ac3 -drc_scale 2.0 output.wav # 启用强力压缩,

flac

  FLAC audio decoder用于还原无损压缩音频的核心组件。能将 .flac文件精准还原为原始的 PCM 音频数据,有任何音质损失。FLAC 解码器核心特性有:1、无损还原:解码后的音频数据与编码前完全一致,常用于音乐存档、母带制作及 Hi-Fi 播放。2、广泛兼容:支持 FLAC 规范中的所有特性,包括高分辨率音频(最高 32-bit/655.35 kHz)、多声道(如 5.1/7.1)及元数据(如封面、CUE 章节)。默认行为:在 FFmpeg 中,只要使用 -c:a flac或默认的自动解码流程,即可调用此解码器。

参数:-use_buggy_lpc,用于解码从‌早期 FLAC 编码器(如 1.1.x 或更早版本)‌ 生成的文件,因为这个早期的编码器的一个算法上有缺陷,后来,新版的解码器修复了这个问题,导致旧版和新版的FLAC编码器的文件再解码时有兼容问题。ffmpeg 在使用这个参数时,就是为了兼容旧版本FLAC编码器编码的文件,开启这个参数,就用对应有缺陷的旧编码算法的解码算法,不开启这个参数,就说明是用的新与修复后的算法对应的解码算法来解码。如果当你发现在没开启这个参数时,解码出来的音频在合成后形成的音频文件出现了播放异常(如爆音、失真),但确认文件未损坏。就可以尝试开启这个参数。例如:

  # 仅在遇到“问题文件”时使用

  ffmpeg -i buggy_file.flac -c:a flac -use_buggy_lpc 1 fixed_output.wav

  # 正常情况下的解码(推荐)

  ffmpeg -i normal_file.flac output.wav

ffwavesynth

  音频也是可以像编程一样,通过特定的语法可以创建出能播放标准声音的脚本文件。这让我联想到一些ai模仿明星的说话的声音,就是因为其声音是可以通过编程来实现让人觉得ai的声音与真人声音听起来很相似。这意味着任何人的声音都在被这人的声音数据被收集齐备后,是可以通过编程来实现模仿这个人的说话声音。一些网络上的骗子就会使用有这种技术的软件。这是题外话。这个ffwavesynth,就可以把这些声音脚本文件,通常是.wave格式的文件,像我们的各种编程语言的编译器一样,解析“编译”脚本的语法,最后程序是生成可执行文件,而这个ffwavesynth组件就会合成出可以被音频设备,如:扬声器、耳机播放出声音的音频数据,它不直接生成文件,它是一个解码器,后续还需要把经过ffwavesynth处理的数据,复用后最终生成一个音频文件。

libcelt decoder wrapper

  ffmpeg里并没有libcelt解码动态库,需要我们自己准备好,而ffmpeg里的libcelt decoder wrapper是对真正的libcelt解码器的封装。libcelt库解码的对象是CELT​编码器编码的音频,CELT 编解码器的出现是为了实时的语言交互,它的延迟很低,但该编码器在2010年就没有人维护,取而代之的是Opus编解码器。针对CELT​编码器编码的这种音频,对使用的ffmpeg是有要求的,在编译ffmpeg源码时,要显示配置 --enable-libcelt,并且系统需预先安装好对应的 libcelt开发包(如 libcelt-dev),这个库我想的话要放到ffmpeg的音频解码器目录,在编译时,需要指定这个libcelt所在目录的路径,否则编译后会找不到此解码器,那编译出来的ffmpeg就无法处理这种音频了。它的使用命令:

  # 使用 libcelt 解码器进行转换

  ffmpeg -c:a libcelt -i old_voice.celt output.wav

  # 或者让 FFmpeg 自动探测(如果流标记正确)

  ffmpeg -i old_voice.celt output.wav

libcelt decoder wrapper

  这个跟libcelt decoder wrapper类似,也是要编译设置,也是一个适配器充当ffmpeg与真正的ibcelt decoder的“胶水”作用。开了ai的介绍,让我想到了以前2000年左右使用GSM电话卡,对没错,这个编码器就是可以用来编解码这种2G时代的手机通话语音的。

libilbc decoder wrapper

  这个也跟libcelt decoder wrapper类似,后面提到某某wrapper都是这个意思。它是用于实时语音通话,核心是为了实时传输中容错抗丢包,现在已被Opus编解码器替代。

libmpeghdec decoder wrapper

  libmpeghdec用于编解码高清广播流媒体领域,被视为杜比全景声(Dolby Atmos)的主要竞争对手。

libopencore-amrnb

  AMR-NB是2G/3G 时代的语音标准,也是早期手机录音(.amr文件)的通用格式。

libopencore-amrwb

  3G/4G 的高清语音编解码器

libopus

  它就是取代libilbc、libcelt的编解码器。