Noen måte å redigere metadata for MKV-filer (uten omkoding)?
On februar 16, 2021 by adminNår du ser på en MKV-fil fra nettet i VLC, ser tittellinjen (se «# 1» i bildet nedenfor) ut av metadata, ikke filnavnet.
Hvis du åpner «Get Info» -panelet i VLC, kan du endre tittelen («# 2») og deretter klikke «Lagre metadata» («# 3»), men når filen åpnes på nytt, den gamle informasjonen vises.
Jeg har ikke funnet noen andre Mac-apper som kan redigere MKV-metadata. Flere tilbyr å redigere mp4-metadata, men det er ikke det jeg trenger.
Svar
Jeg har funnet en måte å gjøre dette ved å bruke mkvpropedit
som er en del av mkvtoolnix .
mkvpropedit "foo.mkv" -e info -s title="This Is The Title"
Det er en GUI-innpakning for dette app og andre installasjonsinstruksjoner for Mac tilgjengelig på det offisielle nettstedet .
Svar
Som et tillegg kan man bruke mkvpropedit
i et bash-skript for å sette tittelen på alle mkv filer i en katalog. (Gitt filnavnet er ønsket tittel.)
#!/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
Kommentarer
Svar
MKVToolNix
GUI måte:
- Fra menyen velger du header editor.
-
Åpne
mkv
fil. -
Under
segment information
er det entitle
element, endre tittel som du ønsker.
- T her er det ikke en lagringsknapp, bruk hovedmenyen til å lagre endringene.
Support for macOS-versjon
Nåværende versjoner av MKVToolNix krever macOS Mojave (10.14) eller nyere, men tidligere versjoner av MKVToolNix kan fungere for tidligere versjoner av macOS / OS X.
Fra og med v42 .0.0, MKVToolNix bruker
std::optional
, a som krever macOS 10.14. b
macOS High Sierra (10.13) og Sierra (10.12) skal løpe opp til v41.0.0 «Smarra» (2019-desember-06) .
Fra og med v30.0.0 bruker MKVToolNix Qt 5.12 , c som krever macOS 10.12. d
OS X El Capitan (10.11) skal løpe opp til v29.0.0 «Like It Or Not» (2018-desember-01) .
Fra og med v26.0.0 sier filen «README.macOS.txt» at den
works only with macOS 10.11 "El Capitan" or newer
e (selv omMACOSX_DEPLOYMENT_TARGET
ogLSMinimumSystemVersion
er fremdeles på10.9
, så det kan kjøre i Yosemite 10.10 eller Mavericks 10.9).
OS X Yosemite (10.10) og Mavericks (10.9) skal løpe opp til v25.0.0 «Prog Noir» (2018-juli-12) .
Fra og med v9.7.1-build4 ,
MACOSX_DEPLOYMENT_TARGET
ogLSMinimumSystemVersion
er satt til10.9
. f
OS X Mountain Lion (10.8) kan løpe opp til v9.7.1-build2 «Pandemonium» (2016-desember-27) .
Fra og med v8.2.0,» README.macOS.txt «-fil sier at den
works only with Mac OS X 10.9 and higher
, selv omLSMinimumSystemVersion
fremdeles er på10.8.0
, så den kan kjøre i Mountain Lion 10.8.Videre er
MACOSX_DEPLOYMENT_TARGET
ikke angitt, så den bør målrette mot hvilken OS-versjon det var innebygd. g Som v9.7.0-build2 og v9.7.1-build2 ble bygget i Sierra 10.12, de løp ikke i Yosemite 10.10 eller El Capitan 10.11 (selv om de vil løpe i Mavericks 10.9 og Mountain Lion 10.8, som ser ut til å ignorere den begrensningen). Se den aktuelle diskusjonen her .
Kommentarer
- Dette fungerer, men det ‘ er en om gangen – se apple.stackexchange.com/questions / 367737 / … for en bulkmetode.
- Kan bekrefte at dette fungerer for en fil om gangen.
- ja det er ikke egnet for bulkdrift. Andre svar tok seg allerede av det. Dette er for små verk når du ikke ‘ ikke gidder å sjekke cli params (
mkvpropedit --help
).
Svar
Bare åpne filen i VLC-spiller, Ctrl + I, velg ønsket metadata, tittel etc, endre og deretter nederst, klikk på «Lagre data». Det er alt.
Ingen annen ekstern redaktør er nødvendig.
Kommentarer
- Det er i OP. Han sa det fungerte ikke ‘.
- Jeg prøvde dette ved hjelp av VLC på en mac, og det fungerer. Du må bare være sikker på å klikke på » Lagre metadata » -knappen i Media Information-vinduet. Det ‘ er ikke det enkleste å finne.
- Jeg tror det som kan skje er hvis du endrer det, vil det lagre, men hvis du bare sletter det, gjør det ikke ‘ t.
- @Tetsujin er riktig, hvis du skriver inn en tom verdi, vil den ikke akseptere den, den vil se ut som den ‘ fungerer, men når du sjekker igjen er den gamle verdien fortsatt der, så det ‘ er lett å anta det » fungerer ikke ‘ t fungerer «, og på en måte antar jeg at det ikke ‘ t. Kort sagt, du kan t slett, bare bytt til noe annet.
- Det fungerer ikke, selv om du klikker » lagre metadata «. Ved første øyekast ser det ut til å fungere, men når du åpner filen igjen i VLC, ser du at den gamle verdien fortsatt er til stede. Testet med MKV-fil.
Svar
Lastet ned en masse filer, hvorav mange hadde noen *** i tittelen, som en utvidelse av et annet svar , laget mitt eget skript.
Det endrer tittel for alle .mkv
filer i katalogen (og det er underkataloger) mens du ber om en passende handling. Handlingene er «Behold navnet? [1] / Skriv inn et nytt navn? [2] / Bruk filnavnet som filmnavn? [3]».
Kan oppdatere det senere på github , her er hva det er for nå:
#!/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
Svar
MetaX for Windows vil merke MKV-filer (samt MP4, M4V, WMV og AVI «s). Den søker også på internett etter informasjonen som skal brukes til tagging (cover art, skuespillere, …)
line 8: -4: substring expression < 0
. Jeg måtte endre mkvpropedit » $ mkvfile » -e info -s title = » $ {mkvfile :: – 4} » til mkvpropedit » $ mkvfile » -e info -s title = » $ {mkvfile :: $ {# mkvfile} -4} » Kanskje dette hjelper andre som har det samme problemet .