我正在尝试使用Ruby和TK构建音乐播放器/播放列表制作器。我仍然没有找到一种方法来播放youtube视频(实际上只有声音),我不想下载然后播放这首歌,因为这需要太长时间。如果没有某种嵌入式播放器,我无法直接找到有关流式传输的信息。
有谁知道我怎么能最好地解决这个问题?
答案 0 :(得分:1)
似乎是一个有趣的项目,所以我搜索了一下。从此reddit帖子:List.of
,此代码使用mpv
程序来传输音频:
mpv "https://www.youtube.com/watch?v=sVK5Z6wnMxg" --no-video
该网址是目前正在发生的Bonaroo音乐节目的直播。我尝试了它,它确实启动了音频。在引擎盖下,这是使用Tip: Use mpv + youtube-dl as streaming audio player,在手册页中有这个注释:
如何直接流式传输到媒体播放器?
您首先需要告诉youtube-dl要流式传输 媒体用-o - stdout,并告诉你我 - dia玩家从stdin读取(它必须有能力 这对于流媒体)然后管道前 后者。例如,流式传输到vlc (youtube-dl)可以通过以下方式实现:
youtube-dl -o - " http://www.videolan.org/" | vlc -
因此,如果您想将流传递给其他媒体播放器,那么这将是一个很好的起点。
就Ruby而言;好吧,这本身并不是一个Ruby解决方案,你只需使用反引号,system
,Process.spawn
,fork
等从Ruby调用shell程序。 。