python - VLC Python 无法播放 YouTube 视频

标签 python youtube vlc libvlc

尝试播放带有 VLC media player 的 YouTube URL 时通过 Python 绑定(bind),视频实际上并未播放。

这是我的播放代码:

    def play(self, mrl):

    self.instance = vlc.Instance()

    try:
        self.media = self.instance.media_new_location(mrl)
    except NameError:
        print('NameError: %s (%s vs LibVLC %s)' % (sys.exc_info()[1],
                                                   vlc.__version__,
                                                   vlc.libvlc_get_version()))

    self.player = self.instance.media_player_new()
    self.player.set_media(self.media)

    event_manager = self.player.event_manager()
    event_manager.event_attach(vlc.EventType.MediaPlayerEndReached, self.end_callback)

    self.player.play()

    while self.stillPlaying:
        #do nothing
        pass

我这样调用它:

    play("http://www.youtube.com/watch?v=2hP-UGqA1Ek")

如果您确实使用 VLC 媒体播放器播放此类链接,它会“找到”视频并播放它。但我的代码所发生的只是页面的标准 HTTP GET,以及从 YouTube 返回页面内容,但没有视频。

最佳答案

这是因为您提供的链接不是视频的链接。 VLC 媒体播放器可以获取 YouTube 视频的实际链接,但 libVLC 不会这样做。

关于python - VLC Python 无法播放 YouTube 视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11436864/

相关文章:

python - 使用 python 中的列表简化代码

python - windows上新conda环境下无法打开jupyter笔记本

javascript - 完成后关闭 YouTube 视频 iframe 不工作

ios - UIWebView 嵌入式 YouTube 视频播放的状态栏问题

ios - 如何使 VLCMediaPlayer 静音

c++ - 如何使用ffmpeg输出媒体流?

python - 我们可以将 Databricks 输出传递给 ADF 作业中的函数吗?

python - 在 Linux Python/pip 上构建 cyrus-sasl 后无法看到 sasl.h 文件

regex - 在Perl中的两个字符串之间进行摸索

python - 获取的视频状态与 if 函数中输入的字符串值不匹配