Onko mitään tapaa muokata MKV-tiedostojen metatietoja (ilman uudelleenkoodausta)?
On helmikuu 16, 2021 by adminKun katsot MKV-tiedostoa verkosta VLC: ssä, otsikkorivi (katso alla olevan kuvan ”# 1”) näyttää olevan vedetty metatiedoista, ei tiedostonimi.
Jos avaat VLC: n ”Hae tietoja” -paneelin, voit muuttaa otsikkoa (”# 2”) ja napsauttaa sitten ”Tallenna metatiedot” (”# 3”), mutta kun tiedosto avataan uudelleen, vanhat tiedot näkyvät.
En ole löytänyt muita Mac-sovelluksia, jotka voisivat muokata MKV-metatietoja. Useat tarjoavat mahdollisuuden muokata mp4-metatietoja, mutta sitä en tarvitse.
Vastaa
Olen löytänyt tavan tehdä tämä käyttämällä mkvpropedit
, joka on osa mkvtoolnix .
mkvpropedit "foo.mkv" -e info -s title="This Is The Title"
Tätä varten on GUI-kääre sovellus ja muut Mac-asennusohjeet saatavilla virallisilla verkkosivustoilla .
Vastaa
Lisäyksenä voit käyttää mkvpropedit
bash-komentosarjassa asettamaan kaikkien mkv-tiedostojen otsikot tiedostot hakemistossa. (Koska tiedostonimi on haluttu otsikko.)
#!/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
Kommentit
vastaus
MKVToolNix
GUI-tapa:
- Valitse valikosta otsikkomuokkain.
-
Avaa
mkv
-tiedosto. -
segment information
-kohdassa ontitle
kohde, muuta otsikkoa haluamallasi tavalla.
- T tämä ei ole tallennuspainike, tallenna muutokset päävalikossa.
macOS-version tuki
MKVToolNixin nykyiset versiot edellyttävät macOS Mojave (10.14) tai uudempi, mutta MKVToolNixin aiemmat versiot saattavat toimia aiemmissa macOS / OS X -versioissa.
V42 alkaen .0.0, MKVToolNix käyttää
std::optional
, a joka vaatii macOS 10.14: n. b
macOS High Sierra (10.13) ja Sierra (10.12) pitäisi kestää v41.0.0 ”Smarra” (2019-joulu-06) .
V30.0.0 alkaen MKVToolNix käyttää Qt 5.12 , c , joka vaatii macOS 10.12: n. d
OS X El Capitanin (10.11) pitäisi kestää jopa v29.0.0 ”Tykkää tai ei” (2018-joulukuu-01) .
V26.0.0 alkaen tiedosto ”README.macOS.txt” ilmoittaa, että se
works only with macOS 10.11 "El Capitan" or newer
e (vaikkaMACOSX_DEPLOYMENT_TARGET
jaLSMinimumSystemVersion
ovat edelleen10.9
-kohdassa, joten se saattaa toimia Yosemite 10.10: ssä tai Mavericks 10.9: ssä).
OS X Yosemite (10.10) ja Mavericks (10.9) pitäisi kestää jopa v25.0.0 ”Prog Noir” (2018-heinäkuu-12) .
V9.7.1-build4 alkaen ,
MACOSX_DEPLOYMENT_TARGET
jaLSMinimumSystemVersion
asetetaan arvoon10.9
. f
OS X Mountain Lion (10.8) saattaa ajaa v9.7.1-build2 ”Pandemonium” (2016-joulukuu-27) : een.
V8.2.0 lähtien” README.macOS.txt ”-tiedosto ilmoittaa
works only with Mac OS X 10.9 and higher
, vaikkaLSMinimumSystemVersion
on edelleen10.8.0
, joten se saattaa toimia Mountain Lion 10.8 -käyttöjärjestelmässä.Lisäksi
MACOSX_DEPLOYMENT_TARGET
ei ole määritetty, joten sen tulisi kohdistaa mihin tahansa käyttöjärjestelmäversioon se oli sisäänrakennettu. g Kuten v9.7.0-build2 ja v9.7.1-build2 rakennettiin Sierra 10.12: een, he eivät ajo Yosemite 10.10: ssä eikä El Capitan 10.11: ssa (vaikka he ajavatkin Mavericks 10.9: ssä ja Mountain Lion 10.8: ssa, jotka näyttävät sivuuttavan kyseisen rajoituksen). Katso asiaankuuluva keskustelu täällä .
Kommentit
- Tämä toimii, mutta se ’ s yksi kerrallaan – katso apple.stackexchange.com/questions / 367737 / … joukkomenetelmälle.
- Voi vahvistaa, että tämä toimii yhdellä tiedostolla kerrallaan.
- kyllä se ei sovellu irtotavarakäyttöön. Muut vastaukset huolehtivat siitä jo. Tämä koskee pieniä teoksia, kun et ’ ei vaivaudu tarkistamaan cli-parametreja (
mkvpropedit --help
).
vastaus
Avaa tiedosto vain VLC-soittimessa, Ctrl + I, valitse haluamasi metatiedot, otsikko jne., vaihda ja sitten alaosassa, napsauta ”Tallenna tiedot”. Se on kaikki.
Muuta ulkoista editoria ei tarvita.
Kommentit
- Se on OP: ssa. Hän sanoi se ei toiminut ’.
- Kokeilin tätä VLC: llä Macissa ja se toimii. Sinun täytyy olla varma, että napsautat ” Tallenna metatiedot ” -painike Mediatiedot-ikkunaan. Se ’ ei ole helpoin asia löytää.
- Luulen, että mitä voi tapahtua, on, että jos muutat sitä, se tallentaa, mutta jos vain poistat sen, se ei ’ t.
- @Tetsujin on oikea, jos syötät tyhjän arvon, se ei hyväksy sitä, se näyttää toimivan ’ toimiessa, mutta kun tarkistat uudelleen, vanha arvo on edelleen olemassa, joten sen ’ on helppo olettaa sen olevan ” ei ’ toimi ”, ja tavallaan se ei kai ’ t. Lyhyesti sanottuna voit t poista, vaihda vain johonkin muuhun.
- Se ei toimi, vaikka napsautat ” Tallenna metatiedot ”. Ensi silmäyksellä se näyttää toimivan, mutta kun avaat tiedoston uudelleen VLC: ssä, näet, että vanha arvo on edelleen olemassa. Testattu MKV-tiedostolla.
Vastaa
Ladattiin joukko tiedostoja, joista monissa oli joitain *** siinä otsikossa toisen vastauksen jatkona luotiin oma komentosarjani.
Se muuttaa kaikkien -tiedostot hakemistossa (ja sen alihakemistoissa) samalla kun vaaditaan asianmukaista toimintaa. Toiminnot ovat ”Säilytä nimi? [1] / Kirjoita uusi nimi? [2] / Käytä tiedostonimeä elokuvan nimellä? [3]”.
Voisi päivittää sen myöhemmin osoitteessa github , tässä on tällä hetkellä:
#!/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
Vastaa
MetaX for Windows merkitsee MKV-tiedostot (samoin kuin MP4, M4V, WMV ja AVI). Se etsii myös Internetistä tietoja, joita käytetään merkitsemiseen (kansitaide, näyttelijät jne.)
line 8: -4: substring expression < 0
. Minun piti muuttaa mkvpropedit ” $ mkvfile ” -e info -s title = ” $ {mkvfile :: – 4} ” mkvpropedit ” $ mkvfile ” -e info -s title = ” $ {mkvfile :: $ {# mkvfile} -4} ” Ehkä tämä auttaa muita, joilla on sama ongelma .