Enige manier om metadata van MKV-bestanden te bewerken (zonder opnieuw te coderen)?
Geplaatst op februari 16, 2021 door adminBij het bekijken van een MKV-bestand van internet in VLC, lijkt de titelbalk (zie “# 1” in onderstaande afbeelding) uit metadata te worden gehaald, niet de bestandsnaam.
Als u het paneel Info ophalen in VLC opent, kunt u de titel (# 2) wijzigen en vervolgens op Metadata opslaan (# 3) klikken, maar als de bestand wordt opnieuw geopend, de oude informatie wordt getoond.
Ik heb geen andere Mac-apps gevonden die MKV-metadata kunnen bewerken. Verschillende bieden aan om mp4-metadata te bewerken, maar dat is niet wat ik nodig heb.
Antwoord
Ik heb een manier gevonden om dit te doen met mkvpropedit
dat deel uitmaakt van mkvtoolnix .
mkvpropedit "foo.mkv" -e info -s title="This Is The Title"
Er is een GUI-wrapper voor app en andere Mac-installatie-instructies beschikbaar op de officiële website .
Antwoord
Als toevoeging zou je mkvpropedit
in een bash-script kunnen gebruiken om de titel van alle mkv bestanden in een directory. (Gegeven dat de bestandsnaam de gewenste titel is.)
#!/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
Reacties
Antwoord
De MKVToolNix
GUI-manier:
- Kies header-editor in het menu.
-
Open het
mkv
bestand. -
Onder
segment information
staat eentitle
item, wijzig de titel zoals je wilt.
- T. hier is geen knop voor opslaan, gebruik het hoofdmenu om wijzigingen op te slaan.
macOS-versieondersteuning
Huidige versies van MKVToolNix vereisen macOS Mojave (10.14) of nieuwer, maar eerdere versies van MKVToolNix werken mogelijk ook voor eerdere versies van macOS / OS X.
Vanaf v42 .0.0, MKVToolNix gebruikt
std::optional
, a waarvoor macOS 10.14 is vereist. b
macOS High Sierra (10.13) en Sierra (10.12) zou moeten lopen tot v41.0.0 “Smarra” (2019-Dec-06) .
Vanaf v30.0.0 gebruikt MKVToolNix Qt 5.12 , c waarvoor macOS 10.12 is vereist. d
OS X El Capitan (10.11) zou moeten lopen tot v29.0.0 “Like It Or Not” (2018-Dec-01) .
Vanaf v26.0.0 vermeldt het bestand “README.macOS.txt” dat het
works only with macOS 10.11 "El Capitan" or newer
e (hoewelMACOSX_DEPLOYMENT_TARGET
enLSMinimumSystemVersion
staan nog steeds op10.9
, dus kan draaien in Yosemite 10.10 of Mavericks 10.9).
OS X Yosemite (10.10) en Mavericks (10.9) zou moeten lopen tot v25.0.0 “Prog Noir” (2018-juli-12) .
Vanaf v9.7.1-build4 ,
MACOSX_DEPLOYMENT_TARGET
enLSMinimumSystemVersion
zijn ingesteld op10.9
. f
OS X Mountain Lion (10.8) kan oplopen tot v9.7.1-build2 “Pandemonium” (2016-Dec-27) .
Vanaf v8.2.0 is de” README.macOS.txt “-bestand geeft aan dat het
works only with Mac OS X 10.9 and higher
is, hoewelLSMinimumSystemVersion
nog steeds op10.8.0
staat, dus het zou kunnen draaien in Mountain Lion 10.8.Bovendien is
MACOSX_DEPLOYMENT_TARGET
niet ingesteld, dus het moet zich richten op de OS-versie die het was ingebouwd. g Als v9.7.0-build2 en v9.7.1-build2 werden gebouwd in Sierra 10.12, ze zullen niet draaien in Yosemite 10.10 of El Capitan 10.11 (hoewel ze wel zullen draaien in Mavericks 10.9 en Mountain Lion 10.8, die die beperking lijken te negeren). Zie de relevante discussie hier .
Reacties
- Dit werkt, maar het ‘ is één voor één – zie apple.stackexchange.com/questions / 367737 / … voor een bulkmethode.
- Kan bevestigen dat dit voor één bestand tegelijk werkt.
- ja het is niet geschikt voor bulkverrichting. Andere antwoorden zorgden daar al voor. Dit is voor kleine werken wanneer u ‘ niet de moeite neemt om de cli-parameters te controleren (
mkvpropedit --help
).
Antwoord
Open gewoon het bestand in VLC player, Ctrl + I, kies de gewenste metadata, titel enz., wijzig en dan onderaan, klik op “Gegevens opslaan”. Dat is alles.
Er is geen andere externe editor nodig.
Reacties
- Dat staat in het OP. Hij zei het werkte niet ‘ niet.
- Ik heb dit geprobeerd met VLC op een Mac en het werkt. Je moet er alleen voor zorgen dat je op ” Metadata opslaan ” -knop in het Media-informatievenster. Het is ‘ niet het gemakkelijkste om te vinden.
- Ik denk dat wat er kan gebeuren, is dat als je het verandert, het zal opslaan, maar als je het gewoon verwijdert, ‘ t.
- @Tetsujin is correct, als u een lege waarde invoert, wordt deze niet geaccepteerd, het ziet eruit alsof ‘ werkt, maar als u nogmaals controleert, is de oude waarde er nog steeds, dus het ‘ is gemakkelijk aan te nemen dat het ” niet ‘ werkt “, en in zekere zin denk ik dat het niet ‘ t. Kortom, je kunt t verwijderen, verander gewoon naar iets anders.
- Het werkt niet, zelfs niet als u op ” metadata opslaan “. Op het eerste gezicht lijkt het te werken, maar zodra je het bestand opnieuw opent in VLC, zie je dat de oude waarde nog steeds aanwezig is. Getest met MKV-bestand.
Antwoord
Een hoop bestanden gedownload, waarvan er vele enkele *** in zijn titel, als een uitbreiding van een ander antwoord maakte mijn eigen script.
Het verandert de titel voor alle .mkv
bestanden in de directory (en het zijn subdirectorys) terwijl om een gepaste actie wordt gevraagd. Acties zijn “Naam behouden? [1] / Nieuwe naam invoeren? [2] / Bestandsnaam als filmnaam gebruiken? [3]”.
Kan later op github , hier is wat er is voor nu:
#!/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
Antwoord
MetaX voor Windows tagt MKV-bestanden (evenals MP4, M4V, WMV en AVI “s). Het zoekt ook op internet naar de informatie om te gebruiken voor tagging (albumhoezen, acteurs, …)
line 8: -4: substring expression < 0
. Ik moest mkvpropedit ” $ mkvfile ” -e info -s title = ” wijzigen $ {mkvfile :: – 4} ” naar mkvpropedit ” $ mkvfile ” -e info -s title = ” $ {mkvfile :: $ {# mkvfile} -4} ” Misschien helpt dit anderen met hetzelfde probleem .