Format de retour YT-DLP (m3u8)
P粉920835423
P粉920835423 2024-03-29 10:19:34
0
1
492

J'ai un site Web fonctionnant sur Node.js, avec Express sur le backend, qui à son tour appelle un script .py pour télécharger l'audio demandé par l'utilisateur à l'aide de yt-dlp. Lorsque j'exécute le site sur localhost, tout fonctionne correctement et j'obtiens une URL téléchargeable .mp4 que je peux insérer directement dans l'audio JavaScript.

Cependant, lorsque je déploie le site Web sur Heroku, le même script .py 脚本给了我一个 .m3u8 url,它是一个音频播放列表,并且需要额外的步骤,例如 hls me donne une URL .m3u8 qui est une liste de lecture audio et nécessite des étapes supplémentaires comme hls pour jouer en utilisant JavaScript.

Ma question est de savoir pourquoi cela se produit.

Mon buildpack Heroku contient nodejspython。我是否缺少 FFmpegExtractAudio quelques options de format yt-dlp ici ou ci-dessous ?

Mon .py script est

ydl_opts = {
'format': 'bestaudio/best',
'quiet': True,
'postprocessors': [{
    'key': 'FFmpegExtractAudio',
    'preferredcodec': 'mp3',
    'preferredquality': '192',
}],}

with yt_dlp.YoutubeDL(ydl_opts) as ydl:
try:
    info = ydl.extract_info("ytsearch:%s" %
                            requestedAudio, download=False)['entries'][0]
    # code follows...
except yt_dlp.utils.DownloadError or yt_dlp.utils.ExtractorError:
    # code follows...

P粉920835423
P粉920835423

répondre à tous(1)
P粉459440991

Edit : Pour ceux qui ont des problèmes similaires, j'ai pu résoudre le problème en modifiant les options yt-dlp. Plus précisément, j'ai ajouté le drapeau formatextractor_args. Remarque : Le code ci-dessus s'exécute sur localhost, le code ci-dessous s'exécute sur l'application Web déployée par Heroku ainsi que sur localhost. Bon codage !

ydl_opts = {
'format': '(bestaudio/best)[protocol~="^https?$"]',
'quiet': True,
'noplaylist': True,
'postprocessors': [{
    'key': 'FFmpegExtractAudio',
    'preferredcodec': 'mp3',
    'preferredquality': '192',
}],
'extractor_args': {'youtube':{'player_client': ['android', 'web']}},
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal