You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python脚本调用youtube-dl无法合并音视频,下载文件无音频

解决youtube-dl下载视频无音频的问题

你说得没错,这个问题确实是因为音视频流没有自动合并导致的。当你在format里指定bestvideo+bestaudio这类分离的音视频流组合时,youtube-dl默认只会分别下载这两个流,不会主动把它们合并成一个带完整音视频的文件。

下面是修改后的代码,能自动合并音视频并输出完整的MP4文件:

import youtube_dl

ydl_opts = {
    'format': 'bestvideo[width>=1920]/bestvideo+bestaudio/best',
    'outtmpl': 'test.mp4',
    # 新增参数:指定合并后的输出格式为MP4,触发自动合并逻辑
    'merge_output_format': 'mp4',
    # 可选:开启后能看到下载和合并的详细日志,方便排查问题
    'verbose': True
}

with youtube_dl.YoutubeDL(ydl_opts) as ydl:
    ydl.download(['https://www.youtube.com/watch?v=BaW_jenozKc'])

关键细节说明:

  • merge_output_format:这个参数是核心,它会告知youtube-dl,当检测到下载的是分离的音视频流时,自动调用外部工具完成合并。
  • 你需要确保系统中已经安装了ffmpeg——youtube-dl依赖它执行音视频合并操作。如果没安装,根据你的操作系统选择对应方式安装即可:比如Linux用apt install ffmpeg,macOS用brew install ffmpeg,Windows可以下载官方预编译包解压后配置环境变量。

另外,也可以直接调整format参数优先选择原生兼容的流组合,减少合并步骤:

'format': 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best'

这样会优先挑选能直接合并为MP4的音视频流,避免额外的格式转换。

内容的提问来源于stack exchange,提问作者NewGuy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 04:12:03