为什么使用 --download-sections 将 yt-dlp tp FFmpeg 管道传输失败?

为什么使用 --download-sections 将 yt-dlp tp FFmpeg 管道传输失败?

我正在尝试下载视频片段(包括音频)流媒体方式(即没有临时文件) 以给定的格式。

这很好用:

yt-dlp --ignore-config --no-config-locations -f 22 -o - a3ICNMQW7Ok |
  ffmpeg -i - -c copy -movflags frag_keyframe+empty_moov -f mp4 -y temp.mp4

但这失败了:

yt-dlp --ignore-config --no-config-locations -f 22 -o - a3ICNMQW7Ok --download-sections "*0-30" |
  ffmpeg -i - -c copy -movflags frag_keyframe+empty_moov -f mp4 -y temp.mp4

[mp4 @ 0x7fffb806f200]检测到格式错误的 AAC 比特流:
使用音频比特流过滤器aac_adtstoasc修复它(-bsf:a aac_adtstoasc使用 ffmpeg 选项)

我不明白为什么会发生这种情况。发生了什么事?我该如何解决?

(不,这-bsf:a aac_adtstoasc并不能解决问题,因为如果我使用它,播放下载的视频时就不再有任何音频。)

相关内容