You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

youtube-dl偶现卡在[ffmpeg] Correcting container问题求助

解决youtube-dl卡在「[ffmpeg] Correcting container」的问题

从你提供的日志和环境信息来看,这个卡住的情况主要和旧版本工具的兼容性以及容器格式处理效率有关,下面是具体的分析和解决办法:

1. 优先更新youtube-dl到最新版本

你的youtube-dl版本是2018.05.09,这是非常老旧的版本了——youtube-dl需要频繁更新来适配YouTube的API变化,同时也会修复和ffmpeg/avconv的兼容bug。旧版本在处理某些音频容器格式时,很容易出现卡住的情况。

更新命令:

# 直接更新(如果当前安装方式支持)
sudo youtube-dl -U

# 如果上面的命令失败,可手动更新:
# 1. 获取youtube-dl官方最新可执行文件
# 2. 将文件替换到/usr/local/bin/youtube-dl路径
# 3. 赋予执行权限:
sudo chmod a+rx /usr/local/bin/youtube-dl

2. 替换老旧的ffmpeg/avconv

Ubuntu 16.04自带的ffmpeg/avconv是2.8版本,同样属于旧版本,对新的容器格式支持不佳,处理效率也低。你可以安装新版ffmpeg来替代:

# 添加ffmpeg的PPA源
sudo add-apt-repository ppa:jonathonf/ffmpeg-4
sudo apt update
sudo apt install ffmpeg

安装完成后,让youtube-dl强制使用新版ffmpeg(避免优先调用avconv):

youtube-dl --ffmpeg-location /usr/bin/ffmpeg --verbose -x 'https://www.youtube.com/watch?v=8HVWitAW-Qg'

3. 跳过不必要的容器修正(临时 workaround)

如果上面的方法暂时无法生效,你可以尝试让youtube-dl直接下载不需要修正的音频格式,或者跳过后期的容器处理:

  • 直接指定下载MP3格式,避免m4a的容器问题:
    youtube-dl --verbose -x --audio-format mp3 'https://www.youtube.com/watch?v=8HVWitAW-Qg'
    
  • 或者添加--no-post-overwrites参数,禁止后期的文件覆盖修正:
    youtube-dl --verbose -x --no-post-overwrites 'https://www.youtube.com/watch?v=8HVWitAW-Qg'
    

4. 检查磁盘和权限问题

偶尔卡住也可能是下载目录的磁盘IO过高、可用空间不足,或者文件权限异常导致的:

  • 确认下载目录有足够的可用空间
  • 检查当前用户对下载目录有读写权限
  • 如果是机械硬盘,避开磁盘繁忙时段测试

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

火山引擎 最新活动