如何使用ffmpeg將.flac轉換爲.mp3,保留所有元數據(將.flac文件中的Vorbis註釋轉換爲.mp3的ID3v2元數據)?使用ffmpeg將.fla3轉換爲.f3,保留所有元數據
回答
以下命令繼續.MP3高質量(320 kbps的),和元數據從文件.FLAC被轉換爲的ID3v2格式,其可以被包括在.mp3文件:
ffmpeg -i input.flac -ab 320k -map_metadata 0 -id3v2_version 3 output.mp3
值得注意的是,「ffmpeg」可能需要替換爲「avconv」。 – shockburner 2016-04-25 22:28:46
FWIW'ffmpeg' 3.2自動將元數據從FLAC中複製到ID3v2中,無需指定'-map_metadata 0 -id3v2_version 3',儘管它不會複製到ID3v1標籤中。我爲此使用了一個單獨的工具。 – Dai 2016-11-26 23:43:52
歌詞仍然沒有得到複製雖然 – user151496 2017-10-14 23:22:48
完美以上回答。我結合使用它查找到一個子樹添加所有FLAC文件到iTunes使用此命令
find . -name "*.flac" -exec ffmpeg -i {} -ab 160k -map_metadata 0 -id3v2_version 3 {}.mp3 \;
向所得到的文件自動添加到iTunes,讓iTunes的進口目錄中
find ~/Music/ -name "Automatically Add*"
結果如
/Users/sir/Music//iTunes/iTunes Media/Automatically Add to iTunes.localized
然後運行例如
find . -name "*.mp3" -exec mv {} "/Users/sir/Music//iTunes/iTunes Media/Automatically Add to iTunes.localized/" \;
自動將所有轉換後的曲目添加到iTunes。
如果你想節省一點空間,嘗試hydrogenaud.io推薦:
質量很高:高保真音響,家中或安靜的聽,用最好的文件大小
-V0 (~245 kbps)
,-V1 (~225 kbps)
,-V2 (~190 kbps)
或-V3 (~175 kbps)
是推薦的。 這些VBR設置通常會產生透明結果。這些預設之間可能存在差異,但很少見。
來源:http://wiki.hydrogenaud.io/index.php?title=LAME
如果你想使用的ffmpeg這個選項,你應該使用-q:a 0
別名。
控制質量與
-qscale:a
(或別名-q:a
)。值是編碼器特定的,因此對於libmp3lame,範圍是0-9,其中較低的值是較高的質量。 0-3通常會產生透明的結果,4(默認)應該接近知覺透明度,6產生「可接受」的質量。選項-qscale:a
映射到獨立lame命令行界面工具中的-V
選項。
來源:https://trac.ffmpeg.org/wiki/Encode/MP3
如果你想的ID3v1元標記過,您應添加-write_id3v1 1
參數。
所以我最後的命令是:
ffmpeg.exe -y -i input.flac -codec:a libmp3lame -q:a 0 -map_metadata 0 -id3v2_version 3 -write_id3v1 1 output.mp3
我測試下面的命令來轉換infile.flac
文件outfile.mp3
:
ffmpeg -i infile.flac -q:a 0 outfile.mp3
隨着Ubuntu的16.04,上面的命令似乎複製(最所有的?)元數據。
-q:a 0
告訴ffmpeg
使用最高質量的VBR。
但是,ffmpeg
正在將我的專輯封面從jpeg
轉碼爲png
,這增加了封面的尺寸。
Stream mapping:
Stream #0:1 -> #0:0 (mjpeg (native) -> png (native))
Stream #0:0 -> #0:1 (flac (native) -> mp3 (libmp3lame))
(我猜上述轉換之類的有意義given how ffmpeg
works。)
一些挖後,我發現-c:v copy
選項,指定視頻流應該被複制,而非轉碼。完整的命令是:
ffmpeg -i infile.flac -c:v copy -q:a 0 outfile.mp3
在上面的命令結果:
Stream mapping:
Stream #0:1 -> #0:0 (copy)
Stream #0:0 -> #0:1 (flac (native) -> mp3 (libmp3lame))
- 1. 將.mov轉換爲.mp4並使用FFMPEG保留Alpha通道
- 2. 將m4a轉換爲aac並在Windows 7上保留元數據
- 3. 將BitmapSource轉換爲保留所有幀的圖像
- 4. 使用ffmpeg將RTP數據包轉換爲WAV或AU
- 5. 將熊貓數據框轉換爲numpy數組,保留索引
- 6. 使用FFMPEG將視頻轉換爲FLV
- 7. 使用ffmpeg將WAV轉換爲AIFF
- 8. 使用ffmpeg將rtmp流轉換爲png
- 9. 使用FFMPEG將AMR轉換爲MP3
- 10. 使用ffmpeg庫將.264轉換爲.ts
- 11. C++ Cout將字符串轉換爲十進制數並保留所有小數
- 12. 使用ffmpeg轉換音頻文件並保留專輯插圖
- 13. 使用ffmpeg將mp4轉換爲gif時使用ffmpeg下載fps
- 14. 將所有元素轉換爲屬性
- 15. 將XML供稿轉換爲JSON以保留iTunes:圖像數據
- 16. 無法保存ffmpeg視頻轉換中的元數據
- 17. 如何將AY音樂文件轉換爲FLAC在Linux中保留元數據?
- 18. 將列表轉換爲數據框,同時保留列表元素名稱
- 19. 將docx轉換爲mediawiki並保留[[Image:]]
- 20. 使用iText將PDF格式轉換爲PDF格式(保留數據)
- 21. ffmpeg將mov轉換爲flv
- 22. 如何使用ffmpeg自動將所有MP4文件轉換爲FLV?
- 23. ffmpeg將MKV轉換爲MP4,同時保留音頻和字幕標題
- 24. 使用XSL將所有元素名稱轉換爲小寫?
- 25. 使用xslt將所有xml元素轉換爲txt
- 26. 使用PHP將XML轉換爲JSON,同時保留陣列
- 27. 使用XSLT將XML轉換爲CSV - 保留波蘭語字母
- 28. 使用iTextSharp將圖像轉換爲PDF保留剪切路徑
- 29. 使用PIL將PNG32轉換爲PNG8,同時保留透明度
- 30. 如何將功能鍵F3轉換爲字節數組?
請注意,下一次,你應該問在[蘇]'ffmpeg' CLI使用的問題。 [so]僅適用於涉及編程的問題。另外,FLAC [官方支持Vorbis評論](http://xiph.org/flac/format.html#format_overview),所以我假設你想轉換爲ID3v2而不是「保持」。 – LordNeckbeard 2014-09-29 23:31:12
好的,我解決了我的問題。我在這裏問,因爲我在StackOverflow上看到這樣的問題(例如[this](http://stackoverflow.com/questions/24840708/ffmpeg-convert-flac-to-mp3-and-add-album-art-in-one一步)或[這](http://stackoverflow.com/questions/15294844/with-ffmpeg-trying-to-change-a-container-from-mpeg-ts-to-mp4-fps-became-twice) ),並認爲分享我的知識可能很有趣。另外,我看到有一個[ffmpeg標籤](http://stackoverflow.com/questions/tagged/ffmpeg),那麼爲什麼不在這裏分享我的解決方案?許多開發人員在很多應用程序中使用ffmpeg。 – 2014-09-30 09:33:13
[tag:ffmpeg]標籤說:「關於交互式使用FFmpeg命令行工具的問題應該在超級用戶上提出。」這不是什麼大問題,但我只想指出,因爲在我看來,這裏有太多的離題問題。 – LordNeckbeard 2014-09-30 17:09:21