<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>MP3處理 on KnightLi的博客</title>
        <link>https://knightli.com/zh-tw/tags/mp3%E8%99%95%E7%90%86/</link>
        <description>Recent content in MP3處理 on KnightLi的博客</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-tw</language>
        <lastBuildDate>Tue, 07 Jan 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://knightli.com/zh-tw/tags/mp3%E8%99%95%E7%90%86/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>使用ffmpeg處理mp3文件</title>
        <link>https://knightli.com/zh-tw/2025/01/07/ffmpeg%E8%99%95%E7%90%86mp3%E6%96%87%E4%BB%B6/</link>
        <pubDate>Tue, 07 Jan 2025 00:00:00 +0000</pubDate>
        
        <guid>https://knightli.com/zh-tw/2025/01/07/ffmpeg%E8%99%95%E7%90%86mp3%E6%96%87%E4%BB%B6/</guid>
        <description>&lt;h2 id=&#34;mp3比特率編碼模式&#34;&gt;MP3比特率編碼模式
&lt;/h2&gt;&lt;p&gt;mp3的比特率一般有三種，分別是VBR,ABR和CBR。&lt;/p&gt;
&lt;h3 id=&#34;cbr-固定比特率&#34;&gt;CBR 固定比特率
&lt;/h3&gt;&lt;p&gt;CBR是constant bitrate的縮寫，中文意思是固定比特率。&lt;br&gt;
對於比特率為128 kbps的CBR MP3歌曲來說，歌曲的前128kb描述的是第一秒的聲音，第二個128 Kb描述的是第二秒的聲音……如果這首歌唱完要640秒鐘，那麼這首歌的大小就是128kb × 640 ＝ 80Mb ＝ 10MB。所謂128kbps就是128kb每秒的意思。&lt;br&gt;
細心的你會發現，這種編碼方式壓縮出來的體積會很大，因為碼率都是固定的。當然，音質相對於其他兩種，會有些優勢，雖然這個優勢可能微乎其微。&lt;/p&gt;
&lt;h3 id=&#34;vbr-動態比特率&#34;&gt;VBR 動態比特率
&lt;/h3&gt;&lt;p&gt;VBR（Variable Bitrate）動態比特率。也就是沒有固定的比特率，壓縮軟件在壓縮時根據音頻數據即時確定使用什麼比特率。
簡單理解就是，歌曲在細節表現比較豐富的時間點，比特率此時會比較高，其他情況下會比較低，這樣就兼顧了音質和體積大小。舉個例子：在歌曲的開始，一個人獨唱，聲音比較簡單，我們就用64kb來描述一秒种內的聲音；在歌曲的高潮，大家合唱，聲音比較複雜，我們就用256kb來描述一秒種內的聲音。&lt;/p&gt;
&lt;h3 id=&#34;abr-平均比特率&#34;&gt;ABR 平均比特率
&lt;/h3&gt;&lt;p&gt;ABR（Average Bitrate）平均比特率，是VBR的一種插值參數。
舉例來說，當指定用192kbps ABR對一段wav文件進行編碼時，Lame會將該文件的85%用192kbps固定編碼，然後對剩餘15%進行動態優化：複雜部分用高於192kbps 來編碼、簡單部分用低於192kbps來編碼。與192kbps CBR相比，192kbps ABR在文件大小上相差不多，音質卻提高不少。 ABR編碼在速度上是VBR編碼的2到3倍，在128-256kbps範圍內質量要好於CBR。
在容量要求固定的情況下,適用這種方式. 比如壓縮後要刻錄到光盤上,光盤的容量是固定的,可以算出平均值, 然後根據這個平均值操作.&lt;/p&gt;
&lt;h2 id=&#34;使用-ffmpeg-壓縮&#34;&gt;使用 ffmpeg 壓縮
&lt;/h2&gt;&lt;h3 id=&#34;可變碼率-vbr&#34;&gt;可變碼率 VBR
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ffmpeg -i sample.wav -vn -c:a libmp3lame -aq 4 -ac 2 sample.mp3
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;參數說明:  
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-i 輸入音頻文件
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-vn 不處理視頻 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-c:a 指定音頻編碼器 copy、mp3(libmp3lame)、aac、
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-aq 質量  數字越小,編碼音質約好,體積越大
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-ac 聲道數
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;恆定碼率-cbr&#34;&gt;恆定碼率 CBR
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ffmpeg -i sample.wav -vn -c:a libmp3lame -b:a 192k -ac 2 sample.mp3
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-i 輸入音頻文件
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-vn 不處理視頻 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-c:a 指定音頻編碼器 copy、mp3(libmp3lame)、aac、
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-b:a 固定編碼率
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-ac 聲道數
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;metadata&#34;&gt;metadata
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ffmpeg -i sample.wav -map_metadata -1 -vn -c:a libmp3lame -aq 8 -ac 2 sample.mp3
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-map_metadata -1  清除metadata
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        </item>
        
    </channel>
</rss>
