音频编码器 2.0 Version README

一、【这是什么】

一个专门用来「单独编码音轨」的小工具。
HandBrake 的音频编码能力来自 FFmpeg 的 libavcodec,但 HandBrake 必须
有视频流才能工作。本程序绕开了这个限制:直接把 FFmpeg 的音频编码器
单独拿出来用,所以纯音频文件(WAV / FLAC / M4A / AC3 …)也能编码。

支持格式与 HandBrake 一致:
E-AC-3 (Dolby Digital Plus) AC-3 (Dolby Digital)
TrueHD (无损) DTS 核心流
AAC / M4A FLAC (无损)
Opus MP3 / MP2
WAV (PCM) 原样提取(不重编码)

二、【便携版说明】

整个文件夹可以整体复制到 U 盘或别的电脑,双击「音频编码器.exe」即可运行。

音频编码器.exe     主程序(绿色,不写注册表)
ffmpeg.exe         内置编码后端  ┐ 已打包,不依赖系统里其它 ffmpeg
ffprobe.exe        音轨信息读取  ┘
AudioEncoder.ini   配置(首次运行自动生成,可删)
src\               源码 + 构建脚本(可删,不影响使用)
使用说明.txt       本文件

依赖:Windows 自带的 .NET Framework 4.x(Win7 以上系统都有,无需安装)。

三、【怎么用】

  1. 把视频或音频文件拖进上方列表(也可以整个文件夹拖进来)。
  2. 在「选择音轨」里挑要编码哪一条。下方表格会列出文件里所有音轨的
    编码格式、声道、采样率、码率、语言,方便辨认。
  3. 选「音频编码格式」,再按需要调码率 / 声道 / 采样率。
  4. 点「开始编码」。

几个约定:
· 按回车 = 点「开始编码」。
· 默认输出到「源文件所在目录」,可改成指定目录。
· 默认不覆盖同名文件(自动加 (1)、(2) 后缀)。
勾上「覆盖已存在的同名文件」才会覆盖。
· 「文件名后缀」用来避免和源文件重名,例如填 _eac3 会得到 影片_eac3.eac3。
· 「全部音轨 → 合成单个 MKA」会把文件里所有音轨都编码后装进一个 .mka。
· 「复制原音轨(仅提取,不重编码)」是零损失地把音轨抽出来,秒完成。
· 「复制 FFmpeg 命令」可以把当前设置对应的命令行复制到剪贴板,
方便你写批处理。

四、【一次产出多种格式 / 多个码率(多方案)】

一条源音轨可以一次性编码成多种格式,例如同时产出
「E-AC-3 1024k + AC-3 640k + FLAC」,这在做兼容性音轨时很有用
(蓝光碟就是同时带 Dolby TrueHD 和 AC-3 两条)。

怎么用:

  1. 先在「3. 编码设置(主方案)」里调好第一种格式。
  2. 点「添加为方案」,它就进了「4. 附加编码方案」列表。
  3. 再改上面的下拉框(换成别的格式或码率),再点一次「添加为方案」。
    想加几种就加几种。
  4. 选「输出方式」,然后点「开始编码」。

列表中:双击某条 = 把它载回主方案编辑;
「更新选中」= 用主方案当前的设置覆盖选中那条;
「删除选中」/「清空」= 移除。

两种输出方式:
· 合并为一个 .mka(多条音轨)
所有方案装进同一个 .mka 文件,里面是并列的多条音轨。
播放器 / MKVToolNix 里能看到多条音轨,可各自选用。
· 每条方案各输出一个文件
每条方案一个独立文件,文件名会带上格式和码率以便区分,
例如 影片_eac31024k.eac3 和 影片_ac3640k.ac3。
这种方式只解码一次,速度和不分离时一样快。

注意:
· 只加主方案(列表留空)时,行为和以前完全一样,输出单个文件。
· 选了「全部音轨 → 合成单个 MKA」时,多方案会被忽略(只用主方案),
因为「多条源音轨」和「一条源音轨变多条」同时用结果含义不清。
· 无损格式(TrueHD / FLAC / WAV)不需要码率;DTS / E-AC-3 / AC-3 等
有损格式才需要。

五、【输出音轨的语言、标题(重命名)和位深】

「3. 编码设置」的第二行有三个选项,都是针对输出音轨的:

语言
给音轨打语言标签,用 ISO 639-2 三字母码。下拉里有常用语种,
也可以直接手打任意代码(例如 zho、deu、vie)。
写成 chi 就是中文,播放器 / MKVToolNix 里会显示成”中文”。
注意:只有 .mka / .mkv / .mp4 这类容器能存标签。裸流
(.eac3 / .ac3 / .dts / .thd / .wav)存不下,程序会在日志里提醒你。
要多条音轨都带标签(例如国语 + 日语),用「合并为一个 .mka」。

