#windows #powershell #mp4 #exiftool #microsoft-file-explorer
#Windows #powershell #МР4 #exiftool #microsoft-file-explorer
Вопрос:
Я пытался найти способ отредактировать раздел «Теги», заменив его разделом «Заголовок» для MP4.
Проблема в том, что я не могу сделать это с помощью ExiftTool, MP3Tag, MediaMonkey, и это кошмар, пытаться вручную щелкнуть правой кнопкой мыши и изменить теги для каждого отдельного файла.
Ближе всего мне подошло приложение под названием MP4 Video amp; Auto Tag Editor, поскольку оно позволяет редактировать Microsoft Xtra Atoms, но alas…it у него нет способа сделать это для всего каталога
Я нашел этот скрипт PowerShell, и он показывает все метаданные.
Однако я не знаю, как точно отредактировать раздел «Теги», чтобы на самом деле настраивать и обменивать значения. Я знаю, что ExiftTool может только «читать», а не «писать», поэтому я больше всего боюсь, что столкнусь с той же проблемой.
SRCDIRECTORY представляет каталог, который я использую…
Function Get-MP3MetaData
{
[CmdletBinding()]
[Alias()]
[OutputType([Psobject])]
Param
(
[String] [Parameter(Mandatory=$true, ValueFromPipeline=$true)] $Directory
)
Begin
{
$shell = New-Object -ComObject "Shell.Application"
}
Process
{
Foreach($Dir in $Directory)
{
$ObjDir = $shell.NameSpace($Dir)
$Files = gci $Dir| ?{$_.Extension -in '.mp3','.mp4'}
Foreach($File in $Files)
{
$ObjFile = $ObjDir.parsename($File.Name)
$MetaData = @{}
$MP3 = ($ObjDir.Items()|?{$_.path -like "*.mp3" -or $_.path -like "*.mp4"})
$PropertArray = 0,1,2,12,13,14,15,16,17,18,19,20,21,22,27,28,36,220,223
Foreach($item in $PropertArray)
{
If($ObjDir.GetDetailsOf($ObjFile, $item)) #To avoid empty values
{
$MetaData[$($ObjDir.GetDetailsOf($MP3,$item))] = $ObjDir.GetDetailsOf($ObjFile, $item)
}
}
New-Object psobject -Property $MetaData |select *, @{n="Directory";e={$Dir}}, @{n="Fullname";e={Join-Path $Dir $File.Name -Resolve}}, @{n="Extension";e={$File.Extension}}
}
}
}
End
{
}
}
ForEach($item in ("SRCDIRECTORY" |Get-MP3MetaData)){
$itemTitle = $item.Title
$itemTags = $item.Tags
}
Комментарии:
1. Вы можете попробовать ffmpeg с помощью switch
-metadata
.2. @Тео, я не верю, что ffmpeg может редактировать атомы Microsoft Xtra.
3. После поиска в Google и игры с
exiftool
иffmpeg
, могу подтвердить, ни один из них не будет работать. exiftool может записывать в тег категории … только не вMicrosoft:Category
тег. Я также не смог найти никаких библиотек программирования или чего-либо, что могло бы работать.4. То же самое… Я только что попытался использовать TagLib, и даже тогда он не позволяет мне обновлять эту информацию. На самом деле, это вообще ничего не показывает. Единственное, что было близко к тому, чтобы делать то, что я хочу, — это приложение под названием MP4 Video amp; Auto Tag Editor, но не позволяло редактировать каждый файл сразу.