YT-DLP 반환 형식(m3u8)
P粉920835423
P粉920835423 2024-03-29 10:19:34
0
1
490

저는 백엔드에 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粉920835423
P粉920835423

모든 응답(1)
P粉459440991

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

으아악
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