使用Visual Basic和MkvToolnix批量修改MKV视频音轨属性并重新混流

工具和版本

windows10 x64

MkvToolNix v73

文本编辑器

待输出的Mkv格式文件,要求是同类型的文件,比如从迅雷下载下来同一来源的连续剧

步骤

一、添加文件

打开MkvToolNix GUI,添加输入文件,选中一个待输出的文件A

二、编辑音轨

选中音轨,修改语言和默认音轨标记

三、复制代码

混流器-显示命令行,复制命令行信息。没试过不转义的代码能不能在cmd中运行,我是直接用windows的

四、修改代码和参数化

方案一:需要放置bat文件到待转换视频的文件夹

1.创建文本文件

2.套个for循环,其中(*.mkv)表示读取入参中的mkv后缀的文件

3.提取传入和传出目录出来,表示为toPath、sourcePath

4.把input的文件名变量修改为随变量i插入,在cmd中%%i表示i变量。至此,传入目录和文件表示为%sourcePath%%%i

5.把ouput的文件名变量修改为跟随变量%%~ni表示读取变量i中的前缀名,加上.mkv就是完整的文件名了。至此,传出目录和文件表示为%toPath%%%~ni.mkv

6.把文本文件改名为B.bat并放置在待转换视频的文件夹

@echo off
echo "欢迎来到我的BAT!"
set toPath=C:\Users\bingo\Videos\Captures\
set sourcePath=D:\download\baidu\aa\

for %%i in  (*.mkv ) do (
D:\software\MKVToolNix\mkvmerge.exe --ui-language zh_CN --priority lower --output ^"%toPath%%%~ni.mkv^" --language 0:und --display-dimensions 0:640x480 --language 1:ru --track-name ^"1:国语^" --default-track-flag 1:no --language 2:ja --track-name ^"2:日语^" --language 3:zh --track-name ^"3:粤语^" --default-track-flag 3:yes ^"^(^" ^"%sourcePath%%%i^" ^"^)^" --track-order 0:0,0:3,0:1,0:2
)

pause

方案二:bat文件可以放置在任意文件夹

原理和方案一差不多,只是在遍历文件的时候已经提前指定了文件夹

@echo off
echo "欢迎来到我的BAT!"
set toPath=C:\Users\bingo\Videos\Captures\
set sourcePath=E:\bbb\


for %%i in  (%sourcePath%*.mkv ) do (
echo %%i
D:\software\MKVToolNix\mkvmerge.exe --ui-language zh_CN --priority lower --output ^"%toPath%%%~ni.mkv^" --language 0:und --display-dimensions 0:640x480 --language 1:ja --track-name ^"1:日语^" --default-track-flag 1:no --language 2:ru --track-name ^"2:俄语^" --language 3:zh --track-name ^"3:粤语^" --default-track-flag 3:yes ^"^(^" ^"%%i^" ^"^)^" --track-order 0:0,0:3,0:1,0:2
)

pause

五、运行

把待处理的文件A拖到 B.bat,就会批量执行所在文件夹中的视频文件了 

 部分借鉴博文(引用博文内容太久,我是按照自己的理解重写了一部分代码)

[转载] 关于mkvtoolnix批量处理的 - 梦小天 - 博客园

python 批量提取 mkv 视频文件内嵌 srt 字幕 - 思创斯聊编程

MKVToolnix是一个功能强大的多媒体处理工具,它允许用户合特定的视频音频轨道,同时还可以嵌入外部字幕文件。为了掌握这一技巧,建议您参考《MKVToolnix指南:视频封装、提取与分割解析》一书,书中详细介绍了如何使用MKVToolnix进行复杂的多媒体文件操作。 参考资源链接:[MKVToolnix指南:视频封装、提取与分割解析](https://wenku.csdn.net/doc/2bzztu1eon) 首先,打开MKVToolnix的主界面,通常是一个名为“Matroska Multiplexer”的应用程序。在主界面中,您可以通过点击“添加源文件”按钮来加载需要合视频文件。接下来,如果您有特定的视频音频轨道需要保留,可以通过取消选中不需要的轨道来实现。例如,如果您只想保留第1个视频轨道第1个音频轨道,那么就只选中这两条轨道。 之后,为了嵌入外部字幕文件,您需要点击“添加字幕文件”按钮,选择您希望添加的字幕文件。在字幕选项中,您可能需要选择字幕的格式编码方式以确保兼容性,可进行字幕的调整定位。 完成以上设置后,您需要点击“开始多路复用”或类似的按钮来开始合过程。在输出设置中,指定输出文件的路径文件名,确保选择正确的格式(通常是.mkv)。在这个步骤中,您还可以进行高级设置,例如调整音轨优先级字幕延迟等。 MKVToolnix的灵活性非常高,但操作时需要格外注意细节,以确保最终输出的文件能达到预期的效果。《MKVToolnix指南:视频封装、提取与分割解析》将帮助您深入理解这些操作,提供实际案例分析,使得即使是没有经验的用户也能轻松上手。 参考资源链接:[MKVToolnix指南:视频封装、提取与分割解析](https://wenku.csdn.net/doc/2bzztu1eon)
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值