yt-dlp + mpv 链式媒体播放

yt-dlp + mpv 链式媒体播放

我一直习惯在运行播放yt-dlp之前下载音频文件。mpv

我一直在专门使用以下命令:

yt-dlp -f ba "ytsearch:major artist cool music"

mpv [Title of the audio file downloaded].webm

现在,令我困扰的是,我更希望有一个超级命令来链接它们两个,而不必在下载结束后等待并跟进 mpv 命令。

下载文件的瓶颈是可以理解的,文件名的随机性也是合理的,因为搜索条件取决于 YouTube 的算法来返回最佳搜索。

是否有一个命令可以预先知道最近下载的文件,并允许mpv在下载完成后立即播放该文件,而不管其文件名如何?

我尝试过通常的管道,yt-dlp ... | mpv但它产生了错误。我对 UNIX 的理解仍然不够,但我会根据您的建议来解决这个问题。

添加到我个人对此脚本问题的调试,例如:

mpv | yt-dlp -f ba "ytsearch:selena gomez good for you remix lyrics" -

产生此错误:

错误:[通用] 无:“-”不是有效的 URL。设置 --default-search "ytsearch" (或运行 yt-dlp "ytsearch:-" )来搜索 YouTube

yt-dlp通过pip(Python 3.11)下载。

所有这些都在 Windows 11 终端 (Windows Powershell) 中运行。但我不明白为什么它不能应用于 (U/Li)nux

答案1

man mpv说有一个ytdl://协议,以便您可以将其 youtube-dl 脚本用于任何 URL:

mpv --ytdl-format=ba 'ytdl://ytsearch:major artist cool music'

答案2

mpv $(yt-dlp -f ba "ytsearch:song/music description" -g)

相关内容