<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>FFmpeg on 修远</title><link>https://blog.l6l6.xyz/categories/ffmpeg/</link><description>Recent content in FFmpeg on 修远</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><lastBuildDate>Mon, 26 Jan 2026 15:15:30 +0800</lastBuildDate><atom:link href="https://blog.l6l6.xyz/categories/ffmpeg/index.xml" rel="self" type="application/rss+xml"/><item><title>FFmpeg视频压缩常用命令</title><link>https://blog.l6l6.xyz/p/ffmpeg-video-compression/</link><pubDate>Mon, 26 Jan 2026 15:15:30 +0800</pubDate><guid>https://blog.l6l6.xyz/p/ffmpeg-video-compression/</guid><description>&lt;img src="https://file.l6l6.xyz/pic/2025/09/3aeb497f5935643f1510b7cca10f1a13.png" alt="Featured image of post FFmpeg视频压缩常用命令" />&lt;h1 id="ffmpeg-视频压缩指令参考">FFmpeg 视频压缩指令参考
&lt;/h1>&lt;p>FFmpeg 被誉为多媒体处理领域的“瑞士军刀”。在处理视频文件时，它能通过精准的参数控制，在保持高清画质的同时，轻松将文件体积缩小 50% 以上。&lt;/p>
&lt;h2 id="1-crf-质量控制模式">1. CRF 质量控制模式
&lt;/h2>&lt;p>&lt;strong>CRF (Constant Rate Factor)&lt;/strong> 是最推荐的压缩方式。它不是简单地限制码率，而是通过预设的质量等级来动态调整。&lt;/p>
&lt;ul>
&lt;li>&lt;strong>数值范围&lt;/strong>：0–51（0 为无损，51 为最差）。&lt;/li>
&lt;li>&lt;strong>建议区间&lt;/strong>：&lt;strong>18–23&lt;/strong> 是画质与体积的最佳平衡点。&lt;/li>
&lt;/ul>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-Bash" data-lang="Bash">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 使用 CRF 20 进行高质量压缩&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">ffmpeg -i input.mp4 -c:v libx264 -crf &lt;span class="m">20&lt;/span> -preset slow output.mp4
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;blockquote>
&lt;p>&lt;strong>💡 小技巧：&lt;/strong> &lt;code>-preset&lt;/code> 参数控制压缩速度。&lt;code>slow&lt;/code> 或 &lt;code>slower&lt;/code> 虽然耗时更长，但能提供更高的压缩效率（即相同画质下文件更小）。&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h2 id="2-调整分辨率">2. 调整分辨率
&lt;/h2>&lt;p>将 4K 或 1080p 视频缩减为 720p，是减小文件体积最简单粗暴且有效的方法。&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-Bash" data-lang="Bash">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 强制缩放到 720p，-1 表示自动计算高度以保持宽高比&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">ffmpeg -i input.mp4 -vf &lt;span class="nv">scale&lt;/span>&lt;span class="o">=&lt;/span>1280:-1 -c:v libx264 -crf &lt;span class="m">23&lt;/span> output.mp4
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;hr>
&lt;h2 id="3--码率控制-bitrate">3. 码率控制 (Bitrate)
&lt;/h2>&lt;p>如果你需要将视频上传到有严格码率限制的平台（如某些社交媒体），可以直接指定目标码率。&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-Bash" data-lang="Bash">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 设置视频码率为 1Mbps，音频为 128kbps&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">ffmpeg -i input.mp4 -b:v 1000k -b:a 128k -c:v libx264 output.mp4
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;hr>
&lt;h2 id="4--使用-h265-hevc">4. 使用 H.265 (HEVC)
&lt;/h2>&lt;p>&lt;strong>H.265&lt;/strong> 是 H.264 的继任者。在同等清晰度下，它的文件体积通常比 H.264 小 &lt;strong>30%-50%&lt;/strong>。&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-Bash" data-lang="Bash">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 使用 H.265 编码进行极限压缩&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">ffmpeg -i input.mp4 -c:v libx265 -crf &lt;span class="m">23&lt;/span> -preset slow output.mp4
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>&lt;em>注意：虽然 H.265 压缩率极高，但在一些老旧设备或浏览器上的兼容性可能不如 H.264。&lt;/em>&lt;/p>
&lt;hr>
&lt;h2 id="5--综合优化">5. 综合优化
&lt;/h2>&lt;p>如果你想一次性搞定分辨率、帧率、视频编码和音频采样率，可以使用如下组合命令：&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-Bash" data-lang="Bash">&lt;span class="line">&lt;span class="cl">ffmpeg -i input.mp4 &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> -vf &lt;span class="nv">scale&lt;/span>&lt;span class="o">=&lt;/span>1280:720 &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> -r &lt;span class="m">24&lt;/span> &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> -c:v libx264 -crf &lt;span class="m">24&lt;/span> &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> -b:v 800k -b:a 96k &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> output.mp4
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;hr>
&lt;h2 id="参数速查表">参数速查表
&lt;/h2>&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align: left">&lt;strong>需求场景&lt;/strong>&lt;/th>
&lt;th style="text-align: left">&lt;strong>推荐参数&lt;/strong>&lt;/th>
&lt;th style="text-align: left">&lt;strong>优点&lt;/strong>&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align: left">&lt;strong>通用高清&lt;/strong>&lt;/td>
&lt;td style="text-align: left">&lt;code>-crf 20 -preset slow&lt;/code>&lt;/td>
&lt;td style="text-align: left">画质极佳，适合收藏&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">&lt;strong>快速分享&lt;/strong>&lt;/td>
&lt;td style="text-align: left">&lt;code>-vf scale=720:-1 -crf 23&lt;/code>&lt;/td>
&lt;td style="text-align: left">体积小，上传快&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">&lt;strong>设备限制&lt;/strong>&lt;/td>
&lt;td style="text-align: left">&lt;code>-b:v 1000k&lt;/code>&lt;/td>
&lt;td style="text-align: left">严格控制文件最终大小&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">&lt;strong>极限存储&lt;/strong>&lt;/td>
&lt;td style="text-align: left">&lt;code>-c:v libx265 -crf 24&lt;/code>&lt;/td>
&lt;td style="text-align: left">存储空间占用最低&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h1 id="批量执行脚本">批量执行脚本
&lt;/h1>&lt;p>批量处理是 FFmpeg 真正的“杀手锏”。通过脚本，你可以一键压缩整个文件夹的视频，而不需要手动输入几十遍命令。&lt;/p>
&lt;hr>
&lt;h2 id="1-windows-环境-powershell">1. Windows 环境 (PowerShell)
&lt;/h2>&lt;p>在存放视频的文件夹里右键点击“&lt;code>在终端中打开&lt;/code>”，然后粘贴并运行：&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-powershell" data-lang="powershell">&lt;span class="line">&lt;span class="cl">&lt;span class="c"># 创建输出文件夹防止覆盖原文件&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">if&lt;/span> &lt;span class="p">(!(&lt;/span>&lt;span class="nb">Test-Path&lt;/span> &lt;span class="s2">&amp;#34;compressed&amp;#34;&lt;/span>&lt;span class="p">))&lt;/span> &lt;span class="p">{&lt;/span> &lt;span class="nb">New-Item&lt;/span> &lt;span class="n">-ItemType&lt;/span> &lt;span class="n">Directory&lt;/span> &lt;span class="n">-Path&lt;/span> &lt;span class="s2">&amp;#34;compressed&amp;#34;&lt;/span> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c"># 循环处理所有 .mp4 文件&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">Get-ChildItem&lt;/span> &lt;span class="p">*.&lt;/span>&lt;span class="n">mp4&lt;/span> &lt;span class="p">|&lt;/span> &lt;span class="nb">ForEach-Object&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nv">$output&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="s2">&amp;#34;compressed\&lt;/span>&lt;span class="p">$(&lt;/span>&lt;span class="nv">$_&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">Name&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">Write-Host&lt;/span> &lt;span class="s2">&amp;#34;正在处理: &lt;/span>&lt;span class="p">$(&lt;/span>&lt;span class="nv">$_&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">Name&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span> &lt;span class="n">-ForegroundColor&lt;/span> &lt;span class="n">Cyan&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c"># 这里使用了常见的 CRF 23 压缩配置&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">ffmpeg&lt;/span> &lt;span class="n">-i&lt;/span> &lt;span class="nv">$_&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">FullName&lt;/span> &lt;span class="n">-c:v&lt;/span> &lt;span class="n">libx264&lt;/span> &lt;span class="n">-crf&lt;/span> &lt;span class="mf">23&lt;/span> &lt;span class="n">-preset&lt;/span> &lt;span class="n">medium&lt;/span> &lt;span class="n">-c:a&lt;/span> &lt;span class="nb">copy &lt;/span>&lt;span class="nv">$output&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">Write-Host&lt;/span> &lt;span class="s2">&amp;#34;所有视频处理完成！&amp;#34;&lt;/span> &lt;span class="n">-ForegroundColor&lt;/span> &lt;span class="n">Green&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;hr>
&lt;h2 id="2-macos--linux-环境-bash">2. macOS / Linux 环境 (Bash)
&lt;/h2>&lt;p>创建一个 &lt;code>.sh&lt;/code> 脚本文件，或者直接在终端运行以下命令：&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#!/bin/bash
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 创建输出目录&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">mkdir -p compressed
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 循环处理当前目录下所有的 mp4 文件&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">for&lt;/span> f in *.mp4&lt;span class="p">;&lt;/span> &lt;span class="k">do&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">echo&lt;/span> &lt;span class="s2">&amp;#34;正在压缩: &lt;/span>&lt;span class="nv">$f&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># -n 表示如果目标文件已存在则跳过，防止意外覆盖&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> ffmpeg -i &lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="nv">$f&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span> -c:v libx264 -crf &lt;span class="m">23&lt;/span> -preset medium -c:a copy &lt;span class="s2">&amp;#34;compressed/&lt;/span>&lt;span class="si">${&lt;/span>&lt;span class="nv">f&lt;/span>&lt;span class="p">%.mp4&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">_compressed.mp4&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">done&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">echo&lt;/span> &lt;span class="s2">&amp;#34;任务完成！&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;hr>
&lt;h2 id="3-跨平台通用方案-python">3. 跨平台通用方案 (Python)
&lt;/h2>&lt;p>如果你希望脚本更具可读性或需要更复杂的逻辑（比如过滤掉小于 10MB 的文件），Python 是最佳选择：&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">os&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">subprocess&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 配置区域&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">input_dir&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s2">&amp;#34;./&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">output_dir&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s2">&amp;#34;./compressed&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">ffmpeg_params&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s2">&amp;#34;-c:v libx264 -crf 23 -preset medium -c:a copy&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">if&lt;/span> &lt;span class="ow">not&lt;/span> &lt;span class="n">os&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">path&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">exists&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">output_dir&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">os&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">makedirs&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">output_dir&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">for&lt;/span> &lt;span class="n">filename&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="n">os&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">listdir&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">input_dir&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="n">filename&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">endswith&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;.mp4&amp;#34;&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">input_path&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">os&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">path&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">join&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">input_dir&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">filename&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">output_path&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">os&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">path&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">join&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">output_dir&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">filename&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="sa">f&lt;/span>&lt;span class="s2">&amp;#34;Processing: &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">filename&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">command&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="sa">f&lt;/span>&lt;span class="s1">&amp;#39;ffmpeg -i &amp;#34;&lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">input_path&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s1">&amp;#34; &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">ffmpeg_params&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s1"> &amp;#34;&lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">output_path&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s1">&amp;#34;&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">subprocess&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">run&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">command&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">shell&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="kc">True&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;Batch processing complete!&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;hr>
&lt;h3 id="-脚本说明">💡 脚本说明
&lt;/h3>&lt;ol>
&lt;li>&lt;strong>&lt;code>-c:a copy&lt;/code>&lt;/strong>：我在脚本中使用了这个参数。它的作用是&lt;strong>直接复制音频流&lt;/strong>而不重新编码，这样可以节省处理时间并保持音质。&lt;/li>
&lt;li>&lt;strong>路径安全&lt;/strong>：脚本中都加入了双引号 &lt;code>&amp;quot;&lt;/code>，以确保即使你的文件名里有空格，程序也不会崩溃。&lt;/li>
&lt;li>&lt;strong>目录管理&lt;/strong>：所有脚本都会自动创建一个 &lt;code>compressed&lt;/code> 文件夹，将处理好的视频存放在里面，避免污染原始文件夹。&lt;/li>
&lt;/ol></description></item><item><title>FFmpeg 音频文件日常处理指令</title><link>https://blog.l6l6.xyz/p/ffmpeg-audio-commands/</link><pubDate>Wed, 24 Sep 2025 15:33:36 +0800</pubDate><guid>https://blog.l6l6.xyz/p/ffmpeg-audio-commands/</guid><description>&lt;img src="https://file.l6l6.xyz/pic/2025/09/3aeb497f5935643f1510b7cca10f1a13.png" alt="Featured image of post FFmpeg 音频文件日常处理指令" />&lt;p>FFmpeg 是处理音频文件的命令行神器，强大且高效。本文档旨在整理日常工作中最为核心的三大操作：&lt;strong>裁剪、转码与合并&lt;/strong>。这里只提供最常用、最直接的指令范例，帮助你快速解决问题，无需深入复杂的理论。&lt;/p>
&lt;h3 id="一准备工作查看音频信息">一、准备工作：查看音频信息
&lt;/h3>&lt;p>在进行任何操作前，先用 &lt;code>ffprobe&lt;/code> 快速了解文件的编码、码率、采样率等信息，这对于后续操作至关重要，尤其是在合并文件时。&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 快速查看基本信息&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">ffmpeg -hide_banner -i input.m4a
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 获取详细的技术参数 (JSON格式)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">ffprobe -v error -show_format -show_streams -print_format json input.m4a
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;!-- raw HTML omitted -->
&lt;h3 id="二裁剪音频精确提取或分割">二、裁剪音频：精确提取或分割
&lt;/h3>&lt;p>无论是截取一段，还是将长音频分割成章节，裁剪都是基础操作。&lt;/p>
&lt;h4 id="方案一无损裁剪速度最快">方案一：无损裁剪（速度最快）
&lt;/h4>&lt;p>此方法不重新编码，速度极快，且无任何质量损失。它会在最接近你指定时间点的“关键帧”上进行切割。&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;span class="lnt">7
&lt;/span>&lt;span class="lnt">8
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 从 1分30秒 开始，截取 15秒 的片段&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">ffmpeg -ss 00:01:30 -i input.m4a -t 00:00:15 -c copy output_segment.m4a
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 将文件从 3小时43分07秒 处分割成两段&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 第一段：从头到分割点&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">ffmpeg -i input.m4a -to 03:43:07.300 -c copy part1.m4a
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 第二段：从分割点到结尾&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">ffmpeg -i input.m4a -ss 03:43:07.300 -c copy part2.m4a
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;blockquote>
&lt;p>&lt;strong>提示&lt;/strong>：&lt;code>-c copy&lt;/code> 是无损操作的核心。为提升网络播放体验，可以在 M4A/MP4 容器后添加 &lt;code>-movflags +faststart&lt;/code>。&lt;/p>
&lt;/blockquote>
&lt;h4 id="方案二重编码裁剪">方案二：重编码裁剪
&lt;/h4>&lt;p>如果你需要毫秒级的绝对精确切割，或者需要改变输出格式，则需要进行重编码。只需去掉 &lt;code>-c copy&lt;/code> 并指定编码参数即可。&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 从 1分30秒 开始，精确截取 15秒，并重新编码&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">ffmpeg -ss 00:01:30 -i input.m4a -t 00:00:15 -c:a aac -b:a 192k output_segment.m4a
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;!-- raw HTML omitted -->
&lt;h3 id="三格式转码">三、格式转码
&lt;/h3>&lt;p>将音频转换为不同格式或码率，以适应不同平台或压缩文件体积。&lt;/p>
&lt;h4 id="核心参数解析">核心参数解析
&lt;/h4>&lt;ul>
&lt;li>&lt;code>-c:a&lt;/code>：指定音频编码器 (e.g., &lt;code>libmp3lame&lt;/code>, &lt;code>aac&lt;/code>, &lt;code>alac&lt;/code>, &lt;code>flac&lt;/code>)&lt;/li>
&lt;li>&lt;code>-b:a&lt;/code>：指定音频码率 (e.g., &lt;code>128k&lt;/code>, &lt;code>192k&lt;/code>, &lt;code>320k&lt;/code>)&lt;/li>
&lt;li>&lt;code>-q:a&lt;/code>：指定 VBR 质量（仅部分编码器支持，如 &lt;code>libmp3lame&lt;/code>，数值越小质量越高）&lt;/li>
&lt;li>&lt;code>-ar&lt;/code>：指定采样率 (e.g., &lt;code>44100&lt;/code>, &lt;code>48000&lt;/code>)&lt;/li>
&lt;li>&lt;code>-ac&lt;/code>：指定声道数 (e.g., &lt;code>1&lt;/code> for mono, &lt;code>2&lt;/code> for stereo)&lt;/li>
&lt;/ul>
&lt;h4 id="常用转码范例">常用转码范例
&lt;/h4>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># WAV (无损) -&amp;gt; MP3 (高品质 VBR)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">ffmpeg -i input.wav -c:a libmp3lame -q:a &lt;span class="m">2&lt;/span> output.mp3
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># FLAC (无损) -&amp;gt; AAC/M4A (192kbps CBR，兼容性好)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">ffmpeg -i input.flac -c:a aac -b:a 192k output.m4a
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># FLAC (无损) -&amp;gt; ALAC/M4A (Apple 无损，适用于苹果生态)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">ffmpeg -i input.flac -c:a alac output.m4a
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 统一规格：转为 48kbps AAC-LC，用于网络分发&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">ffmpeg -i source.wav -vn &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> -c:a aac -profile:a aac_low &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> -b:a 48k -ar &lt;span class="m">44100&lt;/span> -ac &lt;span class="m">2&lt;/span> &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> -movflags +faststart &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> output_for_web.m4a
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;!-- raw HTML omitted -->
&lt;h3 id="四合并音频拼接多个片段">四、合并音频：拼接多个片段
&lt;/h3>&lt;p>将多个音频文件合并成一个。这里介绍两种核心方法。&lt;/p>
&lt;h4 id="方法一无损合并最快但有前提">方法一：无损合并（最快，但有前提）
&lt;/h4>&lt;p>此方法通过一个清单文件进行流拷贝，速度飞快。但它有一个&lt;strong>严格的前提&lt;/strong>：所有待合并文件的&lt;strong>编码参数必须完全一致&lt;/strong>（编码器、Profile、采样率、声道数等）。&lt;/p>
&lt;ol>
&lt;li>
&lt;p>&lt;strong>创建清单文件 &lt;code>list.txt&lt;/code>&lt;/strong>，内容如下：&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">file &amp;#39;part1.m4a&amp;#39;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">file &amp;#39;part2.m4a&amp;#39;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">file &amp;#39;part3.m4a&amp;#39;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;/li>
&lt;li>
&lt;p>&lt;strong>执行合并命令&lt;/strong>：&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">ffmpeg -f concat -safe &lt;span class="m">0&lt;/span> -i list.txt -c copy output_merged.m4a
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;blockquote>
&lt;p>&lt;strong>排错&lt;/strong>：如果合并后出现播放问题（如后半段无声），通常是因为各片段的编码参数不一致（例如一个是 AAC-LC，另一个是 HE-AAC）。请先使用“转码”操作将它们统一规格，再进行合并。&lt;/p>
&lt;/blockquote>
&lt;/li>
&lt;/ol>
&lt;h4 id="方法二重编码合并最通用但较慢">方法二：重编码合并（最通用，但较慢）
&lt;/h4>&lt;p>此方法会解码所有输入文件，将它们连接起来，然后重新编码为一个新文件。它不要求输入文件规格一致，因此&lt;strong>通用性最强&lt;/strong>。&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">ffmpeg -i part1.m4a -i part2.mp3 -i part3.wav &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> -filter_complex &lt;span class="s2">&amp;#34;[0:a][1:a][2:a]concat=n=3:v=0:a=1[a]&amp;#34;&lt;/span> &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> -map &lt;span class="s2">&amp;#34;[a]&amp;#34;&lt;/span> -c:a aac -b:a 192k &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> output_merged.m4a
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;blockquote>
&lt;p>&lt;code>concat=n=3&lt;/code> 中的 &lt;code>n=3&lt;/code> 表示有 3 个输入文件。&lt;/p>
&lt;/blockquote>
&lt;!-- raw HTML omitted -->
&lt;h3 id="附录指令备忘清单">附录：指令备忘清单
&lt;/h3>&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align: left">任务&lt;/th>
&lt;th style="text-align: left">核心指令&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align: left">&lt;strong>查看信息&lt;/strong>&lt;/td>
&lt;td style="text-align: left">&lt;code>ffmpeg -i [输入文件]&lt;/code>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">&lt;strong>无损裁剪&lt;/strong>&lt;/td>
&lt;td style="text-align: left">&lt;code>-ss [开始时间] -i [输入] -t [时长] -c copy [输出]&lt;/code>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">&lt;strong>转为MP3&lt;/strong>&lt;/td>
&lt;td style="text-align: left">&lt;code>-c:a libmp3lame -q:a 2&lt;/code>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">&lt;strong>转为AAC&lt;/strong>&lt;/td>
&lt;td style="text-align: left">&lt;code>-c:a aac -b:a 192k&lt;/code>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">&lt;strong>无损合并&lt;/strong>&lt;/td>
&lt;td style="text-align: left">&lt;code>-f concat -i list.txt -c copy&lt;/code>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">&lt;strong>重编码合并&lt;/strong>&lt;/td>
&lt;td style="text-align: left">&lt;code>-filter_complex &amp;quot;[0:a][1:a]concat=n=2:v=0:a=1[a]&amp;quot; -map &amp;quot;[a]&amp;quot;&lt;/code>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table></description></item><follow_challenge><feedId>68852316548471808</feedId><userId>55783422475808768</userId></follow_challenge></channel></rss>