Qualquer maneira de editar metadados de arquivos MKV (sem recodificar)?
On Fevereiro 16, 2021 by adminAo assistir a um arquivo MKV da web em VLC, a barra de título (consulte “# 1” na imagem abaixo) parece ser extraída dos metadados, o nome do arquivo.
Se você abrir o painel “Obter informações” no VLC, você pode alterar o título (“# 2”) e clicar em “Salvar metadados” (“# 3”), mas quando o o arquivo é reaberto, as informações antigas são mostradas.
Não encontrei nenhum outro aplicativo Mac que possa editar metadados MKV. Vários se oferecem para editar metadados mp4, mas não é disso que eu preciso.
Resposta
Encontrei uma maneira de fazer isso usando mkvpropedit
que faz parte de mkvtoolnix .
mkvpropedit "foo.mkv" -e info -s title="This Is The Title"
Há um empacotador de GUI para isso aplicativo e outras instruções de instalação do Mac disponíveis no site oficial .
Resposta
Além disso, pode-se usar mkvpropedit
em um script bash para definir o título de todos os mkv arquivos em um diretório. (Dado o nome do arquivo é o título desejado.)
#!/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
Comentários
Resposta
O MKVToolNix
Maneira da GUI:
- No menu, escolha o editor de cabeçalho.
-
Abra o
mkv
arquivo. -
Em
segment information
há umtitle
item, altere o título como desejar.
- T aqui não é um botão salvar, use o menu principal para salvar as alterações.
Suporte à versão macOS
As versões atuais do MKVToolNix requerem macOS Mojave (10.14) ou mais recente, mas versões anteriores do MKVToolNix podem funcionar para versões anteriores do macOS / OS X.
A partir da v42 .0.0, MKVToolNix usa
std::optional
, a que requer macOS 10.14. b
macOS High Sierra (10.13) e Sierra (10.12) deve ser executado até v41.0.0 “Smarra” (2019-dez-06) .
A partir de v30.0.0, MKVToolNix usa Qt 5.12 , c que requer macOS 10.12. d
OS X El Capitan (10.11) deve ser executado até v29.0.0 “Like It Or Not” (2018-dez-01) .
A partir de v26.0.0, o arquivo “README.macOS.txt” afirma que
works only with macOS 10.11 "El Capitan" or newer
e (emboraMACOSX_DEPLOYMENT_TARGET
eLSMinimumSystemVersion
ainda estão em10.9
, então pode ser executado em Yosemite 10.10 ou Mavericks 10.9).
OS X Yosemite (10.10) e Mavericks (10.9) deve ser executado até v25.0.0 “Prog Noir” (2018-julho-12) .
A partir de v9.7.1-build4 ,
MACOSX_DEPLOYMENT_TARGET
eLSMinimumSystemVersion
são definidos como10.9
. f
OS X Mountain Lion (10,8) pode executar até v9.7.1-build2 “Pandemonium” (2016-dez-27) .
A partir da v8.2.0, o” README.O arquivo macOS.txt “afirma que
works only with Mac OS X 10.9 and higher
, emboraLSMinimumSystemVersion
ainda esteja em10.8.0
, portanto, pode ser executado no Mountain Lion 10.8.Além disso,
MACOSX_DEPLOYMENT_TARGET
não está definido, portanto, deve ter como alvo a versão do sistema operacional que estava integrado. g As v9.7.0-build2 e v9.7.1-build2 foram construídos no Sierra 10.12, eles não funcionam no Yosemite 10.10 nem no El Capitan 10.11 (embora sejam executados no Mavericks 10.9 e no Mountain Lion 10.8, que parecem ignorar essa restrição). Veja a discussão relevante aqui .
Comentários
- Isso funciona, mas ‘ é um de cada vez – consulte apple.stackexchange.com/questions / 367737 / … para um método em massa.
- Pode confirmar que isso funciona para um arquivo por vez.
- sim não é adequado para operação em massa. Outras respostas já cuidaram disso. Isso é para pequenos trabalhos quando você não ‘ não se preocupa em verificar os parâmetros cli (
mkvpropedit --help
).
Resposta
Basta abrir o arquivo no reprodutor VLC, Ctrl + I, escolher os metadados desejados, título etc, alterar e depois na parte inferior, clique em “Salvar dados”. Isso é tudo.
Nenhum outro editor externo é necessário.
Comentários
- Isso está no OP. Ele disse não ‘ não funcionou.
- Tentei fazer isso usando VLC em um mac e funcionou. Você só precisa ter certeza de clicar no botão ” Salvar metadados ” botão na janela Informações de mídia. ‘ não é a coisa mais fácil de encontrar.
- Acho que o que pode acontecer é que se você alterá-lo, ele será salvo, mas se você apenas excluí-lo, não ‘ t.
- @Tetsujin está correto, se você inserir um valor vazio ele não o aceitará, parecerá que ‘ está funcionando, mas quando você verificar novamente o valor antigo ainda está lá, então é ‘ fácil presumir que ” não ‘ não funciona ” e, de certa forma, acho que não ‘ t. Em resumo, você pode para excluir, apenas mude para outra coisa.
- Não funciona, mesmo se você clicar em ” salvar metadados “. À primeira vista, parece funcionar, mas quando você reabrir o arquivo novamente no VLC, verá que o valor antigo ainda está presente. Testado com arquivo MKV.
Resposta
Baixou muitos arquivos, muitos dos quais tinham alguns *** no título dele, como uma extensão de outra resposta fiz meu próprio script.
Ele muda o título de todos os .mkv
arquivos no diretório (e seus subdiretórios) enquanto solicita uma ação apropriada. As ações são “Manter o nome? [1] / Digitar um novo nome? [2] / Usar o nome do arquivo como o nome do filme? [3]”.
Pode ser atualizado mais tarde em github , eis o que há por enquanto:
#!/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
Resposta
MetaX para Windows marcará arquivos MKV (bem como MP4, M4V, WMV e AVI “s). Ele também pesquisa na Internet as informações para usar para marcação (arte da capa, atores, …)
line 8: -4: substring expression < 0
. Tive que mudar mkvpropedit ” $ mkvfile ” -e info -s title = ” $ {mkvfile :: – 4} ” para mkvpropedit ” $ mkvfile ” -e info -s title = ” $ {mkvfile :: $ {# mkvfile} -4} ” Talvez isso ajude outras pessoas com o mesmo problema .