如何在 Python 3 中使用 youtube-dl 流式传输视频
How to stream a video with youtube-dl in Python 3
我想在 python 中流式传输 YouTube 视频的音频,youtube-dl
允许我下载视频(在我的情况下是音频),但该过程可能需要一些时间。我的 objective 是能够流式传输音频 'dynamically',就像我在观看 YouTube 视频一样。我想开始播放音频并同时下载其余部分。
我知道 youtube-dl
命令行程序允许将视频流式传输到媒体播放器,例如 VLC:
youtube-dl -o - -- "[videoID]" | vlc -
。我可以创建一个子进程并执行该命令,但如果可能的话,我更愿意使用更简洁的方式。
我希望稍后可以将某种数据传输到音频设备。我不需要将音频存储在文件中,但是如果有一个临时文件也没什么大不了的。
不幸的是,这是不可能的。 Youtube-DL 没有公开使这变得简单的 API 。 This 是 Youtube-DL 打开文件(或标准输出)进行写入的位置。它并不是为了方便切换输出流而编写的。
如果您确实需要此功能,只对其进行子处理并通过管道输出可能会更容易。
我想在 python 中流式传输 YouTube 视频的音频,youtube-dl
允许我下载视频(在我的情况下是音频),但该过程可能需要一些时间。我的 objective 是能够流式传输音频 'dynamically',就像我在观看 YouTube 视频一样。我想开始播放音频并同时下载其余部分。
我知道 youtube-dl
命令行程序允许将视频流式传输到媒体播放器,例如 VLC:
youtube-dl -o - -- "[videoID]" | vlc -
。我可以创建一个子进程并执行该命令,但如果可能的话,我更愿意使用更简洁的方式。
我希望稍后可以将某种数据传输到音频设备。我不需要将音频存储在文件中,但是如果有一个临时文件也没什么大不了的。
不幸的是,这是不可能的。 Youtube-DL 没有公开使这变得简单的 API 。 This 是 Youtube-DL 打开文件(或标准输出)进行写入的位置。它并不是为了方便切换输出流而编写的。
如果您确实需要此功能,只对其进行子处理并通过管道输出可能会更容易。