我想使用Start-process
来运行ffmpeg。我不能让它正常工作,因为它没有做任何事情。
&$script:ffmpeg
可以使用相同的FFmpeg参数,因此它们不是问题。
# vars
$Temp = 'C:\Temp';
$script:ffmpeg = "C:\encoder\ffmpeg\bin\ffmpeg.exe";
$inputFile = 'C:\Temp\Sequence 07_1_08.mxf'
$outputFile = 'C:\Temp\testfile.mp4'
# Start-Process
$argument = "-i $inputFile -an -pix_fmt yuv420p -c:v libx264 -crf 23 -profile:v high -level 4.1 -aspect 16:9 -flags +ildct+ilme -x264opts weightp=0:tff=1 $outputFile"
Start-Process $script:ffmpeg -ArgumentList $argument #-Wait -NoNewWindow
# &$script:ffmpeg
&$script:ffmpeg -i $($inputFile) -an -pix_fmt yuv420p -c:v libx264 -crf 23 -profile:v high -level 4.1 -aspect 16:9 -flags +ildct+ilme -x264opts weightp=0:tff=1 $outputFile
答案 0 :(得分:1)
您的输入文件名“Sequence 07_1_08.mxf”中有一个空格,因此您需要在ArgumentList
参数的参数中使用文件名周围的引号。这开始变得复杂,因此使用调用操作符(&)通常更容易。
这里介绍了在参数中使用引号,所以我不打算回答:How to start a process in powershell with arguments in quotes?