我想并行处理下载实时流的命令。 因此,如果它有4个部分,并且PARTS
变量包含数字4,它应该打开4个新的cmd窗口并处理单个部分。使用管道命令进行并行处理
阅读了很多关于我来到了以下解决方案并行处理后:
set /p URL=Enter video URL:
set /p NAME=Enter video name:
set /p PARTS=Enter Number of Parts:
for /l %%x in (1, 1, %PARTS%) do (
start cmd /C "C:\Program Files (x86)\Streamlink\bin\streamlink.exe" -O "%URL%/%%x" best | ffmpeg -y -i pipe:0 -c:v copy -c:a copy -absf aac_adtstoasc "%NAME%p%%x.mp4"
)
似乎有与|
命令的问题虽然因为这个脚本会打开启动和输出后随即关闭窗口的管道命令ffmpeg -y -i pipe:0 -c:v copy -c:a copy -absf aac_adtstoasc "%NAME%p%%x.mp4
将显示在执行脚本的初始cmd窗口中。
如何更改它,以便在新窗口中执行整个命令?
在整个命令行周围放入另一对引号来执行:'start cmd/C“”C:\ Program Files(x86)\ Streamlink \ bin \ streamlink.exe“-O”%URL%/ %% x“best | ffmpeg -y -i pipe:0 -c:v copy -c:a copy -absf aac_adtstoasc”%NAME%p %% x.mp4“”' – Stephan
这会抛出''\ Streamlink \ bin \ streamlink。 exe“在这一点上不能被语法处理。' – maddo7
对不起 - 关闭'''':start cmd/C”“C:\ Program Files(x86 ^)\ Streamlink \ bin \ streamlink.exe”-O“ %URL%/ %% x“最佳| ffmpeg -y -i管道:0 -c:v复制-c:复制-absf aac_adtstoasc”%NAME%p %% x.mp4“”' – Stephan