MKV dosyalarının meta verilerini düzenlemenin herhangi bir yolu var mı (yeniden kodlama yapmadan)?


14

VLC'de web'den bir MKV dosyası izlerken, başlık çubuğu (aşağıdaki resimde "# 1" e bakın) dosya adından değil meta verilerden alınmıştır.

VLC'de “Bilgi Al” panelini açarsanız, başlığı değiştirebilir (“# 2”) ve ardından “Meta Verileri Kaydet” (“# 3”) öğesini tıklayabilirsiniz, ancak dosya yeniden açıldığında eski bilgiler gösterilen.

MKV meta verilerini düzenleyebilecek başka Mac uygulaması bulamadım. Birkaç teklif mp4 meta verilerini düzenlemek için, ama ihtiyacım olan bu değil.

VLC annotated ekran görüntüsü

Yanıtlar:



6

Ek olarak mkvpropedit, bir dizindeki tüm mkv dosyalarının başlığını ayarlamak için bir bash betiğinde kullanılabilir . (Dosya adı verilen başlıktır.)

#!/bin/bash

# This script takes all mkv files in the current directory and sets the filename
# (without .mkv) as its title in metadata

for mkvfile in *.mkv; do
    mkvpropedit "$mkvfile" -e info -s title="${mkvfile::-4}"
done

3

Dosyayı VLC oynatıcı, Ctrl + I'de açın, istediğiniz Meta Verileri, başlığı vb. Seçin, değiştirin ve altta 'Verileri Kaydet'i tıklayın. Bu kadar.

Başka harici düzenleyiciye gerek yoktur.


2
Bu OP'de. İşe yaramadığını söyledi.
Tetsujin

1
Bir mac üzerinde VLC kullanarak bunu denedim ve çalışıyor. Medya Bilgileri penceresindeki "Meta Verileri Kaydet" düğmesini tıkladığınızdan emin olmanız yeterlidir. Bulması en kolay şey değil.
Ascii Dude

1
Bence ne olabilir, değiştirirseniz, kurtaracak, ama silerseniz, değişmez.
Tetsujin

@Tetsujin doğrudur, boş bir değer girerseniz kabul etmez, çalışır gibi görünür, ancak tekrar kontrol ettiğinizde eski değer hala oradadır, bu yüzden "işe yaramadığını" varsaymak kolaydır ve sanırım öyle değil. Kısacası, silemezsiniz, sadece başka bir şeye geçin.
pzkpfw

2

MKVToolNixGUI yol:

  1. Menüden başlık düzenleyicisini seçin.

resim açıklamasını buraya girin

  1. mkvDosyayı açın .

  2. segment informationBir titleöğenin altında başlığı istediğiniz gibi değiştirin.

resim açıklamasını buraya girin

  1. Kaydet düğmesi yoktur, değişiklikleri kaydetmek için ana menüyü kullanın.

resim açıklamasını buraya girin


Bu işe yarıyor, ama her seferinde bir tane - toplu bir yöntem için apple.stackexchange.com/questions/367737/… adresine bakın .
Tetsujin

0

Birçoğu başlığında bazı *** olan bir dosya dosyasını, başka bir cevabın uzantısı olarak kendi komut dosyamı yaptı.

.mkvUygun bir işlem isterken dizindeki (ve alt dizinlerindeki) tüm dosyaların başlığını değiştirir . İşlemler "Adı koruyor musunuz? [1] / Yeni bir ad mı yazdınız? [2] / Dosya adını film adı olarak mı kullanıyorsunuz?

Daha sonra github'da güncelleyebilir , şimdilik var:

#!/bin/sh

# This script takes all mkv files in the (sub)directory and sets it's Movie name/Title
# Requires mkvtools (mkvpropedit) and mediainfo installed
#
# param1 Starting directory (defaults to current)
# param2 Default action to do with files
# (Keep the name?[1] / Type a new name?[2] / Use the filename as a movie name?[3])
# Be carefaul with param2 since this script doesn't (atm) back up the existing movie names.

IFS=$'\n'; set -f

updateTitle() {
    mkvpropedit "${1}" -e info -s title="${2}"
    echo "✅ Updated to \"${2}\"";
}

getMovieTitle() {
    echo "$(mediainfo ${1} | grep "Movie name" | sed 's/^.*: //')";
}

parseFilename() {
    filename=${1##*/}
    filename=${filename%.*}
    echo ${filename}
}

chooseAction() {
    f="${1}"
    curFilename="${2}"
    defaultAction="${3}"

    if [[ -n "${defaultAction}" ]]; then
        ans="${defaultAction}"
    else
        read -p "Keep the name?[1] / Type a new name?[2] / Use the filename as a movie name?[3] : " -n 1 ans
        echo
    fi

    case "${ans}" in

    1)
        echo "Keeping the old name"
        ;;
    2)
        read -p "New movie name: " newName
        updateTitle ${f} ${newName}
        ;;
    3)
        updateTitle ${f} ${curFilename}
        ;;
    *)
        echo "Invalid char \"${ans}\""
        chooseAction $@
        ;;
    esac
    echo
}

renameMovies() {
    for f in $(find ${1} -name '*.mkv'); do
        curTitle="$(getMovieTitle ${f})"
        curFilename="$(parseFilename ${f})"

        echo "File location - ${f}"
        echo "File name     - ${curFilename}"
        echo "Movie name    - ${curTitle}"

        chooseAction ${f} ${curFilename} ${2}
    done
    echo "Done"

}

renameMovies ${1:-$(pwd)} ${2}

unset IFS; set +f

-3

Windows için MetaX, MKV dosyalarını (MP4, M4V, WMV ve AVI'lerin yanı sıra) etiketleyecektir. Ayrıca, etiketleme için kullanılacak bilgileri internette arar (kapak resmi, aktörler, ...)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.