Qualche modo per modificare i metadati dei file MKV (senza ricodificarli)?
Su Febbraio 16, 2021 da adminQuando si guarda un file MKV dal web in VLC, la barra del titolo (vedi “# 1” nellimmagine sotto) sembra essere estratta dai metadati, non il nome del file.
Se apri il pannello “Ottieni informazioni” in VLC, puoi cambiare il titolo (“# 2”) e quindi fare clic su “Salva metadati” (“# 3”), ma quando il viene riaperto, vengono mostrate le vecchie informazioni.
Non ho trovato altre app per Mac in grado di modificare i metadati MKV. Diversi offrono di modificare i metadati mp4, ma non è quello che mi serve.
Risposta
Ho trovato un modo per farlo utilizzando mkvpropedit
che fa parte di mkvtoolnix .
mkvpropedit "foo.mkv" -e info -s title="This Is The Title"
Esiste un wrapper GUI per questo istruzioni per linstallazione dellapp e di altri Mac disponibili sul sito web ufficiale .
Risposta
Come aggiunta si potrebbe usare mkvpropedit
in uno script bash per impostare il titolo di tutti i mkv file in una directory. (Dato il nome del file è il titolo desiderato.)
#!/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
Commenti
Risposta
Il MKVToolNix
Modalità GUI:
- Dal menu scegli leditor delle intestazioni.
-
Apri
mkv
file. -
In
segment information
è presente untitle
elemento, cambia il titolo come desideri.
- T qui non è un pulsante di salvataggio, utilizza il menu principale per salvare le modifiche.
Supporto versione macOS
Le versioni attuali di MKVToolNix richiedono macOS Mojave (10.14) o più recente, ma le versioni precedenti di MKVToolNix potrebbero funzionare per le versioni precedenti di macOS / OS X.
A partire dalla v42 .0.0, MKVToolNix utilizza
std::optional
, a che richiede macOS 10.14. b
macOS High Sierra (10.13) e Sierra (10.12) dovrebbe essere eseguito fino a v41.0.0 “Smarra” (2019-dic-06) .
A partire dalla v30.0.0, MKVToolNix utilizza Qt 5.12 , c che richiede macOS 10.12. d
OS X El Capitan (10.11) dovrebbe essere eseguito fino a v29.0.0 “Like It Or Not” (2018-Dec-01) .
A partire dalla v26.0.0, il file “README.macOS.txt” indica che
works only with macOS 10.11 "El Capitan" or newer
e (sebbeneMACOSX_DEPLOYMENT_TARGET
eLSMinimumSystemVersion
sono ancora a10.9
, quindi potrebbe girare in Yosemite 10.10 o Mavericks 10.9).
OS X Yosemite (10.10) e Mavericks (10.9) dovrebbe essere eseguito fino a v25.0.0 “Prog Noir” (2018-luglio-12) .
A partire dalla v9.7.1-build4 ,
MACOSX_DEPLOYMENT_TARGET
eLSMinimumSystemVersion
sono impostati su10.9
. f
OS X Mountain Lion (10.8) potrebbe essere eseguito fino a v9.7.1-build2 “Pandemonium” (27 dicembre 2016) .
A partire dalla v8.2.0, il file” README.Il file macOS.txt “indica che
works only with Mac OS X 10.9 and higher
, sebbeneLSMinimumSystemVersion
sia ancora10.8.0
, quindi potrebbe funzionare in Mountain Lion 10.8.Inoltre,
MACOSX_DEPLOYMENT_TARGET
non è impostato, quindi dovrebbe targetizzare qualunque versione del sistema operativo fosse incorporato. g Come v9.7.0-build2 e v9.7.1-build2 sono stati costruiti in Sierra 10.12, non funzioneranno in Yosemite 10.10 né in El Capitan 10.11 (sebbene funzioneranno in Mavericks 10.9 e Mountain Lion 10.8, che sembrano ignorare questa restrizione). Consulta la discussione pertinente qui .
Commenti
- Funziona, ma ‘ uno alla volta – vedi apple.stackexchange.com/questions / 367737 / … per un metodo in blocco.
- Può confermare che funziona per un file alla volta.
- sì non è adatto per il funzionamento alla rinfusa. Altre risposte si sono già prese cura di questo. Questo è per piccoli lavori quando non ‘ ti preoccupi di controllare i parametri cli (
mkvpropedit --help
).
Risposta
Basta aprire il file nel lettore VLC, Ctrl + I, scegliere i metadati, il titolo ecc. desiderati, modificare e poi in fondo, fare clic su “Salva dati”. Questo è tutto.
Non è necessario nessun altro editor esterno.
Commenti
- Questo è nellOP. Ha detto ‘ t ha funzionato.
- Lho provato utilizzando VLC su un Mac e funziona. Devi solo assicurarti di fare clic su ” Salva metadati ” pulsante nella finestra Informazioni multimediali. ‘ non è la cosa più facile da trovare.
- Penso che ciò che potrebbe accadere è che se lo modifichi, salverà, ma se lo elimini, non ‘ t.
- @Tetsujin è corretto, se inserisci un valore vuoto non lo accetterà, sembrerà che ‘ funzioni ma quando controlli di nuovo il vecchio valore è ancora lì, quindi ‘ è facile presumere che ” non ‘ funzioni “, e in un certo senso credo che non ‘ t. In breve, puoi t eliminare, basta passare a qualcosaltro.
- Non funziona, anche se fai clic su ” salva metadati “. A prima vista sembra funzionare, ma una volta riaperto il file in VLC vedrai che il vecchio valore è ancora presente. Testato con file MKV.
Risposta
Scaricato un sacco di file, molti dei quali avevano alcuni *** nel suo titolo, come estensione di unaltra risposta ha creato il mio script.
Cambia il titolo per tutti i .mkv
nella directory (e nelle sue sottodirectory) mentre si richiede unazione appropriata. Le azioni sono “Mantieni il nome? [1] / Digita un nuovo nome? [2] / Usa il nome del file come nome del film? [3]”.
Potrei aggiornarlo in un secondo momento github , ecco cosa cè per ora:
#!/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
Risposta
MetaX per Windows taggerà i file MKV (così come i file MP4, M4V, WMV e AVI). Cerca anche in Internet le informazioni da utilizzare per taggare (copertine, attori, …)
line 8: -4: substring expression < 0
. Ho dovuto modificare mkvpropedit ” $ mkvfile ” -e info -s title = ” $ {mkvfile :: – 4} ” a mkvpropedit ” $ mkvfile ” -e info -s title = ” $ {mkvfile :: $ {# mkvfile} -4} ” Forse questo aiuta altri che hanno lo stesso problema .