【发布时间】:2020-09-09 17:14:29
【问题描述】:
是否可以获取输入文件的标题元数据,并将其用作输出文件的文件名?我正在尝试对一系列视频文件进行编码,并且我想自动将剧集的名称附加到文件名中,但我对使用 ffmpeg 还是很陌生,到目前为止,谷歌搜索被证明是不成功的。
我也在尝试编写一个对整个文件夹进行编码的批处理脚本,目前它看起来像for %%a in ("*.mkv") do ffmpeg -i %%a -filter_complex "[0:v][0:s:1]overlay[subs];[subs]scale=960:720" -map 0:a:1 -acodec copy -sn test.mp4
我应该用什么代替“test.mp4”?
【问题讨论】:
-
我建议您将
test.mp4替换为"%%~na.mp4"。此外,您也应该将-i %%a更改为-i "%%a"。 -
获取标题元数据:
ffprobe -v error -show_entries format_tags=title -of csv=p=0 input.mp4 -
@llogan,这个问题是关于
ffmpeg,OP没有提到有ffprobe,因为那是另一个第三方应用程序,他们需要先下载它。你真的应该把这些事情说清楚。 Piotr Adryan,您需要澄清一下,如果当您说出剧集的名称时,这些名称本质上是分配给 mkv 文件的名称,(如我的评论中所假设的),或文件的内部部分元数据本身,(洛根的评论)。 -
@Compo
ffprobe是 FFmpeg 的另一个工具。 “确保你先下载它”对我来说似乎是多余的。您应该给 OP 足够的信任,让他们可以自己确定这些事情(这很明显)。使用ffmpeg以理智的方式获取标题元数据是不可能的。诸如此类的用途正是ffprobe的用途。 -
我知道
ffprobe是@llogan,它不是问题的一部分,也不是它的标签,是一个单独的下载,OP 没有提到他们有。
标签: batch-file ffmpeg