
如何看懂 yoinks 终端视频下载进度条part 1/2 分片下载到底在做什么【免费下载链接】yoinksyoink any video from your terminal. no shady ads.项目地址: https://gitcode.com/GitHub_Trending/yo/yoinksyoinks 是一款开源的终端视频下载器把视频链接贴进命令行无广告、无弹窗几秒钟把 YouTube、X、Instagram 等平台的高清视频或 MP3 存到本地。很多人第一次用它都会盯着同一行字发愣——进度条刚跑到 100%突然清零重来旁边还标着part 2/2。这篇指南带你弄明白这两个阶段到底在下载什么、为什么必须拆成两份、以及part计数在源码里是怎么算出来的。 先看你看到的三个阶段选定分辨率开始下载后界面其实按顺序经历三步代码中对应downloading阶段见 src/app.tsx阶段界面上看到什么后台实际在做什么part 1/2进度条从 0% 爬升到 100%下载视频流文件画面体积大part 2/2进度条重置再次从 0% 爬升下载音频流文件声音体积小processing…进度条停在 100%出现旋转指示器ffmpeg 把两个文件合并成一个 mp4所以进度条重来一次不是 bug也不是下载失败——它是换了一个文件重新开始数。 part 1 和 part 2 各是什么文件简单说part 1 是画面part 2 是声音。以 YouTube 为例平台对高清视频采用音画分离的存储方式1080p、2160p 这种分辨率下画面和声音被拆成两个独立流分别传输由播放器在观看时临时拼装。下载器想要一个完整文件就必须把两条流都拉回来。yoinks 在格式选择面板里给出的每一档分辨率2160p、1440p、1080p……背后都拼着一条 yt-dlp 格式表达式其中的号就是视频流 音频流各下一个的意思对应的构造逻辑在 buildChoices每一档分辨率都会生成bv*[height...]ba这样的参数src/lib/ytdlp.ts#L163-L168。右边是最佳音频意味着这次下载注定产生两个文件于是进度条从第一秒就标注好part x/2。 反过来如果某个视频只有一档单文件流画面声音打包在一起totalParts就是 1界面上不会出现part 标签一条进度条走到底。 源码视角part 计数器是怎么算出来的如果你好奇 yoinks 怎么知道现在进行到第几个分片答案在 download() 对 yt-dlp 输出流的逐行解析里总共就两招先定总数yt-dlp 下载前会打印一行类似Downloading 1 format(s): 395251的提示格式 ID 之间每个就代表多一个文件。yoinks 按的数量算出totalPartssrc/lib/ytdlp.ts#L284-L286。再抓时机每份文件都有自己独立的字节数切换到下一份文件时已下载字节数会突然变小。yoinks 观察到字节数回退就执行partsrc/lib/ytdlp.ts#L271-L283。进度数据通过一条自定义模板逐行回传downloaded_bytes|total_bytes|speed|etasrc/lib/ytdlp.ts#L212-L213最终结构是 DownloadProgress 里的part与totalParts两个字段。UI 侧的处理很克制只有totalParts 1时才显示part 1/2这样的标签专门用来解释进度条为什么会在文件之间重置partLabel。而进度条本体采用固定宽度绘制5%和100%占位相同保证刷新时整行布局不抖动src/components/progress-bar.tsx。⚙️ 下载完之后processing 阶段part 2/2跑满之后界面不会立刻结束而是停在 100% 显示processing…。这个阶段由 yt-dlp 的[Merger]或[ExtractAudio]日志触发src/lib/ytdlp.ts#L287-L292对应两种收尾工作合并视频ffmpeg 把画面文件和声音文件缝成一个 mp4[Merger]提取音频如果你选的是audio only · mp3则是单文件下载没有 part 1/2再经过[ExtractAudio]转成 mp3。合并用的 ffmpeg 优先找你系统里已安装的版本找不到就用项目内置的ffmpeg-static兜底findFfmpeg所以开箱即用。❓ 常见疑问速答为什么有的视频不显示 part 1/2该视频只有单文件流totalParts 1一条进度条即可完成。中途取消会留下残缺文件吗不会。按esc取消时yoinks 会自动清理已写的目标文件以及.part、.ytdl临时文件src/lib/ytdlp.ts#L304-L325。文件存在哪里统一存到~/Downloads完成后终端会打印完整路径方便直接打开。进度条偶尔显示downloading…没有百分比站点没有告知文件总大小此时 yoinks 退化为已下载量 速度的指示方式同样带 part 标签。看懂了 part 1/2你就掌握了 yoinks 进度条的全部秘密分片不是断点续传而是高清视频音画分离下载的正常形态。第一次是视频流第二次是音频流最后一瞬是 ffmpeg 的合并——三个动作一个完整文件。想继续深入可以对照 src/app.tsx 里的Phase状态机把整个下载流程走一遍。【免费下载链接】yoinksyoink any video from your terminal. no shady ads.项目地址: https://gitcode.com/GitHub_Trending/yo/yoinks创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考