跳到正文
发现
LAV Filters:DirectShow 音视频解码滤镜
桌面应用其他

LAV Filters:DirectShow 音视频解码滤镜

一套基于 ffmpeg 的 DirectShow 分离器与解码器,让 Windows 播放器几乎能播放任意格式的媒体文件。

admin
发布于 2026-10-28
浏览
4
访问
0
下载
0
版本
v0.83
平台
Windows
该作品还没有经过官方审核。访问演示、下载或复制命令前,请自行确认来源可信。

详细介绍

项目简介

LAV Filters 是一组基于 ffmpeg 项目中 libavformat 与 libavcodec 库构建的 DirectShow 滤镜,包含 LAV Splitter(分离器)以及音频、视频解码器,目标是让 Windows 上的 DirectShow 播放器几乎能够播放任意格式的媒体文件。

主要功能

  • 格式分离:默认情况下,分离器会为所有经过测试、至少可部分正常工作的媒体格式注册,目前包括(但不限于)MKV/WebM、AVI、MP4/MOV、TS/M2TS/MPG、FLV、OGG、BluRay(.bdmv 与 .mpls)。
  • 解码优先级:音频与视频解码器以相对较高的 merit 注册,通常会被默认选中;多数播放器也提供手动指定首选解码器的选项。
  • 视频流自动选择:不可配置,直接挑选质量最好的一条。
  • 音频流自动选择:可配置首选语言,填写以逗号或空格分隔的 3 字母语言代码(ISO 639-2),例如 eng ger fre,会按顺序依次尝试。若同一语言有多条音轨,则按声道数、再按编码方式选择,PCM 与无损编码优先于有损编码。
  • 字幕选择模式:
    • No Subtitles:默认关闭字幕。
    • Only Forced Subtitles:只预选带 forced 标记的字幕,同时遵循语言偏好。
    • Default:按语言偏好匹配字幕;无匹配或未配置语言则不启用字幕,带 default 或 forced 标记的字幕始终启用。
    • Advanced:用自定义规则组合,可按文件的音频语言选择字幕。

Advanced 字幕规则语法

基本形式是由冒号分隔的一对「音频语言:字幕语言」,例如 eng:ger 表示检测到英语音频时加载德语字幕。

  • * 匹配任意语言:*:eng 表示无论音频语言都启用英语字幕;eng:* 表示音频为英语时启用任意字幕。
  • off 仅用于字幕语言,表示关闭字幕,如 eng:off。
  • 字幕标记可用竖线 | 追加:d(default)、f(forced)、h(听障)、n(普通流,既非 default、forced 也非听障)。
  • 标记前加 ! 表示该标记不存在。
  • 多条规则用逗号或空格分隔,从左到右解析,第一个匹配的规则优先。
  • 可用 @ 在标记末尾附加流名称匹配,仅支持单个词(空格是下一个记号的分隔符)。

示例:

*:*|f

任意音频语言下,加载任意带 forced 标记的字幕。

eng:eng|f eng:ger|f eng:off *:eng *:ger

音频为英语时加载英语或德语 forced 字幕,否则关闭字幕;音频非英语时加载英语或德语字幕。

jpn:ger|d!f

日语音频下加载带 default 但不带 forced 标记的德语字幕。

jpn:ger|d!f  jpn:ger|!f  jpn:ger  ger:ger|f  ger:eng|f  ger:*|f

日语音频下依次尝试完整德语字幕(default 但非 forced)、非 forced 德语字幕、任意德语字幕;德语音频下只加载 forced 字幕,顺序为德语、英语、任意。

*:eng@Forced

任意音频下,选择标题中含 “Forced” 的英语字幕流。

Blu-ray 支持

在蓝光碟的 BDMV 文件夹中打开 index.bdmv 文件即可播放,LAV Splitter 会自动检测碟上最长的一条轨道(通常是正片)并开始播放。也可以直接打开 BDMV/PLAYLIST 下的播放列表文件(*.mpls)来播放指定标题。

安装与使用

  1. 解压压缩包。
  2. 运行 install_*.bat 文件完成注册。注册需要管理员权限,必须在提权的命令行(“以管理员身份运行”)中执行。

部分分离器会以「不良」方式注册并强制所有播放器使用它们,Haali Media Splitter 就是其中之一。若要让 LAV Splitter 优先,需要卸载 Haali,或至少临时重命名它的 .ax 文件。

注意事项

  • 滤镜仍在开发中,并非所有功能都已完成,也并非所有格式都受支持。
  • 编译使用 VS2022 及仓库内附带的工程文件;旧版 Visual Studio 不受官方支持,但可能仍可使用。需要自行构建 FFmpeg:FFmpeg 以子模块形式包含在仓库中,指向一个打了若干补丁、以提升与 LAV 和 DirectShow 兼容性的定制 fork(https://gitea.1f0.de/LAV/FFmpeg)。仓库提供了使用 MSYS2 配合 MINGW/GCC 或 MSVC 编译 FFmpeg 的脚本。
  • libbluray 使用 MSVC 工程文件编译,同样使用以 Git 子模块形式链接的定制版本(https://gitea.1f0.de/LAV/libbluray)。
  • 项目许可证为 GPL-2.0。

本作品整理自 GitHub 开源项目 Nevcairiel/LAVFilters,原作者 @Nevcairiel,许可证 GPL-2.0。中文介绍由 AI 根据项目 README 整理,以原仓库为准。

更新记录

  1. v0.83当前版本

    改进 Dolby Vision 增强层处理的稳定性;修复 Matroska 文件只能显示前 64 条轨道的问题;修正 TrueHD Atmos 源码输出的轻微时间偏差。

评论