首页 > 解决方案 > 如何将封面艺术添加到 MP4?

问题描述

我正在尝试找到一种有效的方法来更新我计划放在 DLNA 服务器上的 MP4 文件的元数据。首先,我想让视频文件有封面。

我专门使用640x360JPG 文件作为封面。
我可能还想添加一些其他标签,例如媒体类型或更新标题。请让我知道可以做什么。

如果有可用的代码建议,请知道我在变量中有文件名详细信息%file%来处理事情。JPG 与源 MP4 文件具有相同的名称,因此很容易获取文件类型并删除扩展名,这就是我目前所做的。

我的目标是能够简单地将 MP4 文件放到以下批处理文件中,并知道其文件名和完整路径、JPG 文件,并将其附加到原始 MP4 文件中。显然ffmpeg.exe不会写入它从中提取的文件,所以我让它转到一个临时文件,然后使用 MOVE 用固定文件替换旧文件。

@ECHO OFF
set arg=%1
set file=%arg:~1,-5%
ffmpeg -i "%file%.mp4" -i "%file%.jpg" -acodec copy -vcodec copy -map 0 -map 1:0 "%file%WIP.mp4"
move /Y "%file%WIP.mp4" "%file".mp4"

这段代码似乎不起作用。它没有作为封面出现在 Windows 中,所以我会说它失败了。

标签: batch-fileffmpeg

解决方案


可以尝试一下,通过在命令行-map 0 -map 1:0输入名称文件后立即更改参数和位置-map 1 -map 0,所以,这对我有用......

对不起我有限的英语。

@echo off & cd "%~dp0" && setlocal enableextensions enabledelayedexpansion

for %%i in (%*) do ( 

     set "_arg=%%i"

     set "_file=!_arg:~1,-5!"

     if exist "!_file!.mp4" ffmpeg -i "!_file!.mp4" -i "!_file!.jpg"--map 1 -map 0  -acodec copy -vcodec copy "!_file!WIP.mp4" && move /Y "!_file!WIP.mp4" "!_file!".mp4"

     shift

    )

推荐阅读