标题
给输出音轨起个名字(就是播放器里显示的轨道名),例如”国语 5.1″、
“评论音轨”。同样只有 mka / mkv / mp4 能存。

位深
跟随源文件 / 16 bit / 24 bit / 32 bit。实测各编码器的真实能力:

    WAV (PCM)   16 / 24 / 32 都能真正做到      ← 选哪个就是哪个
    FLAC        最高 24 bit(选 32 也只有 24)
    TrueHD      固定 24 bit,选什么都没用
    E-AC-3 / AC-3 / AAC / Opus / MP3 / MP2
                没有"位深"这个概念(有损压缩)

  所以这个选项主要对 WAV 和 FLAC 有意义。选「跟随源文件」时,
  WAV 会按源音轨的位深自动选(源是 24 位就出 24 位)。

每条附加方案都可以有自己的语言 / 标题 / 位深,看列表里的对应列就知道。

【勾选要输出的音轨(编几条出几条)】

「2. 选择音轨」的列表每行前面有勾选框:
· 勾上的音轨才会出现在输出里,默认全勾。
· 旁边有「全选 / 全不选」。
· 输出条数 = 勾选的源音轨数 × 编码方案数。
例:勾 2 条音轨、1 个方案 → 输出 2 条;勾 1 条音轨、3 个方案 → 输出 3 条。

输出方式:
· 合并为一个 .mka —— 所有输出音轨装进同一个 mka 文件
· 每条各输出一个文件 —— 文件名带音轨号和格式,例如
影片_a1_eac31024k.eac3、影片_a3_flac.flac

列表里「声道」一列会区分 5.1 的两种布局:
· 5.1 (后环绕) = BL/BR,ffmpeg 里记作 5.1
· 5.1 (侧环绕) = SL/SR,ffmpeg 里记作 5.1(side)
这是两种不同布局。载入源文件时程序会自动体检并提示:E-AC-3 / AC-3 / DTS /
AAC / FLAC 都直接接受侧环绕;只有 Opus(libopus) 挑食,只认标准 5.1(后环绕),
选 Opus 时程序会自动把侧环绕转成后环绕(不会把立体声上混)。

【直通(Passthru,不重编码)】

编码格式下拉框里,每种格式都有一条对应的「直通」条目,共 10 条:

E-AC-3 直通 / AC-3 直通 / TrueHD 直通 / DTS 直通 / AAC 直通
FLAC 直通 / Opus 直通 / MP3 直通 / MP2 直通 / WAV 直通

选直通 = 这条音轨不重新编码,原样搬过去,零损失且瞬间完成。
如果源音轨的格式和你选的直通格式不一致(比如选了「AC-3 直通」但源是 FLAC),
程序仍会原样直通,但会在「警告 / 错误」栏里明确告诉你。

通用写法还有一条「复制原音轨(仅提取,不重编码)」,效果一样、不挑格式。

【警告 / 错误 栏】

界面右下角是独立的「警告 / 错误」栏,和运行日志并排:

· 载入源文件时就体检:声道布局(side / back)、勾选越界、直通格式不匹配等
· 编码过程中 ffmpeg 的英文报错会自动翻成中文,例如:
Invalid channel layout 5.1(side) → “声道布局不被这个编码器接受…”
Permission denied → “输出文件打不开,可能正被播放器占用…”
Invalid sample rate → “采样率不被支持,Dolby/DTS 只支持 32/44.1/48 kHz…”
· 标题会显示计数,例如「警告 / 错误 (错误 1 · 警告 2)」,有事时变红。
每次开始新任务会自动清空。

六、警告【关于 DTS-HD MA / DTS-HD HR】

做不到,任何免费工具都做不到,原因如下:

DTS-HD MA(无损)和 DTS-HD HR(高码率有损)是 DTS 公司的私有格式。
FFmpeg 只有 DTS 的「解码器」(可以播放、可以提取),但没有编码器。
本程序里的「DTS 核心流」用的是 FFmpeg 的实验性 dca 编码器,它只能
产生传统 DTS 核心流(最高 5.1 声道 / 1536 kbps),无法生成 HD 扩展层。
要生成真正的 DTS-HD MA/HR,必须使用 DTS 官方授权的商业编码器
(如 DTS-HD Master Audio Suite),这类软件需要付费授权。

那想无损怎么办?用这两个,效果等价于(甚至优于)DTS-HD MA:
· TrueHD —— 杜比的无损格式,本程序已支持(标着「实验性」)
· FLAC —— 无损压缩,兼容性更好,体积更小

如果片源里本来就有 DTS-HD MA / DTS-HD HRA / DTS:X 音轨,只是想在保留
原音轨的前提下重新封装,用「复制原音轨(仅提取,不重编码)」即可,原样
抽出、零损失。

