我正在尝试将MKV文件转换为MP3,同时通过批处理文件添加元数据和专辑插图。我正在通过FFMPEG生成PNG,然后在添加元数据的同时转换为MP3,最后添加最初获得的专辑插图。
我尝试添加元数据,同时转换为MP3并添加图稿无效。我读到一些有关它过快地刷新缓冲区的内容,但我认为我可以通过在转换时添加它来解决它。
每个部分都可以工作,但是我无法将标题和艺术家添加到元数据中,或者至少在VLC可以读取它的地方。有什么建议吗?
@echo off
::Extracts a PNG thumbnail
for %%A in ("*.mkv") do (ffmpeg -ss 30 -i "%%A" -qscale:v 4 -frames:v 1 "%%~nA.png")
::Convert from MKV to MP3 and adds title and artist based on file name delimited by "-" eg Metallica - Enter Sandman.mkv
SETLOCAL ENABLEDELAYEDEXPANSION
for %%A in ("*.mkv") do (
set filename=%%~nA
set artist=
set song=
echo "!filename!"
for /F "tokens=1,2 delims=-" %%G in ("!filename!") do (
set artist="%%G"
set song="%%H"
echo !artist!
echo !song!
)
echo !song! by !artist!
ffmpeg -i "%%A" -b:a 192K -id3v2_version 4 -write_id3v2 1 -metadata title="%song%" -metadata artist="%artist%" -flush_packets 0 -vn "%%~nA.mp3"
)
::Add Artwork to MP3
for %%A in ("*.mp3") do (ffmpeg -i "%%A" -i "%%~nA.png" -map 0:0 -map 1:0 -c copy -id3v2_version 3 "UPDATED%%~nA.mp3")