batch-file - 在使用 FFMPEG 将 MKV 转换为 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")
解决方案
推荐阅读
- node.js - 如何找出哪些包与哪个版本的 Node 兼容?
- python - Python numpy.vectorize:ValueError:无法构造具有超过 32 个操作数的 ufunc
- javascript - 如何在按钮单击中更改向上箭头和向下箭头
- r - 如何计算集群内的状态与集群中心的距离?
- autodesk-forge - 超出 Forge DA4R 内存限制
- javascript - 无法正确渲染 Material UI React Grid
- python - 在 Python 中有效地从稀疏矩阵的列中减去平均值
- asp.net - system.webserver/rewrite/allowedservervariables 无法读取,因为它缺少部分声明
- parsing - 是否每个 DCFL 都有 LR(0)、SLR(1) 和 LALR(1) 解析器???请回答我的问题
- r - 使用 rollregres 跳过 NA