Das wäre super. Die aktuelle Version ist diese:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
use 5.010;
use strict;
use warnings;
# Dateien auflisten und sortieren
my @files = sort glob '*.mkv';
# Segment-UIDs via mkvinfo auslesen
my @uids = map {
my $file = $_;
open my $mkvinfo, '-|', qw/mkvinfo --ui-language en/, $file
or die "Couldn't run mkvinfo on $file: $!";
my $uid;
while (my $_ = <$mkvinfo>) {
if (/\+ Segment UID:\s+0x(.*)$/) {
$uid = $1;
last;
}
}
close $mkvinfo
or die "Error running mkvinfo on $file: $!";
warn "Couldn't determine UID for $file" unless (defined $uid);
$uid
} @files;
# Ueber alle Dateien iterieren und Felder setzen
for ($[ .. $#files) {
my $file = $files[$_];
my $prev_uid = ($_ - 1 >= $[ ? $uids[$_ - 1] : undef);
my $next_uid = ($_ + 1 <= $#uids ? $uids[$_ + 1] : undef);
my @options;
push @options, '--set', "prev-uid=$prev_uid" if (defined $prev_uid);
push @options, '--set', "next-uid=$next_uid" if (defined $next_uid);
if (@options) {
system('mkvpropedit', $file, qw/--edit info/, @options) == 0
or die "Couldn't run mkvpropedit on $file: status $?"
}
}
Das ist das oben von Murphy erstelle Skript mit ausgetauschter Zeile 17. Du müsstest in selber Verzeichnis wie das Skript min. 2 MKV-Dateien sowie das entpackte MKVToolNix 3.1 liegen haben (ob da wirklich alle Dateien nötig sidn weiß ich nicht, hab einfach alles reinkopiert um Fehler auszuschließen).