如何在 Windows 7 上为视频下载助手手动安装 libav?

如何在 Windows 7 上为视频下载助手手动安装 libav?

我正在尝试使用 Firefox 扩展“视频下载助手”(VDH)来转换和录制视频。建议的方法是安装 libav 的预编译版本,名为“Convert Helper”,来自VDH 主页

由于各种原因,我不愿意这样做。¹

因此,我想在我的 Windows 7 (x64) 系统上安装 libav,并将插件指向正确的 .exe/.dll/它需要的任何内容。设置中有一个选项可以手动输入“转换器路径”,尽管它对我来说不起作用 - 可能是因为我没有输入正确的路径。单击“重新检查转换器”按钮后,输入的路径就消失了。(我不确定是否有相应的字段用于输入。您可以看到设置页面的图片这里在“使用转换规则”部分中。)

问题是:如何正确安装 libav?
libav 在下载部分提供了 Windows 版本,但我不知道将解压的文件放在哪里,也不知道如何让 Firefox 插件识别安装。我是否只需将 .dll 和 .exe 放在 System32 文件夹中,或者可能放在系统的 $PATH 变量中的某个位置?还有其他方法吗?

任何想法都将不胜感激。


¹其中之一是他们希望我为完全免费的编解码器付费,以避免水印,这也是它们出现在libav 的耻辱堂备注(2016/3/29):耻辱堂被移除直到另行通知)。在 Linux 上没有任何问题(请参阅 Linux 安装说明)。另一个原因是我想对系统上安装的内容有一定程度的控制,而“ConverterHelper.exe”显然不是只是libav 编解码器的编译版本。

答案1

解决方案

用一个从 libav.org 构建并将其提取到某个文件夹。

创建一个包含此内容的 .reg 文件并进行InstallFolder相应调整,例如,C:\bin\libav-11.3-win64\win64\usr\bin

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\DownloadHelper\ConvertHelper3]
"InstallFolder"="C:\\Program Files\\ConvertHelper3"
"Version"="3.1"
"Is32Bits"="no"
"ReliableVP9"="yes"

背景

我启动了虚拟机并进行了一些分析,ConvertHelper3Setup.exe发现:

VDH 在注册表中查找此项:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\DownloadHelper\ConvertHelper3\InstallFolder

然后它查看此文件夹(默认为C:\Program Files\ConvertHelper3)并检查是否有可执行文件avconv.exe。如果有,则转换器可以运行。

最新ConvertHelper3Setup.exe(截至 2016 年 3 月 29 日)安装 avconv 11.2

我从 libav.org 下载了最新版本 (11.3),一切仍然正常。可在此处找到:

https://builds.libav.org/windows/release-gpl/libav-11.3-win64.7z

这是构建的通用下载文件夹:

https://builds.libav.org/windows/

答案2

我尝试了同样的方法,发现了两个问题:首先,至少我的版本(5.3.1)的 VDH 似乎只会在 \Program Files\ConvertHelper3 中查找 avconv.exe 文件,无论我输入的路径是什么。

其次,水印并不存在于下载的编解码器中,而是 VDH 用来标记结果的 libav 的原生功能。因此,即使交换了 libav 库,VDH 仍会使用它来放置水印。

要解决这个问题,您需要重新编译 avconv 并去掉水印功能(最好在命令行中忽略它)或放置一个名为 avconv.exe 的过滤程序,该程序调用真正的 avconv.exe,但参数中没有水印命令。不幸的是,这两种解决方案都需要大量工作。

答案3

这个回复可能有点“玩笑”,但我一开始就有点后悔搜索这个主题……因为……(这应该与超级用户论坛有关)每次我升级运行 Windows 的硬件时,旧 PC 都会被重新用作我的 Linux 机器,我会为它们运行 KVM 切换器。我尝试过虚拟机,并将两个操作系统用作主机、双启动等……简单地回收硬件似乎效果最好 - 最简单 - 最不复杂等。有些东西必须在 Windows 上运行,而 Linux 有更好的工具。所以不想在 Windows 上转换的视频……按下滚动锁定并在 Linux 上加载相同的网址,问题解决了 :)

相关内容