首页 > 其他分享 >MKVToolNix工具批量修改MKV文件信息

MKVToolNix工具批量修改MKV文件信息

时间:2023-05-28 11:55:46浏览次数:37  
标签:mkvpropedit set 批量 -- edit MKVToolNix MKV track 轨道

1.需求:有一部港剧,50集,mkv格式,国语和粤语双音轨,原文件默认播放国语音轨,现在要批量设置粤语为默认播放音轨,同时给视频轨道设置语言为中文。如果使用图形界面手动修改,则需要大量时间,现在寻求使用MKVToolNix的命令行工具,来进行批量操作,命令行工具mkvpropedit官方说明链接:https://mkvtoolnix.download/doc/mkvpropedit.html

2.文件结构分析:使用MKVToolNix头部分析器,得出视频轨道号为track:@1,国语音轨号为track:@2,粤语音轨号为track:@3。源文件在track:@1的“语言”为空,track:@2的“默认轨道”标记为“是”。

3.查看mkvpropedit工具说明

a) 官方给出修改轨道语言的例子:将movie.mkv文件的第1轨道语言设置为法语fre,第2轨道语言设置为意大利语ita。经过查询,中文的代码为zh。

 $ mkvpropedit movie.mkv --edit info --set "title=The movie" --edit track:a1 --set language=fre --edit track:a2 --set language=ita

 b) 设置默认轨道标记的例子:将movie.mkv文件的第1轨道默认标记设置为“否”,将第2轨道的默认标记设置为“是”。

  $ mkvpropedit movie.mkv --edit track:s1 --set flag-default=0 --edit track:s2 --set flag-default=1

4.依葫芦画瓢,得出我们需要的命令,即设置第1轨道语言为zh,设置第2轨道默认标记为“否”,设置第3轨道默认标记为“是”

cd "C:\Program Files\MKVToolNix"
mkvpropedit "男亲女爱01.mkv" --edit track:@1 --set language=zh --edit track:@2 --set flag-default=0 --edit track:@3 --set flag-default=1

5.最后,用excel表格来批量填充源文件路径,然后复制到记事本,另存为bat,执行即可。另外注意,在另存bat文件的时候,字符编码要修改为ANSI,否则命令执行会乱码。

 

标签:mkvpropedit,set,批量,--,edit,MKVToolNix,MKV,track,轨道
From: https://www.cnblogs.com/jetcser/p/17438031.html

相关文章

  • 第一次写一篇与技术无关的博客-大批量数据处理
    上周接到了一个这样的需求,有几千个xml文件需要解析入库,每个文件里边有三万条数据。解析出来后要按表字段,重新组成需要的数据,不能直接将解析后的json入库。一开始我觉得这个事挺简单的,直接动手写了个demo,用随机选了两个xml文件测一下,没问题,成功入库。从解压xml到最后的数据入库,一......
  • linux 中 awk命令实现批量修改文件名
     001、[root@PC1test]#lsa.txtb.txtc.txt[root@PC1test]#find*.txta.txtb.txtc.txt[root@PC1test]#find*.txt|awk'{print"mv",$0,$0".bak"}'mva.txta.txt.bakmvb.txtb.txt.bakmvc.txtc.txt.bak[root@PC1t......
  • PowerShell在VC上批量创建虚拟机-for-Linux
    原创文档编写不易,未经许可请勿转载。文档中有疑问的可以邮件联系我。邮箱:[email protected]本文使用Powershell调用VMware-PowerCLI实现批量创建虚拟机的功能。环境说明软件名版本说明WindowsWindows10专业版21H2操作系统UbuntuUbuntu22.04.1LTS操作系统......
  • 批量ping-网段版
    原创文档编写不易,未经许可请勿转载。文档中有疑问的可以邮件联系我。邮箱:[email protected]说明shell脚本,适用于Linux操作系统中多个网段ping测。目前只能测试24位的网段。该脚本执行前需要操作系统已经具备timeout、ping命令。每个IP地址ping超时设置为2秒,脚本分为两个版本,基础......
  • delphi FastReport 综合报表(批量预览、打印)
    FastReport综合报表(批量预览、打印)属性和方法TfrxReport.ShowPreparedReportprocedureShowPreparedReport;显示之前通过PrepareReport调用构建的报表。当报表组件构建报表并接收到另一个PrepareReport或Export命令时,它会将其放入延迟命令列表中,并在当前操作完成后才......
  • you-get 批量下载bilibili视频(播放列表)
    you-get批量下载bilibili视频(播放列表)看书的时候,如果真想听一些什么,还是觉得古典音乐更好。听到一个很棒的古典音乐播放列表,想下载下来,于是上网找到了you-get。安装you-get,参考https://github.com/soimort/you-get/releases$pip3install--upgradeyou-get下载视频you-ge......
  • 批量删除rediskey(使用scan模式)
    importredisimportre#连接Redisr=redis.Redis(host='192.168.1.42',port=31448,db=0,password='Y11111')#需要删除的key的正则表达式pattern='data-*'#定义SCAN命令的游标初始值cursor=0#循环遍历Redis中符合正则表达式的key,并逐个删除while......
  • 批量服务器更新DNS的powershell脚本
    在之前的博文https://blog.51cto.com/magic3/2514240中写过一个类似的脚本,但脚本并不完美。近期又有类似的需求,懒得改了,直接写个新的。针对hyper-v的多网卡,虚拟网卡,同样有效。$nic_array=@{}$nic_info=Get-NetAdapter$nic_name=$nic_info.nameforeach($nicin$nic......
  • shell脚本批量推公钥及修改随机密码
    提示:请提前定义ip.txt中的地址池成功的会输出在newpass.txt中失败的会输出在failip.txxt中#!/bin/bashrpm-qexpect&>/dev/nullif[$?-ne0];thenyum-yinstallexpect&>/dev/nullfi#判断公钥是否存在if[!-f~/.ssh/id_rsa];thenssh-keygen-P""-......
  • XML文件批量合并成Excel表格(Python)
    importosimportxml.etree.ElementTreeasETimportpandasaspdfolder_path="C:/xxx/Desktop/2022"#替换为你的文件夹路径#获取文件夹中的所有文件file_list=os.listdir(folder_path)#创建一个空的DataFrame来存储所有XML文件的数据all_data=pd.DataFra......