You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

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应该是VLC运行时的指令,可能得整合到第一个启动命令里?但这是无限循环的直播流,不是普通的音频文件,不知道这么搞行不行...


240212 更新:已实现可行方案

后来得到帮助后,我做了两个批处理文件,分别负责播放控制和启停操作,还调整了不少细节:比如去掉了播放脚本里的固定路径,让它能在当前目录运行;加了说明文字,让用户知道怎么操作;每个音质和地区的直播流都单独做一套文件;还在启停脚本里加了MODE命令,让命令窗口变得小巧精致。当然前提是VLC安装在命令里指定的默认路径。

播放脚本:VLC CBC Radio 1 - Calgary Alberta 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 - Calgary Alberta 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

备注:内容来源于stack exchange,提问作者Jake Sherlock

火山引擎 最新活动