【问题标题】:youtube-dl sometime hangs with "[ffmpeg] Correcting container"youtube-dl 有时会挂起“[ffmpeg] Correcting container”
【发布时间】:2018-05-12 15:32:07
【问题描述】:

Ubuntu 16.04

/usr/local/bin/youtube-dl --version
2018.05.09

我有一个 bash 脚本来尝试下载 youtube 视频。输出如下。问题是有时它可以完美运行(快速完成)。 但大多数时候它挂在“更正容器......”上。有谁知道为什么?

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

[debug] System config: []

[debug] User config: []

[debug] Custom config: []

[debug] Command-line args: [u'--verbose', u'-x', u'https://www.youtube.com/watch?v=8HVWitAW-Qg']

[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8

[debug] youtube-dl version 2018.05.09

[debug] Python version 2.7.12 (CPython) - Linux-4.4.0-124-generic-x86_64-with-Ubuntu-16.04-xenial

[debug] exe versions: avconv 2.8.14-0ubuntu0.16.04.1, avprobe 2.8.14-0ubuntu0.16.04.1, ffmpeg 2.8.14-0ubuntu0.16.04.1, ffprobe 2.8.14-0ubuntu0.16.04.1, rtmpdump 2.4

[debug] Proxy map: {}

[youtube] 8HVWitAW-Qg: Downloading webpage

[youtube] 8HVWitAW-Qg: Downloading video info webpage

[youtube] 8HVWitAW-Qg: Extracting video information

[debug] Invoking downloader on u'https://r5---sn-5uaeznkl.googlevideo.com/videoplayback?expire=1526159728&source=youtube&key=yt6&mime=audio%2Fmp4&sparams=clen%2Cdur%2Cei%2Cgir%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Ckeepalive%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cpl%2Crequiressl%2Csource%2Cusequic%2Cexpire&keepalive=yes&lmt=1518142590597815&dur=231.131&mv=m&mt=1526137933&ms=au%2Conr&signature=18BB34F3716B412AC5757872DD2AF402B6EE20D2.43D2E68B5A5ED2E2D3076DF9264B9BB723484821&ip=71.81.217.251&c=WEB&initcwndbps=1583750&mn=sn-5uaeznkl%2Csn-p5qs7n7l&clen=3671757&gir=yes&id=o-AOxj8Rg2IuZek8KwvgPy-N7_FSGzxQ0Zl2HX1T4gepLf&ipbits=0&fvip=5&ei=EAX3WqbOH8fg4QSlkrGoAg&pl=20&mm=31%2C26&itag=140&usequic=no&requiressl=yes&ratebypass=yes'

[download] Destination: Top 10 cute kitten videos compilation-8HVWitAW-Qg.m4a

[download] 100% of 3.50MiB in 00:00

[ffmpeg] Correcting container in "Top 10 cute kitten videos compilation-8HVWitAW-Qg.m4a"

[debug] ffmpeg command line: avconv -y -i 'file:Top 10 cute kitten videos compilation-8HVWitAW-Qg.m4a' -c copy -f mp4 'file:Top 10 cute kitten videos compilation-8HVWitAW-Qg.temp.m4a'

^C
ERROR: Interrupted by user

【问题讨论】:

  • 那是假的 ffmpeg - 从ffmpeg.org/download.html 获取真正的 ffmpeg。将以下参数添加到您的 yt-dl 命令中:--prefer-ffmpeg --ffmpeg-location PATH 其中 PATH 是带有 ffmpeg 的文件夹。
  • 这个问题几乎肯定在 avconv 中,与 youtube-dl 无关(完全披露:作为 youtube-dl 的长期首席开发人员,我可能有偏见)。当它“挂起”时,需要多长时间?发生这种情况时 CPU 和 RAM 的使用情况是多少?如果在挂起时将strace 附加到avconv 进程,您会看到什么?您可以将 --fixup warn 传递给 youtube-dl 以阻止 avconv 调用,但无论如何音频转换都需要另一个。

标签: linux ffmpeg containers youtube-dl


【解决方案1】:

我安装了最新的 ffmpeg 并使用以下内容:

/usr/local/bin/youtube-dl -q --no-warnings --fixup --prefer-ffmpeg -- ffmpeg-位置 /usr/local/bin -x "$1"

我现在始终如一地获取音频文件(ogg、opus、m4a 等)。但错误仍然打印在屏幕上。现在已经足够了。

【讨论】:

    猜你喜欢
    • 2021-10-08
    • 2014-09-06
    • 2015-08-03
    • 1970-01-01
    • 2017-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多