使用FFMPEG将MKV转换为MP3时添加元数据

时间:2020-08-16 22:25:40

标签: batch-file audio ffmpeg metadata mp3

我正在尝试将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")

0 个答案:

没有答案