首页 > 解决方案 > 如何在ffmpeg的批处理文件中编写注释?

问题描述

我对 ffmpeg 和为命令行编写批处理非常陌生。我有一堆 ffmpeg 批处理文件,用于各种视频处理任务,我想添加评论,以便其他用户可以理解它们并根据需要进行自定义。任何人都可以建议添加评论的方法吗?这是一个简化的示例,显示了我尝试过的内容:

C:\some_location\ffmpeg.exe ^
-i input_file -vsync cfr ^            rem /COMMENT_01
-map 0:v ^                            rem /COMMENT_02
-r 24000/1001 ^                       rem /COMMENT_03
-pix_fmt yuv444p10le ^                rem /COMMENT_04
-c:v prores_ks -profile:v 4444 ^      rem /COMMENT_05
-map_metadata -1 ^                    rem /COMMENT_06
output_file

这给出了消息:“无法为 'rem' 找到合适的输出格式”

C:\some_location\ffmpeg.exe ^
-i input_file -vsync cfr ^            & :: /COMMENT_01
-map 0:v ^                            & :: /COMMENT_02
-r 24000/1001 ^                       & :: /COMMENT_03
-pix_fmt yuv444p10le ^                & :: /COMMENT_04
-c:v prores_ks -profile:v 4444 ^      & :: /COMMENT_05
-map_metadata -1 ^                    & :: /COMMENT_06
output_file

这给出了消息:“在命令行上找到了尾随选项。” 然后没有一个选项被识别为命令。

C:\some_location\ffmpeg.exe ^
rem /COMMENT_01
-i input_file -vsync cfr ^
rem /COMMENT_02
-map 0:v ^
rem /COMMENT_03
-r 24000/1001 ^
rem /COMMENT_04
-pix_fmt yuv444p10le ^
rem /COMMENT_05
-c:v prores_ks -profile:v 4444 ^
rem /COMMENT_06
-map_metadata -1 ^
output_file

这给出了消息:“无法为 'rem' 找到合适的输出格式”

有没有人有任何想法?

标签: batch-filecommand-lineffmpegcommentsline-continuation

解决方案


C:\some_location\ffmpeg.exe ^
-i input_file -vsync cfr %= COMMENT_01 =% ^
-map 0:v %= COMMENT_02 =% ^
-r 24000/1001 %= COMMENT_03 =% ^
-pix_fmt yuv444p10le %= COMMENT_04 =% ^
-c:v prores_ks -profile:v 4444 %= COMMENT_05 =% ^
-map_metadata -1 %= COMMENT_06 =% ^
output_file

将未定义变量的扩展视为注释(扩展为空)。

续行^必须是该行的最后一个字符。%= COMMENT =%只要在 final 之前,每个都可以出现在行的任何位置^

此表格的评论不能包含:%

这仅适用于批处理文件。它不能在命令行上工作,因为在命令行模式下扩展未定义的变量不会导致空字符串。


推荐阅读