-1

我使用 pafy 模块以 m4a 和 webm 格式获取 YouTube 视频的音频下载链接,我想在不简单下载的情况下进行蒸汽。我怎样才能实现它?

例如:对于这个链接https://www.youtube.com/watch?v=3tmd-ClpJxA [Taylor Swift - Look What You Made Me Do],我看到了这个质量最好的 m4a 格式链接(还有另一个格式webm但我认为 m4a 是最好的,不是吗?很想听听意见)

m4a: http: //r2---sn-52vaavvoapox-itql.googlevideo.com/videoplayback?id=ded99df829692710&itag=140&source=youtube&ms=au&ei=DRvmWa-kDtr9oQObxIuACw&pl=24&mv=m&initcwndbps=285000&mn=sn-52vaavvoapox-itql&mm=3 yes&mime=audio/mp4&gir=yes&clen=4061037&lmt=1507168899082254&dur=255.651&mt=1508252315&signature=595AD7F495FC0DA98D8332BDF2A760A3CFA727C5.5FD2DE38A2F5575E0392BA54345D405999A72AE3&key=dg_yt0&ip=103.200.41.86&ipbits=0&expire=1508274029&sparams=ip,ipbits,expire,id,itag,source,ms,ei,pl, mv,initcwndbps,mn,mm,ratebypass,mime,gir,clen,lmt,dur

那么我该如何流式传输而不是简单地下载它。

此外,如果您认为这里已经提出过此类问题,请接受我的道歉并让我知道

4

2 回答 2

2

如果您只是想从特定 URL 播放/流式传输音频,您可以尝试vlc绑定python. 更多细节在这里

它可以安装为pip install python-vlc

这是一个直接从 URL 流式传输音频的示例代码。player对象增加了音频播放器的优势,例如暂停、恢复、停止等控件。

使用的 URL 是m4a有问题的 url。

源代码

import vlc
import time
url = "http://r2---sn-q4fl6nlr.googlevideo.com/videoplayback?id=ded99df829692710&itag=140&source=youtube&ei=DRvmWa-kDtr9oQObxIuACw&pl=32&ratebypass=yes&mime=audio/mp4&gir=yes&clen=4061037&lmt=1507168899082254&dur=255.651&signature=4380D44827E745850E8034A17DD2CF71493515B2.49EE0269B463E530D2C05D79E658319E3354F4B5&key=cms1&ip=103.200.41.86&ipbits=0&expire=1508274029&sparams=clen,dur,ei,expire,gir,id,initcwndbps,ip,ipbits,ipbypass,itag,lmt,mime,mip,mm,mn,ms,mv,pl,ratebypass,source&rm=sn-52vaavvoapox-itql7l,sn-h55z7z&req_id=ac17cbf87900a3ee&redirect_counter=2&fexp=23702512&cms_redirect=yes&ipbypass=yes&mip=2605:6000:ec02:7e00:6d00:a5a1:a309:abb6&mm=30&mn=sn-q4fl6nlr&ms=nxu&mt=1508259877&mv=m"

#define VLC instance
instance = vlc.Instance('--input-repeat=-1', '--fullscreen')

#Define VLC player
player=instance.media_player_new()

#Define VLC media
media=instance.media_new(url)

#Set player media
player.set_media(media)

#Play the media
player.play()

一些player控制

>>> play.pause()  #pause play back
>>> player.play() #resume play back
>>> player.stop() #stop play back
于 2017-10-17T17:10:52.330 回答
0

要打开该网站,您可以在桌面上有一个指向该网站或任何地方的快捷方式,然后您可以从那里使用此代码打开它。希望这可以帮助。

import pyglet
import os
os.system("start \\\\ph-fss1\Students\S39055\Desktop\\love.jpg")

music = pyglet.resource.media('\\\\ph-fss1\Students\S39055\Desktop\\love.jpg')
music.play()

pyglet.app.run()
love = True

if love == True:
    os.system("start \\\\ph-fss1\Students\S39055\Desktop\\love.jpg")

music = pyglet.resource.media('\\\\ph-fss1\Students\S39055\Desktop\\love.jpg')
music.play()

pyglet.app.run()
于 2017-10-17T15:20:19.777 回答