¿Alguna forma de editar metadatos de archivos MKV (sin volver a codificar)?
On febrero 16, 2021 by adminAl ver un archivo MKV de la web en VLC, la barra de título (ver «# 1» en la imagen a continuación) parece extraída de los metadatos, no el nombre del archivo.
Si abre el panel «Obtener información» en VLC, puede cambiar el título («# 2») y luego hacer clic en «Guardar metadatos» («# 3»), pero cuando el se vuelve a abrir el archivo, se muestra la información anterior.
No he encontrado ninguna otra aplicación de Mac que pueda editar metadatos MKV. Varios ofrecen editar metadatos mp4, pero eso no es lo que necesito.
Respuesta
He encontrado una manera de hacer esto usando mkvpropedit
que forma parte de mkvtoolnix .
mkvpropedit "foo.mkv" -e info -s title="This Is The Title"
Hay un contenedor de GUI para esto aplicación y otras instrucciones de instalación de Mac disponibles en el sitio web oficial .
Respuesta
Como adición, se podría usar mkvpropedit
en un script bash para establecer el título de todos los archivos mkv archivos en un directorio. (Dado que el nombre del archivo es el título deseado.)
#!/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
Comentarios
Responder
El MKVToolNix
GUI:
- Desde el menú, elija el editor de encabezado.
-
Abra el
mkv
archivo. -
Debajo de
segment information
hay untitle
elemento, cambie el título como desee.
- T aquí no hay un botón para guardar, use el menú principal para guardar los cambios.
Compatibilidad con la versión de macOS
Las versiones actuales de MKVToolNix requieren macOS Mojave (10.14) o más reciente, pero las versiones anteriores de MKVToolNix podrían funcionar para versiones anteriores de macOS / OS X.
A partir de v42 .0.0, MKVToolNix usa
std::optional
, a que requiere macOS 10.14. b
macOS High Sierra (10.13) y Sierra (10.12) debería ejecutarse hasta v41.0.0 «Smarra» (2019-Dec-06) .
A partir de la versión 30.0.0, MKVToolNix usa Qt 5.12 , c que requiere macOS 10.12. d
OS X El Capitan (10.11) debería ejecutarse hasta v29.0.0 «Like It Or Not» (2018-Dec-01) .
A partir de la v26.0.0, el archivo «README.macOS.txt» indica que
works only with macOS 10.11 "El Capitan" or newer
e (aunqueMACOSX_DEPLOYMENT_TARGET
yLSMinimumSystemVersion
todavía están en10.9
, por lo que podría ejecutarse en Yosemite 10.10 o Mavericks 10.9).
OS X Yosemite (10.10) y Mavericks (10.9) debería ejecutarse hasta v25.0.0 «Prog Noir» (2018-July-12) .
A partir de v9.7.1-build4 ,
MACOSX_DEPLOYMENT_TARGET
yLSMinimumSystemVersion
están configurados en10.9
. f
OS X Mountain Lion (10.8) podría ejecutarse hasta v9.7.1-build2 «Pandemonium» (2016-Dec-27) .
A partir de la v8.2.0, el archivo» README.El archivo macOS.txt «indica que
works only with Mac OS X 10.9 and higher
, aunqueLSMinimumSystemVersion
todavía está en10.8.0
, por lo que podría ejecutarse en Mountain Lion 10.8.Además,
MACOSX_DEPLOYMENT_TARGET
no está configurado, por lo que debería apuntar a cualquier versión del sistema operativo que fuera integrado. g Como v9.7.0-build2 y v9.7.1-build2 fueron construidos en Sierra 10.12, no se ejecutarán en Yosemite 10.10 ni El Capitan 10.11 (aunque se ejecutarán en Mavericks 10.9 y Mountain Lion 10.8, que parecen ignorar esa restricción). Vea la discusión relevante aquí .
Comentarios
- Esto funciona, pero ‘ s uno a la vez – consulte apple.stackexchange.com/questions / 367737 / … para un método masivo.
- Puedo confirmar que esto funciona para un archivo a la vez.
- sí no es adecuado para operaciones a granel. Otras respuestas ya se encargaron de eso. Esto es para trabajos pequeños cuando no ‘ t molesta en verificar los parámetros de cli (
mkvpropedit --help
).
Respuesta
Simplemente abra el archivo en el reproductor VLC, Ctrl + I, elija los metadatos deseados, título, etc., cambie y luego en la parte inferior, haga clic en «Guardar datos». Eso es todo.
No se necesita ningún otro editor externo.
Comentarios
- Eso está en el OP. Dijo no ‘ no funcionó.
- Intenté esto usando VLC en una Mac y funciona. Solo debes asegurarte de hacer clic en » Guardar metadatos » en la ventana de información multimedia. No es ‘ lo más fácil de encontrar.
- Creo que lo que puede pasar es que si lo cambia, se guardará, pero si simplemente lo elimina, no ‘ t.
- @Tetsujin es correcto, si ingresa un valor vacío, no lo aceptará, parecerá que ‘ está funcionando, pero cuando vuelva a verificar el valor anterior todavía está allí, así que ‘ es fácil de asumir » no ‘ no funciona «, y en cierto modo supongo que no ‘ t. En resumen, puedes t eliminar, solo cambiar a otra cosa.
- No funciona, incluso si hace clic en » guardar metadatos «. A primera vista, parece funcionar, pero una vez que vuelva a abrir el archivo en VLC, verá que el valor anterior todavía está presente. Probado con un archivo MKV.
Respuesta
Descargó una gran cantidad de archivos, muchos de los cuales tenían *** en su título, como una extensión de otra respuesta , hice mi propia secuencia de comandos.
Cambia el título de todas las .mkv
archivos en el directorio (y sus subdirectorios) mientras se solicita una acción adecuada. Las acciones son «¿Conservar el nombre? [1] / ¿Escribir un nombre nuevo? [2] / ¿Usar el nombre de archivo como nombre de película? [3]».
Podría actualizarlo más adelante github , esto es lo que hay por ahora:
#!/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
Respuesta
MetaX para Windows etiquetará archivos MKV (así como MP4, M4V, WMV y AVI «s). También busca en Internet la información que se utilizará para etiquetar (arte de portada, actores, …)
line 8: -4: substring expression < 0
. Tuve que cambiar mkvpropedit » $ mkvfile » -e info -s title = » $ {mkvfile :: – 4} » a mkvpropedit » $ mkvfile » -e info -s title = » $ {mkvfile :: $ {# mkvfile} -4} » Tal vez esto ayude a otras personas que tienen el mismo problema .