Batch file 如果没有用户输入,m3u8的VLC批处理转换将不会移动到下一个文件
我有一个批处理文件,应该打开文件夹中的每个m3u8文件,将其流式传输到mp4文件,然后移动到下一个文件。视频的长度各不相同,m3u8文件中似乎没有关于长度的任何信息。批处理文件可以工作,但当到达流的末尾时,它会显示{0048ef84}主播放列表debug:dead input,然后它只是暂停并等待。如果我关闭命令提示符窗口,另一个窗口会询问我是否要结束批处理,如果我说不,它会弹出另一个窗口并移动到下一个文件。有没有人知道我可以不用用户输入就能做到这一点?代码如下:Batch file 如果没有用户输入,m3u8的VLC批处理转换将不会移动到下一个文件,batch-file,vlc,Batch File,Vlc,我有一个批处理文件,应该打开文件夹中的每个m3u8文件,将其流式传输到mp4文件,然后移动到下一个文件。视频的长度各不相同,m3u8文件中似乎没有关于长度的任何信息。批处理文件可以工作,但当到达流的末尾时,它会显示{0048ef84}主播放列表debug:dead input,然后它只是暂停并等待。如果我关闭命令提示符窗口,另一个窗口会询问我是否要结束批处理,如果我说不,它会弹出另一个窗口并移动到下一个文件。有没有人知道我可以不用用户输入就能做到这一点?代码如下: @ECHO OFF FOR
@ECHO OFF
FOR /R %%G IN (*.m3u8) DO (CALL :SUB_VLC "%%G")
FOR /R %%G IN (*.m3u8.mp*) DO (CALL :SUB_RENAME "%%G")
GOTO :eof
:SUB_VLC
SET _firstbit=%1
SET _qt="
CALL SET _newnm=%%_firstbit:%_qt%=%%
SET _commanm=%_newnm:,=_COMMA_%
REM echo %_commanm%
CALL "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" -I dummy -vvv %1 --file-caching=300 --sout=#transcode{vcodec="h264",acodec="mpga",ab="128","channels=2",samplerate="44100"}:standard{access="file",mux="mp4",dst="%_commanm%.mp4"} vlc://quit
GOTO :eof
:SUB_RENAME
SET _origfnm=%1
SET _endbit=%_origfnm:*.m3u8=%
CALL SET _newfilenm=%%_origfnm:.m3u8%_endbit%=.mp4%%
SET _newfilenm=%_newfilenm:_COMMA_=,%
COPY %1 %_newfilenm%
DEL %1
GOTO :eof
:eof
删除这里的顶行:如果我是正确的,它是不需要的
vlc://quit
GOTO :eof
调用VLC的行在这里工作,并以它应该的方式结束-因此要检查此行为的另一项在
VLC工具菜单>首选项,在Inferface小节中有一个复选框,可在可能影响您的视频的最后一帧暂停
启动VLC不需要CALL关键字,但它仍然可以使用
编辑
这将使用与代码相同的VLC命令。在命令行上启动带有一个file.m3u8的批处理文件,如下所示,它将对文件进行转码,VLC退出后,您将看到一个提示,点击任意键将重新启动同一文件:
changefile.bat my file.m3u8
如果您没有看到VLC在未关闭它的情况下退出,那么必须对VLC的问题进行排序
让我知道结果
@echo off
:loop
set "_commanm=file"
CALL "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" -I dummy -vvv %1 --file-caching=300 --sout=#transcode{vcodec="h264",acodec="mpga",ab="128","channels=2",samplerate="44100"}:standard{access="file",mux="mp4",dst="%_commanm%.mp4"} vlc://quit
echo VLC has quit
pause
goto :loop
pause
谢谢你……我做到了,但没有产生任何影响。虚拟窗口仍然在结尾处暂停,我需要手动关闭它,然后回答“否”以结束批处理,使其移动到未选择该选项的下一个文件。也许我可以给你一个m3u8文件,你可以自己看看发生了什么?[016161a4]主音频输出调试:删除模块directsound这很奇怪,因为实际上视频文件在这一点上是完整的。它完全可播放,音频和视频工作正常。是的,我认为关闭时可能是VLC中的一个bug。