程序会读取每条音轨的 profile 并显示出来,所以你能直接分辨片源里的
音轨到底是普通 DTS 核心流还是 DTS-HD MA(列表里会写成
“DTS (DTS-HD MA)”)。带扩展层的音轨在「复制」模式下会自动封装成
.mka —— 因为裸 .dts 封装有丢掉扩展层的风险,Matroska 才能原样保住
整条音轨(包括 Atmos / DTS:X 这类附加信息)。

【命令行模式】

也可以在批处理 / 脚本里调用:

列出音轨:
音频编码器.exe –list “影片.mkv”

编码音轨:
音频编码器.exe –cli -i “影片.mkv” -c eac3 -b 1024
音频编码器.exe –cli -i “音乐.flac” -c aac -b 256
音频编码器.exe –cli -i “影片.mkv” -c copy -t all -o “音轨.mka”

一次产出多种格式(多方案):
# 一条音轨同时编码成三种格式,装进同一个 mka(内含 3 条音轨)
音频编码器.exe –cli -i “影片.mkv” -c eac3:1024,ac3:640,flac

  # 一条音轨产出两个独立文件(影片_eac31024k.eac3 / 影片_ac3640k.ac3)
  音频编码器.exe --cli -i "影片.mkv" -c eac3:1024,ac3:640 --separate

参数:
-i 输入文件 -o 输出文件(可省略,自动命名)
-c 编码格式 也支持逗号分隔的多条方案,写法是 编码:码率
-b 码率 kbps (方案里写了码率则以方案里的为准)
-ch 声道数 (1/2/6/8) -ar 采样率 (44100/48000/96000)
-bd 位深 (16 / 24 / 32 / src=跟随源),只对 WAV、FLAC 真正有效
-lang 语言标签 (chi / eng / jpn …),-title 音轨名
这两个只有 .mka/.mkv/.mp4 能存,裸流存不下
-t 第几条音轨: 1 / 1,3,5 / all (默认 1; 支持逗号分隔多条)
-y 覆盖已存在的输出
–separate 多方案时每条各输出一个独立文件(默认是合并成一个 mka)

直通变体(不重编码):在上面每个编码名后加 p
eac3p ac3p truehdp dtsp aacp flacp opusp mp3p mp2p wavp

编码格式可选:
eac3 ac3 truehd dts aac flac opus mp3 mp2 wav16 wav24 copy

查看后端:音频编码器.exe –find
查看配置:音频编码器.exe –config
完整帮助:音频编码器.exe –help

中文乱码时:如果在 Windows Terminal / 已执行 chcp 65001 的环境,
加 –utf8 参数即可。

【重新编译(可选)】

源码在 src\ 目录,用 Windows 自带的 C# 编译器构建,不需要装任何 SDK:

powershell -ExecutionPolicy Bypass -File src\build.ps1

产物会输出到本目录下的 音频编码器.exe。

七、【常见问题】

Q: 提示「当前 FFmpeg 不支持」某个编码器?
A: 程序启动时会探测后端的编码器列表。便携版内置的 FFmpeg 包含本程序
列出的全部格式,正常不会出现。若你手动在「FFmpeg 位置…」里指定了
别的 ffmpeg.exe,而那个版本功能不全,就会提示。

Q: E-AC-3 该选多少码率?
A: 448~640 kbps 适合大多数场景;追求接近蓝光原盘选 1024 kbps。

Q: 编码很慢?
A: E-AC-3 / AC-3 / DTS 是单线程编码,速度取决于素材时长。对 5 秒素材
几乎是瞬间完成,对整部电影则可能需要几分钟。

Q: 输出的 .thd / .dts / .eac3 播放器打不开?
A: 这些是「裸流」,很多播放器不认。用 MKVToolNix 封装进 .mkv 再看,
或者干脆选「全部音轨 → 合成单个 MKA」,直接得到可播放的 .mka。

Q: 我设了语言/标题,但输出文件里没有?
A: 检查输出是不是裸流(.eac3/.ac3/.dts/.thd/.wav)——这些格式本身
就存不下标签。改成输出 .mka 或 .mkv 即可。程序日志里会提示这一点。

Q: 换到别的显示器(不同分辨率或缩放比例)会错位吗?
A: 不会。程序启动时按当前显示器的缩放比例排版;把窗口拖到另一台
缩放比例不同的显示器时,会收到系统通知并自动重新排版,反复切换
也不会累积误差。已实测 100% / 150% / 200% 之间来回切换,尺寸都
精确还原。分辨率不同但缩放比例相同的情况本来就不受影响。

想自己验证:设环境变量 AUDIOENCODER_DPI_SELFTEST=1 启动程序,
会把几次模拟切换的结果写到 %TEMP%\aenc_dpi_selftest.txt。

另外窗口可以自由拉伸,日志区会跟着伸缩;如果你的屏幕比较矮
(比如 1366×768),窗口初始高度可能超出屏幕,拉小一点即可。

音频编码器 2.0 Version README
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