Adakah cara untuk mengedit metadata file MKV (tanpa pengodean ulang)?


14

Saat menonton file MKV dari web di VLC, bilah judul (lihat "# 1" pada gambar di bawah) tampaknya ditarik dari metadata, bukan nama file.

Jika Anda membuka panel "Dapatkan Info" di VLC, Anda dapat mengubah judul ("# 2") dan kemudian mengklik "Simpan Metadata" ("# 3"), tetapi ketika file dibuka kembali, informasi lama adalah ditampilkan.

Saya belum menemukan aplikasi Mac lain yang dapat mengedit metadata MKV. Beberapa tawaran untuk mengedit metadata mp4, tapi bukan itu yang saya butuhkan.

Tangkapan layar beranotasi VLC

Jawaban:


15

Saya telah menemukan cara untuk melakukan ini menggunakan mkvpropedityang merupakan bagian dari mkvtoolnix .

mkvpropedit "foo.mkv" -e info -s title="This Is The Title"

Ada bungkus GUI untuk aplikasi ini dan instruksi instalasi Mac lainnya yang tersedia di situs web resmi .


6

Sebagai tambahan, seseorang dapat menggunakan mkvpropeditskrip bash untuk mengatur judul semua file mkv dalam direktori. (Mengingat nama file adalah judul yang diinginkan.)

#!/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

Cukup buka file di VLC player, Ctrl + I, pilih Metadata yang diinginkan, judul dll, ubah lalu di bagian bawah, klik 'Simpan Data'. Itu saja.

Tidak diperlukan editor eksternal lainnya.


2
Itu ada di OP. Dia mengatakan itu tidak berhasil.
Tetsujin

1
Saya mencoba ini menggunakan VLC pada mac dan berfungsi. Anda hanya perlu memastikan untuk mengklik tombol "Simpan Metadata" di jendela Informasi Media. Ini bukan hal termudah untuk ditemukan.
Ascii Dude

1
Saya pikir apa yang mungkin terjadi adalah jika Anda mengubahnya, itu akan menyimpan, tetapi jika Anda hanya menghapusnya, itu tidak.
Tetsujin

@Tujujin benar, jika Anda memasukkan nilai kosong itu tidak akan menerimanya, itu akan terlihat seperti bekerja tetapi ketika Anda memeriksa lagi nilai lama masih ada, jadi mudah untuk menganggapnya "tidak berfungsi", dan di Kurasa tidak. Singkatnya, Anda tidak dapat menghapus, ubah saja ke sesuatu yang lain.
pzkpfw

1

Cara MKVToolNixGUI:

  1. Dari menu pilih header editor.

masukkan deskripsi gambar di sini

  1. Buka mkvfile.

  2. Di bawah segment informationada titleitem, ubah judul sesuai keinginan.

masukkan deskripsi gambar di sini

  1. Tidak ada tombol simpan, gunakan menu utama untuk menyimpan perubahan.

masukkan deskripsi gambar di sini


Ini berfungsi, tetapi itu satu per satu - lihat apple.stackexchange.com/questions/367737/… untuk metode massal.
Tetsujin

0

Mengunduh looot file, banyak di antaranya memiliki beberapa *** di judulnya, sebagai perpanjangan dari jawaban lain membuat skrip saya sendiri.

Itu mengubah judul untuk semua .mkvfile dalam direktori (dan subdirektori) sambil meminta tindakan yang sesuai. Tindakannya adalah "Simpan nama? [1] / Ketikkan nama baru? [2] / Gunakan nama file sebagai nama film? [3]".

Mungkin perbarui nanti di github , inilah yang ada untuk saat ini:

#!/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

MetaX untuk Windows akan menandai file MKV (dan juga MP4, M4V, WMV, dan AVI). Itu juga mencari di internet untuk informasi yang digunakan untuk penandaan (cover art, aktor, ...)

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.