찾다

 >  Q&A  >  본문

YT-DLP 반환 형식(m3u8)

저는 백엔드에 Express가 있는 Node.js에서 실행되는 웹사이트가 있는데, 이 웹사이트는 yt-dlp를 사용하여 사용자가 요청한 오디오를 다운로드하기 위한 .py 스크립트를 호출합니다. localhost에서 사이트를 실행하면 모든 것이 잘 실행되고 JavaScript 오디오에 직접 공급할 수 있는 .mp4 다운로드 가능한 URL을 얻게 됩니다.

그러나 Heroku에 웹사이트를 배포할 때 동일한 .py 脚本给了我一个 .m3u8 url,它是一个音频播放列表,并且需要额外的步骤,例如 hls 스크립트는 오디오 재생 목록인 .m3u8 URL을 제공하며 JavaScript를 사용하여 재생하려면 hls와 같은 추가 단계가 필요합니다.

내 질문은 왜 이런 일이 발생하는가입니다.

내 Heroku 빌드팩에는 nodejspython。我是否缺少 FFmpegExtractAudio 여기 또는 아래에 일부 yt-dlp 형식 옵션이 포함되어 있습니까?

.py 스크립트는

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粉920835423P粉920835423271일 전520

모든 응답(1)나는 대답할 것이다

  • P粉459440991

    P粉4594409912024-03-30 00:14:27

    편집: 비슷한 문제가 있는 분들을 위해 yt-dlp 옵션을 변경하여 문제를 해결할 수 있었습니다. 특히 formatextractor_args 플래그를 추가했습니다. 참고: 위의 코드는 localhost에서 실행되고, 아래 코드는 localhost뿐만 아니라 Heroku 배포 웹앱에서도 실행됩니다. 즐거운 코딩하세요!

    으아악

    회신하다
    0
  • 취소회신하다