VLC 命令行 - 运行流然后退出

VLC 命令行 - 运行流然后退出

我正在制作 Windows 批处理文件,可以运行这些文件并在 VLC 中监听流,然后按任意键退出并停止流。这似乎有效,但我可以看到启动 VLC 后批处理冻结。这是有道理的,因为 VLC 现在正在运行中间命令,但现在我不确定在通过命令启动 VLC 后是否可以停止它?

添加其他东西会很有趣,例如当前比特率和其他东西,但我对 VLC 命令等了解不够。

@ECHO OFF
cls
ECHO CBC Radio 1 - Calgary, Alberta
"C:\Program Files\VideoLAN\VLC\vlc.exe" -I dummy --dummy-quiet "https://cbcradiolive.akamaized.net/hls/live/2041039/ES_R1MCG/master.m3u8"
ECHO Press any key to quit.
PAUSE
vlc "https://cbcradiolive.akamaized.net/hls/live/2041039/ES_R1MCG/master.m3u8" vlc://quit

我认为 vlc://quit 是在应用程序运行时使用的,实际上可能是第一个命令的一部分。但是,这不是结束 mp3。这是无尽的直播……

我找到了一个很好的答案如何在 Windows 中将 VLC 作为命令行命令运行链接到一个同样很棒的原始问题。我想发表评论,但在过去 6 年里,我的声誉为 0,因此无法发表评论。更多信息我来自https://nevillepark.ca/2019/09/17/cbc-radio-stream-urls/

--== 240212 跟进 ==--

谢谢https://superuser.com/users/576138/narzard

我创建了两个文件。 VLC CBC Radio 1 - 卡尔加里艾伯塔 192 Player.bat & VLC RUN-STOP CBC Radio 1 - 卡尔加里艾伯塔 192.bat

我从“radio.bat”命令中删除了 C 目录,以便它在当前目录中运行。添加了一些措辞,以便播放器解释它是什么。我还对其进行了结构化,以便每个质量和位置都是它自己的文件集。将 MODE 添加到 RUN-STOP,以便 cmd 窗口大小可以很好地适应屏幕。我想我可以用这个。当然,预计 VLC 安装在命令的目录中。

最终的窗口大小和外观。

VLC CBC Radio 1 - 卡尔加里艾伯塔 192 Player.bat包含这个;

title CBC Radio 1 - Calgary Alberta 192 Player
@ECHO OFF
cls
ECHO PLAYER ONLY
ECHO Use 'Start' file to stop and close player.
ECHO ===========================================
ECHO Feed: CBC Radio 1 - Calgary, Alberta
ECHO Quality: 192kbps
ECHO Link: 'https://cbcradiolive.akamaized.net/hls/live/2041039/ES_R1MCG/adaptive_192/chunklist_ao.m3u8'
"C:\Program Files\VideoLAN\VLC\vlc.exe" -I dummy --dummy-quiet "https://cbcradiolive.akamaized.net/hls/live/2041039/ES_R1MCG/adaptive_192/chunklist_ao.m3u8"

VLC RUN-STOP CBC Radio 1 - 卡尔加里艾伯塔 192.bat包含这个;

title RUN/STOP CBC Radio 1 - Calgary, Alberta 192
@ECHO OFF
MODE 45,2
start /MIN cmd.exe /k "VLC CBC Radio 1 - Calgary Alberta 192 Player"
cls
echo Press any key to stop playback and close.
pause
taskkill /f /fi "WINDOWTITLE eq vlc*"
taskkill /f /fi "WINDOWTITLE eq CBC Radio 1 - Calgary Alberta 192 Player"
exit

答案1

您可以制作 2 个批处理文件,第一个可以启动无线电流并允许退出处理。

启动流

start /MIN cmd.exe /k "C:\temp\radio.bat"
echo Press any key to close
pause
taskkill /f /fi "WINDOWTITLE eq radio*"
exit

广播程序

title radio
ECHO CBC Radio 1 - Calgary, Alberta
"C:\Program Files\VideoLAN\VLC\vlc.exe" -I dummy --dummy-quiet "https://cbcradiolive.akamaized.net/hls/live/2041039/ES_R1MCG/master.m3u8"

您只需单击StartStream.bat,它就会在后台启动第二个 cmd 窗口。第二个批处理将启动广播并将窗口标题设置为“radio”。因此,在第一个批处理中,我们能够使用 taskkill 直接停止流,然后使用 exit 关闭自身。您唯一需要更改的是 StartStream.bat 第 1 行中的文件路径,以指向您的第二个批处理。

相关内容