Мне нужно использовать ffmpeg-normalize (https://github.com/slhck/ffmpeg-normalize) в моем проекте.
Все работает хорошо, за исключением того, что в Windows возникают проблемы с кодированием:
$OutputEncoding = [System.Text.Encoding]::Unicode
$OutputEncoding
Get-WinSystemLocale
pause
Get-ChildItem -path "./" -recurse | foreach ($_) {
if ($_.Extension -eq ".wav") {
write $_.FullName
ffmpeg-normalize $_.FullName -nt peak -t -20 -o $_.FullName -f
pause
}
if ($_.Extension -eq ".mp4") {
ffmpeg-normalize $_.FullName -c:a aac -nt peak -t -20 -o $_.FullName -f
}
if ($_.Extension -eq ".mp3") {
ffmpeg-normalize $_.FullName -c:a libmp3lame -nt peak -t -20 -o $_.FullName -f
}
}
и вотдисплей
BodyName : utf-16
EncodingName : Unicode
HeaderName : utf-16
WebName : utf-16
WindowsCodePage : 1200
IsBrowserDisplay : False
IsBrowserSave : True
IsMailNewsDisplay : False
IsMailNewsSave : False
IsSingleByte : False
EncoderFallback : System.Text.EncoderReplacementFallback
DecoderFallback : System.Text.DecoderReplacementFallback
IsReadOnly : True
CodePage : 1200
Parent : en
LCID : 1033
KeyboardLayoutId : 1033
Name : en-US
IetfLanguageTag : en-US
DisplayName : English (United States)
NativeName : English (United States)
EnglishName : English (United States)
TwoLetterISOLanguageName : en
ThreeLetterISOLanguageName : eng
ThreeLetterWindowsLanguageName : ENU
CompareInfo : CompareInfo - en-US
TextInfo : TextInfo - en-US
IsNeutralCulture : False
CultureTypes : SpecificCultures, InstalledWin32Cultures, FrameworkCultures
NumberFormat : System.Globalization.NumberFormatInfo
DateTimeFormat : System.Globalization.DateTimeFormatInfo
Calendar : System.Globalization.GregorianCalendar
OptionalCalendars : {System.Globalization.GregorianCalendar, System.Globalization.GregorianCalendar}
UseUserOverride : True
IsReadOnly : False
Press Enter to continue...:
C:\Users\user\Desktop\a\b\d\e\audio - Copy.wav
WARNING: Output file only supports one stream. Keeping only first audio stream.
Press Enter to continue...:
C:\Users\user\Desktop\a\b\d\不\audio - Copy.wav
ERROR: file C:\Users\user\Desktop\a\b\d\?\audio - Copy.wav does not exist
Press Enter to continue...:
C:\Users\user\Desktop\a\c\audio - Copy.wav
WARNING: Output file only supports one stream. Keeping only first audio stream.
Press Enter to continue...:
Программа хорошо работает на MacOS, поэтому я не думаю, что это проблема программного обеспечения. Похоже, что PowerShell неправильно передает параметр в программу.
Doу вас есть идеи?
Спасибо