Public/Get-JVMediaInfo.ps1
function Get-JVMediaInfo { [CmdletBinding()] param ( [Parameter(Mandatory = $true, Position = 0)] [System.IO.FileInfo]$Path ) $fullMetadata = ((mediainfo --Full $Path --Output=JSON) | ConvertFrom-Json).media.track $videoMetadata = $fullMetaData | Where-Object { $_.'@type' -eq 'Video' }[0] $audioMetadata = ($fullMetaData | Where-Object { $_.'@type' -eq 'Audio' })[0] $metadata = [PSCustomObject]@{ VideoCodec = $videoMetadata.CodecID VideoAspect = $videoMetadata.DisplayAspectRatio_String VideoWidth = $videoMetadata.Width VideoHeight = $videoMetadata.Height VideoDuration = [Math]::Round($videoMetadata.Duration) AudioCodec = $audioMetadata.CodecID AudioLanguage = $audioMetadata.Language AudioChannels = $audioMetadata.Channels } Write-Output $metadata } |