Nějaký způsob úpravy metadat souborů MKV (bez překódování)?
On 16 února, 2021 by adminPři sledování souboru MKV z webu ve VLC se zdá, že záhlaví (viz „# 1“ na obrázku níže) je vytaženo z metadat, nikoli název souboru.
Pokud ve VLC otevřete panel „Získat informace“, můžete změnit název („# 2“) a poté kliknout na „Uložit metadata“ („# 3“), ale když soubor se znovu otevře, zobrazí se staré informace.
Nenašel jsem žádné další aplikace pro Mac, které by mohly upravovat metadata MKV. Několik nabízí úpravu metadat mp4, ale to není to, co potřebuji.
Odpověď
Našel jsem způsob, jak to udělat pomocí mkvpropedit
, který je součástí mkvtoolnix .
mkvpropedit "foo.mkv" -e info -s title="This Is The Title"
K tomu existuje obálka grafického uživatelského rozhraní aplikace a další pokyny k instalaci systému Mac k dispozici na oficiálních webových stránkách .
Odpovědět
Jako doplněk lze použít mkvpropedit
v bash skriptu k nastavení názvu všech mkv soubory v adresáři. (Vzhledem k tomu, že název souboru je požadovaný název.)
#!/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
Komentáře
Odpověď
MKVToolNix
Způsob GUI:
- Z nabídky vyberte editor záhlaví.
-
Otevřete
mkv
soubor. -
Pod
segment information
jetitle
položku, změňte název podle libosti.
- T zde není tlačítko pro uložení, k uložení změn použijte hlavní nabídku.
Podpora verzí macOS
Aktuální verze MKVToolNix vyžadují macOS Mojave (10.14) nebo novější, ale dřívější verze MKVToolNix mohou fungovat pro předchozí verze systému macOS / OS X.
Od verze 42 .0.0, MKVToolNix používá
std::optional
, a který vyžaduje macOS 10.14. b
macOS High Sierra (10.13) a Sierra (10.12) by měl běžet až v41.0.0 „Smarra“ (2019-prosinec-06) .
Od verze 30.0.0 používá MKVToolNix Qt 5.12 , c , který vyžaduje macOS 10.12. d
OS X El Capitan (10.11) by měl běžet až v29.0.0 „Like It or Not“ (2018-prosinec-01) .
Od verze 26.0.0 uvádí soubor „README.macOS.txt“, že
works only with macOS 10.11 "El Capitan" or newer
e (ačkoliMACOSX_DEPLOYMENT_TARGET
aLSMinimumSystemVersion
jsou stále na10.9
, takže může běžet v Yosemite 10.10 nebo Mavericks 10.9).
OS X Yosemite (10.10) a Mavericks (10.9) by měl běžet až v25.0.0 „Prog Noir“ (2018-červenec-12) .
Od verze 9.7.1-build4 ,
MACOSX_DEPLOYMENT_TARGET
aLSMinimumSystemVersion
jsou nastaveny na10.9
. f
OS X Mountain Lion (10.8) může spustit až v9.7.1-build2 „Pandemonium“ (2016-prosinec-27) .
Od verze 8.2.2 se zobrazuje zpráva„ README.Soubor macOS.txt „uvádí, že
works only with Mac OS X 10.9 and higher
, přestožeLSMinimumSystemVersion
je stále na10.8.0
, by mohl běžet v Mountain Lion 10.8.Dále není nastaven
MACOSX_DEPLOYMENT_TARGET
, takže by měl cílit na jakoukoli verzi operačního systému zabudováno. g Jako v9.7.0-build2 a v9.7.1-build2 byly postaveny v Sierře 10.12, nevyhrály v Yosemite 10.10 ani v El Capitanu 10.11 (ačkoli poběží v Mavericks 10.9 a Mountain Lion 10.8, které toto omezení zřejmě ignorují). Přečtěte si příslušnou diskusi zde .
Komentáře
- Toto funguje, ale ‚ po jednom – viz apple.stackexchange.com/questions / 367737 / … pro hromadnou metodu.
- Může potvrdit, že to funguje pro jeden soubor najednou.
- ano není vhodný pro hromadný provoz. O to se už postaraly další odpovědi. To je pro malá díla, když se ‚ neobtěžujete zkontrolovat parametry cli (
mkvpropedit --help
).
Odpověď
Stačí otevřít soubor v přehrávači VLC, Ctrl + I, vybrat požadovaná metadata, název atd., změnit a poté v dolní části klikněte na „Uložit data“. To je vše.
Není potřeba žádný další externí editor.
Komentáře
- To je v OP. Řekl nefungovalo to ‚.
- Zkoušel jsem to pomocí VLC na macu a funguje to. Musíte jen kliknout na “ Uložit metadata “ tlačítko v okně Informace o médiích. ‚ Není to nejjednodušší najít.
- Myslím, že se může stát, že když to změníte, uloží se to, ale pokud to prostě smažete, nebude to ‚ t.
- @Tetsujin je správné, pokud zadáte prázdnou hodnotu, nebude ji akceptovat, bude to vypadat, že ‚ funguje, ale když znovu zkontrolujete, stará hodnota stále existuje, takže ‚ lze snadno předpokládat, že “ nefunguje ‚ nefunguje “ a svým způsobem si myslím, že to není ‚ t. Stručně řečeno, můžete smazat, prostě změnit na něco jiného.
- nefunguje, i když kliknete na “ uložit metadata „. Na první pohled se zdá, že funguje, ale jakmile soubor znovu otevřete ve VLC, uvidíte, že stará hodnota je stále přítomna. Testováno pomocí souboru MKV.
Odpověď
Stáhlo se spousta souborů, z nichž mnohé obsahovaly *** v něm název jako rozšíření další odpověď vytvořil můj vlastní skript.
Změní název pro všechny .mkv
soubory v adresáři (a jeho podadresářích), zatímco požadují příslušnou akci. Akce jsou „Ponechat název? [1] / Zadejte nový název? [2] / Použít název souboru jako název filmu? [3]“.
Mohlo by se to později aktualizovat na github , tady je to, co prozatím existuje:
#!/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
Odpovědět
MetaX pro Windows označí soubory MKV (stejně jako soubory MP4, M4V, WMV a AVI). Rovněž vyhledává na internetu informace, které lze použít pro označování (přebaly, herci, …)
line 8: -4: substring expression < 0
. Musel jsem změnit mkvpropedit “ $ mkvfile “ -e info -s title = “ $ {mkvfile :: – 4} “ to mkvpropedit “ $ mkvfile “ -e info -s title = “ $ {mkvfile :: $ {# mkvfile} -4} “ Možná to pomůže ostatním se stejným problémem .