我有一台媒体服务器,我正在尝试使用MakeMKV自动翻录我的电影和任何未来电影。翻录和移动工作没有任何障碍。我遇到的问题偶尔是MakeMKV没有为MKV分配标题,我最终得到title00.mkv
,Media Center Master显然甚至无法开始尝试匹配任何元数据。
MakeMKV确实能够将我打印过的光盘中的信息显示到info.txt
,如下所示。
MSG:1005,0,1,"MakeMKV v1.8.10 win(x64-release) started","%1 started","MakeMKV v1.8.10 win(x64-release)"
DRV:0,2,999,1,"HD-DVD-ROM HL-DT-ST BD-RE GGW-H20L YL05","FARFROMHOME_16X9","\\Device\\CdRom0"
DRV:1,256,999,0,"","",""
DRV:2,256,999,0,"","",""
DRV:3,256,999,0,"","",""
DRV:4,256,999,0,"","",""
DRV:5,256,999,0,"","",""
DRV:6,256,999,0,"","",""
DRV:7,256,999,0,"","",""
DRV:8,256,999,0,"","",""
DRV:9,256,999,0,"","",""
DRV:10,256,999,0,"","",""
DRV:11,256,999,0,"","",""
DRV:12,256,999,0,"","",""
DRV:13,256,999,0,"","",""
DRV:14,256,999,0,"","",""
DRV:15,256,999,0,"","",""
FARFROMHOME_16X9
是光盘的标签。
如何在makemkv
完成后解压缩并重命名我的.mkv?
到目前为止,这是我的BAT(我第一次尝试.bat):
makemkvcon64 -r info disc > info.txt
makemkvcon64 --minlength=3600 mkv disc:0 all C:\Users\HTPC\MakeMKV_Temp\
START /WAIT makemkvcon64.exe
cd "c:\Program Files (x86)\FreeEject\"
FreeEject d:
move C:\Users\HTPC\MakeMKV_Temp\*.mkv C:\Users\HTPC\Movies\
在移动之前重命名文件是理想的。
答案 0 :(得分:0)
虽然您发布了对问题和数据的充分描述,但您还没有解释您想要的结果,所以我必须猜测几点。以下行从info.txt文件的第二行中提取第六个以逗号分隔的标记:
for /F "skip=1 tokens=6 delims=," %%a in (info.txt) do set "discLabel=%%~a" & goto continue
:continue
echo The label of the disk is: %discLabel%
这是在您的示例数据上执行前一行的输出:
The label of the disk is: FARFROMHOME_16X9
您还有不指示要重命名的文件的名称(在移动之前)。以下是您的问题的可能解决方案,应该在定义先前不明确的点时进行调整:
makemkvcon64 -r info disc > info.txt
for /F "skip=1 tokens=6 delims=," %%a in (info.txt) do set "discLabel=%%~a" & goto continue
:continue
makemkvcon64 --minlength=3600 mkv disc:0 all C:\Users\HTPC1\MakeMKV_Temp\
START /WAIT makemkvcon64.exe
cd "c:\Program Files (x86)\FreeEject\"
FreeEject d:
ren C:\Users\HTPC1\MakeMKV_Temp\TheNameHere.mkv %discLabel%.mkv
move C:\Users\HTPC1\MakeMKV_Temp\*.mkv C:\Users\HTPC1\Movies\
答案 1 :(得分:0)
我一直在和同样的事情争吵,创造了一些相当不错的东西。
MakeMKV使用它自己的输出FileName,就像你指示“title00.mkv”或类似的东西一样。
我创建了两(2)个批处理文件来执行我的家庭电影自动化。 第一个是“RipWorkflow_DVD.bat”,它处理所有繁重的工作,首先调用MakeMKV将内容翻录到我的驱动器。另外在这个文件中是调用Handbrake将MKV转换为MP4(我的愚蠢“智能”电视不会播放MKV,但喜欢MP4)
第二个批处理文件“OneStepDVDRip.bat”调用第一个,但是我选择了参数 a)MKV的位置 b)我的MP4的输出名称 c)定位和撕裂MKV的轨道的minLength
以下是“OneStepDVDRip.bat”的代码
call "C:\Users\Todd\Desktop\RipWorkflow_DVD.bat" "Z:\Video\TrueStory" "E:\My Videos\Movies\Drama\True Story (2015).mp4" 3600
以下是“RipWorkflow_DVD.bat”的代码
@echo off
cls
setlocal ENABLEDELAYEDEXPANSION
SET input=%1
SET output=%2
SET minlength=%3
echo
echo %input%
echo %output%
echo
if not exist %input% ( mkdir "%input%" )
call "C:\Program Files (x86)\MakeMKV\makemkvcon64.exe" --minlength=%minlength% --decrypt mkv disc:0 0 "%input%
timeout /t 5 /nobreak
for %%F in (%input%\*.mkv) do (
echo %%~dpnxF
echo %output%
call "C:\Program Files\Handbrake\HandbrakeCLI.exe" -v1 -i %%~dpnxF --main-feature -o %output% -f mp4 --markers -e x264 -b 2000 -a 1 -E faac -6 dpl2 -R 44.1 -B 128 -D 1.75 --subtitle-forced -x ref=2:bframes=2:subme=6:mixed-refs=0:weightb=0:8x8dct=0:trellis=0
timeout /t 5 /nobreak
DEL %%F /Q
)
endlocal