
Video2X 如何为 libplacebo 指定自定义 MPV 兼容 GLSL 着色器文件【免费下载链接】video2xA machine learning-based video super resolution and frame interpolation framework. Est. Hack the Valley II, 2018.项目地址: https://gitcode.com/GitHub_Trending/vi/video2x当你要用 Video2X 的libplacebo处理器对视频做放大/增强但内置的 Anime4K v4 着色器不满足需求时可以把自己的 MPV 兼容 GLSL 着色器文件交给 Video2X。命令行文档明确说明It is possible to specify custom MPV-compatible GLSL shader files with the--libplacebo-shaderargument项目 README 也列出 libplacebo supports Anime4K v4 and all custom MPV-compatible GLSL shaders。本文基于命令行文档与实现代码说明如何指定自定义着色器、哪些参数是必带的以及如何判断执行是否成功。前置条件已安装并可运行video2x命令行程序libplacebo属于其四种处理器之一通过-p libplacebo选择可选值为libplacebo, realesrgan, realcugan, rife。你手上有一个 MPV 兼容的 GLSL 着色器文件例如shader.glsl。libplacebo处理器必须同时指定输出宽高-w、-h。参数解析代码会在缺少宽高时报错Output width and height must be set for libplacebo.并终止所以这两项不是可选项。建议先确认可用 GPU因为 libplacebo 走 Vulkan 设备。可用--list-gpus或-l列出设备命令行文档 给出的文档示例输出如下仅为示例实际设备名和驱动版本因机器而异$ video2x --list-gpus 0. NVIDIA RTX A6000 Type: Discrete GPU Vulkan API Version: 1.3.289 Driver Version: 565.228.64多卡机器可用--gpu, -g加设备序号选择例如-g 1。指定自定义 GLSL 着色器文件命令行文档给出的用法是把着色器文件的文件路径直接传给--libplacebo-shadervideo2x -i input.mp4 -o output.mp4 -p libplacebo -w 3840 -h 2160 --libplacebo-shader path/to/custom/shader.glsl命令中各部分的用途-i input.mp4/-o output.mp4输入与输出文件两者都是必填项-p libplacebo选择 libplacebo 处理器-w 3840 -h 2160输出分辨率libplacebo 场景下必须成对指定--libplacebo-shader path/to/custom/shader.glsl把你自己的 MPV 兼容 GLSL 着色器路径传给程序替换文档中的path/to/custom/shader.glsl为你实际的着色器文件路径。该选项同时接受内置着色器名称默认值为anime4k-v4-a。内置名称包括anime4k-v4-a、anime4k-v4-aa、anime4k-v4-b、anime4k-v4-bb、anime4k-v4-c、anime4k-v4-ca、anime4k-v4.1-gan。用内置名称时命令形如video2x -i input.mp4 -o output.mp4 -w 3840 -h 2160 -p libplacebo --libplacebo-shader anime4k-v4-aa如果你只是想换一个内置的 Anime4K 变体走上面这条即可不需要自备文件。着色器路径是如何被解析的了解解析顺序有助于排错。实现代码的逻辑是程序先尝试把--libplacebo-shader的值当作文件路径直接打开可读则直接使用该文件。自定义着色器走的就是这一步。如果该路径不可读则回退到内置资源查找在models/libplacebo资源目录下找名称.glsl。资源目录候选位置见 find_resource 实现依次包括原样路径、AppImage 挂载目录$APPDIR/usr/share/video2x、/usr/local/share/video2x、/usr/share/video2x、可执行文件所在目录Linux 下前四项生效。两处都找不到时记录错误libplacebo shader file not found: 你传入的值并返回失败。因此自定义着色器必须是一个可直接读取的文件路径如果你传的是不带扩展名的裸名称只有当它对应models/libplacebo/名称.glsl且落在上述资源目录之一时才可能被解析到。参数校验同样值得注意校验逻辑 要求--libplacebo-shader要么属于内置名称列表要么是一个真实存在的文件路径否则报libplacebo-shader must be one of: anime4k-v4-a, anime4k-v4-aa, ... , or a valid file path的校验错误程序不会启动处理。结果验证与常见报错判断选项确认运行video2x --help在libplacebo options一节中应能看到--libplacebo-shader及其内置着色器列表说明这是文档推荐的查看完整选项方式。成功标志命令完整跑完并在-o指定位置生成输出视频如output.mp4且处理过程中没有出现下述报错。着色器打不开日志出现libplacebo shader file not found: ...说明你传的路径既不是可读文件也没有命中models/libplacebo资源目录回退检查文件是否存在、路径拼写是否正确。缺少宽高日志出现Output width and height must be set for libplacebo.补上-w和-h。多 GPU 时效果/性能异常先用--list-gpus确认设备再用-g 序号固定到目标设备。限制着色器文件必须是 MPV 兼容的 GLSL 文件Video2X 不对其他来源或格式的着色器做额外说明libplacebo场景下输出宽高是硬性要求不能像 Real-ESRGAN 那样用-s倍率代替内置名称之外的任何值都会被当作文件路径处理不存在隐式的按名称自动下载机制。【免费下载链接】video2xA machine learning-based video super resolution and frame interpolation framework. Est. Hack the Valley II, 2018.项目地址: https://gitcode.com/GitHub_Trending/vi/video2x创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考