<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="/wp-content/plugins/rss-beauty/pink.xsl"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>视频下载 Archives - obaby 𝐢‍𝐧⃝ void</title>
	<atom:link href="https://zhongxiaojie.cn/tag/%e8%a7%86%e9%a2%91%e4%b8%8b%e8%bd%bd/feed/" rel="self" type="application/rss+xml" />
	<link>https://zhongxiaojie.cn/tag/视频下载/</link>
	<description>程序媛 / 独立开发者 / 智商不稳定的女神经</description>
	<lastBuildDate>Mon, 30 Mar 2026 00:52:55 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://zhongxiaojie.cn/wp-content/uploads/2026/01/uugai.com-166111691272754-100x100.png</url>
	<title>视频下载 Archives - obaby 𝐢‍𝐧⃝ void</title>
	<link>https://zhongxiaojie.cn/tag/视频下载/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>m3u8 downloader v26.03.28</title>
		<link>https://zhongxiaojie.cn/2026/03/741/</link>
					<comments>https://zhongxiaojie.cn/2026/03/741/#comments</comments>
		
		<dc:creator><![CDATA[obaby]]></dc:creator>
		<pubDate>Sun, 29 Mar 2026 13:58:39 +0000</pubDate>
				<category><![CDATA[程序媛]]></category>
		<category><![CDATA[ffmpeg]]></category>
		<category><![CDATA[m3u8]]></category>
		<category><![CDATA[视频下载]]></category>
		<guid isPermaLink="false">https://zhongxiaojie.cn/?p=741</guid>

					<description><![CDATA[基于 ffmpeg 的 m3u8 / 归档页解析下载工具，支持单链接、批量 CSV/文本、自定义输出目录与 f [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a href="https://zhongxiaojie.cn/wp-content/uploads/2026/03/330A0371.jpg" data-lbwps-width="6000" data-lbwps-height="4000" data-lbwps-srcsmall="https://zhongxiaojie.cn/wp-content/uploads/2026/03/330A0371-665x443.jpg" data-lightbox="gal[741]" data-lbwps-exif="&lt;span class=&quot;pswp__caption__exif_camera&quot;&gt;Canon EOS R6m2&lt;/span&gt; &lt;span class=&quot;pswp__caption__exif_focal&quot;&gt;96mm&lt;/span&gt; &lt;span class=&quot;pswp__caption__exif_fstop&quot;&gt;𝑓/4&lt;/span&gt; &lt;span class=&quot;pswp__caption__exif_shutter&quot;&gt;1/160s&lt;/span&gt; &lt;span class=&quot;pswp__caption__exif_iso&quot;&gt;ISO400&lt;/span&gt; &lt;span class=&quot;pswp__caption__exif_datetime&quot;&gt;2026年3月5日&lt;/span&gt; "><img fetchpriority="high" decoding="async" class="alignnone size-full wp-image-742" src="https://zhongxiaojie.cn/wp-content/uploads/2026/03/330A0371-scaled.jpg" alt="" width="2560" height="1707" srcset="https://zhongxiaojie.cn/wp-content/uploads/2026/03/330A0371-scaled.jpg?v=1774792562 2560w, https://zhongxiaojie.cn/wp-content/uploads/2026/03/330A0371-300x200.jpg?v=1774792562 300w, https://zhongxiaojie.cn/wp-content/uploads/2026/03/330A0371-1024x683.jpg?v=1774792562 1024w, https://zhongxiaojie.cn/wp-content/uploads/2026/03/330A0371-150x100.jpg?v=1774792562 150w, https://zhongxiaojie.cn/wp-content/uploads/2026/03/330A0371-768x512.jpg?v=1774792562 768w, https://zhongxiaojie.cn/wp-content/uploads/2026/03/330A0371-1536x1024.jpg?v=1774792562 1536w, https://zhongxiaojie.cn/wp-content/uploads/2026/03/330A0371-2048x1365.jpg?v=1774792562 2048w, https://zhongxiaojie.cn/wp-content/uploads/2026/03/330A0371-665x443.jpg?v=1774792562 665w, https://zhongxiaojie.cn/wp-content/uploads/2026/03/330A0371-390x260.jpg?v=1774792562 390w" sizes="(max-width: 2560px) 100vw, 2560px" /></a></p>
<p>基于 <strong>ffmpeg</strong> 的 m3u8 / 归档页解析下载工具，支持单链接、批量 CSV/文本、自定义输出目录与 ffmpeg 路径。</p>
<p><span id="more-741"></span></p>
<table>
<thead>
<tr>
<th>参数</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>-i</code></td>
<td>输入：直链 m3u8、含 <code>archives</code> 的归档详情页、或带 <code>cms_player</code> 的播放页；也支持 <code>.mp4</code> / <code>.avi</code> / <code>.mov</code> / <code>.mpeg</code> 直链（走 HTTP 分段下载，非 ffmpeg）</td>
</tr>
<tr>
<td><code>-o</code></td>
<td>输出文件名（自动补 <code>.mp4</code>）；对部分模式用于覆盖默认标题名</td>
</tr>
<tr>
<td><code>-p</code></td>
<td>输出目录；可为本机路径或 UNC（如 <code>\\服务器\共享\目录</code>）</td>
</tr>
<tr>
<td><code>-f</code></td>
<td>批量输入文件：<code>.csv</code> 或纯文本（每行一个链接）</td>
</tr>
<tr>
<td><code>-m</code></td>
<td>指定 ffmpeg 可执行文件路径</td>
</tr>
</tbody>
</table>
<p><strong>注意：</strong> 必须提供 <code>-i</code> 或 <code>-f</code> 之一。</p>
<div class="relative cnb-markdown-heading group">
<h3 class="cnb-markdown-heading-com">单条示例</h3>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">python m3u8_downloader.py -i "https://example.com/video.m3u8?token=xxx" -o myvideo -p D:\Videos</pre>
<p>&nbsp;</p>
<p>批量 CSV</p>
</div>
<div class="relative cnb-markdown-heading group">
<p>&nbsp;</p>
</div>
<ul>
<li>编码建议 <strong>UTF-8（含 BOM 亦可）</strong>，表头需包含列 <strong><code>link</code></strong>；可选列 <strong><code>name</code></strong>（用于在部分逻辑里拼接输出名后缀，空单元格按空字符串处理，不会出现 <code>nan</code> 文件名）。</li>
<li>会跳过空的 <code>link</code> 或内容为 <code>link</code> 的占位行。</li>
<li>按行 <strong>顺序执行</strong>：上一任务结束（含 ffmpeg）后才会处理下一行。</li>
</ul>
<div class="relative">
<pre class="EnlighterJSRAW" data-enlighter-language="generic">python m3u8_downloader.py -f list.csv -p "\\192.168.1.12\media\Videos"</pre>
<p>&nbsp;</p>
</div>
<pre class="group"><span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;">纯文本列表</span></pre>
<div class="relative cnb-markdown-heading group">
<p>&nbsp;</p>
</div>
<p>每行一个 URL，行为与逐次 <code>-i</code> 类似；可通过 <code>-o</code> 传入统一输出名（视链接类型而定）。</p>
<div class="relative cnb-markdown-heading group">
<h2 class="cnb-markdown-heading-com">功能说明</h2>
<p>&nbsp;</p>
</div>
<div class="relative cnb-markdown-heading group">
<h3 class="cnb-markdown-heading-com">链接类型与行为</h3>
<p>&nbsp;</p>
</div>
<ol>
<li><strong><code>.m3u8</code> 直链</strong><br />
使用 ffmpeg 拉流并 remux 为 <code>.mp4</code>（<code>-c copy</code>）。</li>
<li><strong>URL 中含 <code>archives</code></strong>（归档站 / bl05 类页面）<br />
请求页面，解析多个 <code>div.dplayer</code> 的 <code>data-config</code>，得到多路 m3u8；按路依次下载，文件名一般为 <strong>页面标题 + 序号</strong>，并经 <code>safe_mp4_filename</code> 净化。</li>
<li><strong>其它播放页</strong>（非 archives）<br />
解析 <code>var cms_player = {...}</code> 的 JSON，取 <code>url</code> 作为 m3u8，再走 ffmpeg。</li>
<li><strong><code>.mp4</code> 等直链</strong><br />
使用 <code>requests</code> 分段下载（<code>file_download.download_from_url</code>），带 tqdm 进度条，<strong>不经过 ffmpeg</strong>。</li>
</ol>
<div class="relative cnb-markdown-heading group">
<h3 class="cnb-markdown-heading-com">页面编码</h3>
<p>&nbsp;</p>
</div>
<p>抓取 HTML 时依次尝试 <strong>UTF-8 → UTF-8-sig → gb18030</strong>，减轻标题乱码。</p>
<div class="relative cnb-markdown-heading group">
<h3 class="cnb-markdown-heading-com">输出文件名</h3>
<p>&nbsp;</p>
</div>
<ul>
<li>去除 Windows 非法字符，过长截断并可带 crc 后缀兜底。</li>
<li>对「UTF-8 被误当成 latin-1」类乱码标题做启发式纠正（日志中可能出现 <code>[F] 标题疑似 UTF-8/latin-1 乱码，已尝试纠正</code>）。</li>
</ul>
<div class="relative cnb-markdown-heading group">
<h3 class="cnb-markdown-heading-com">覆盖策略</h3>
<p>&nbsp;</p>
</div>
<ul>
<li>若目标 <code>.mp4</code> <strong>已存在</strong>（<code>os.path.isfile</code>），<strong>跳过</strong>该次下载。</li>
<li>调用 ffmpeg 时带 <strong><code>-n</code></strong>：不在终端交互询问覆盖；若因路径编码等导致检测不一致，ffmpeg 侧也会拒绝覆盖而非静默覆盖。</li>
</ul>
<div class="relative cnb-markdown-heading group">
<h3 class="cnb-markdown-heading-com">本地 m3u8 文件</h3>
<p>&nbsp;</p>
</div>
<p><code>-f</code> 指向 <code>.m3u8</code> / <code>.m3u</code> 时，当前代码分支为占位（<code>pass</code>），尚未实现。</p>
<div class="relative cnb-markdown-heading group">
<h2 class="cnb-markdown-heading-com">目录说明</h2>
<p>&nbsp;</p>
</div>
<table>
<thead>
<tr>
<th>路径（相对程序目录）</th>
<th>用途</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>bin/ffmpeg.exe</code></td>
<td>Windows 打包/放置 ffmpeg 的常见位置</td>
</tr>
<tr>
<td><code>download/m3u8_files</code></td>
<td>内部与 <code>make_dir</code> 相关的子目录逻辑</td>
</tr>
<tr>
<td><code>download/mp4</code></td>
<td>未指定 <code>-p</code> 时的默认输出目录</td>
</tr>
</tbody>
</table>
<p>下载地址：</p>
<p><a href="https://www.123912.com/s/ucY7Vv-njQAA?pwd=HwGK#" target="_blank" rel="noopener">https://www.123912.com/s/ucY7Vv-njQAA?pwd=HwGK#</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://zhongxiaojie.cn/2026/03/741/feed/</wfw:commentRss>
			<slash:comments>35</slash:comments>
		
		
			</item>
	</channel>
</rss>
