在 Raspberry Pi 和 Python 上流式传输 YouTube 播放列表
Streaming a YouTube playlist on Raspberry Pi and Python
我正在开发基于 Raspberry Pi (2 B+) 的语音助手,我希望集成的功能之一是随时播放我的播放列表。
我试过在 os.system 中使用 youtube-dl 和 mplayer,就像这样,受到 this 答案
的启发
youtube-dl --playlist-random -o - "https://www.youtube.com/playlist?list=PLFepKcct_CJG0mu-nb-HvQ52FRKTEO6hT" | mplayer -
我知道 youtube-dl
将下载视频并将流通过管道发送到 mplayer
,后者将播放音乐。
发生的事情是代码完美地播放了第一个视频,但是一旦视频结束,mplayer
就会停在最后一帧。尽管我可以看到 youtube-dl
正在下载播放列表中的视频,但它没有继续播放下一个视频。
有什么方法可以使用 youtube-dl
无缝播放播放列表中的多首歌曲?
您可以试试 omxplayer
...
试试这个带有命名管道的小 sh 脚本
第一 mkfifo /home/midia/omxfifo
然后将此脚本保存在 script.sh
和 chmod +x
:
下方
#!/bin/bash
FileToPlay=""
for LINK in $(cat $FileToPlay)
do
echo "Playing : $LINK"
omxplayer -o hdmi --vol -2 $(youtube-dl -g -f mp4 $LINK)</home/midia/omxfifo>/dev/null 2>&1 & echo -n '' >/home/midia/omxfifo
echo "$LINK" >> watched.log
done
像这样调用脚本:
./script.sh file_with_yt_url.txt
我正在开发基于 Raspberry Pi (2 B+) 的语音助手,我希望集成的功能之一是随时播放我的播放列表。
我试过在 os.system 中使用 youtube-dl 和 mplayer,就像这样,受到 this 答案
的启发youtube-dl --playlist-random -o - "https://www.youtube.com/playlist?list=PLFepKcct_CJG0mu-nb-HvQ52FRKTEO6hT" | mplayer -
我知道 youtube-dl
将下载视频并将流通过管道发送到 mplayer
,后者将播放音乐。
发生的事情是代码完美地播放了第一个视频,但是一旦视频结束,mplayer
就会停在最后一帧。尽管我可以看到 youtube-dl
正在下载播放列表中的视频,但它没有继续播放下一个视频。
有什么方法可以使用 youtube-dl
无缝播放播放列表中的多首歌曲?
您可以试试 omxplayer
...
试试这个带有命名管道的小 sh 脚本
第一 mkfifo /home/midia/omxfifo
然后将此脚本保存在 script.sh
和 chmod +x
:
#!/bin/bash
FileToPlay=""
for LINK in $(cat $FileToPlay)
do
echo "Playing : $LINK"
omxplayer -o hdmi --vol -2 $(youtube-dl -g -f mp4 $LINK)</home/midia/omxfifo>/dev/null 2>&1 & echo -n '' >/home/midia/omxfifo
echo "$LINK" >> watched.log
done
像这样调用脚本:
./script.sh file_with_yt_url.txt