我正在使用MP4Box将字幕文件添加到视频中。以下命令在命令行中运行良好:
c:/GPAC/MP4Box -add c:/test.m4v#audio -add c:/test.m4v#video -add c:/test_en.srt:hdlr=sbtl:lang=en:group=2:layer=-1 -new c:/test2.m4v但是,我真正想做的是将命令放入一个.bat文件中。以下是我在批处理文件中的命令:
%1/GPAC/MP4Box -add %2/%3#audio -add %2/%3#video %4 -new %2/%3如你所见,我试图传入"-add c:/test.m4v#video -add c:/test_en.srt:hdlr=sbtl:lang=en:group=2:layer=-1“”作为第四个参数。我想这么做的原因是可能添加了很多字幕文件:
"-add c:/test.m4v#视频-add -add c:/test.m4v#视频-add test.m4v
所以我不知道需要多少个-add命令,所以我想把它们都作为一个参数传递进来。但是,mp4box不喜欢这样。
我不确定这是mp4box的限制还是批处理文件参数的限制。
发布于 2013-12-01 21:21:40
我知道这是一个老帖子,但对于将来搜索的任何人来说。
我在批处理文件中使用了以下方法,并结合filemenu工具,允许使用简单的右键单击菜单功能来启动批处理过程:
for %%a in (*.m4v) do mp4box -add "%%~Na.eng.srt":lang=eng:layout=0x60x0x-1:group=2:hdlr="sbtl:tx3g" "%%a"发布于 2012-01-24 07:44:47
每次需要运行批处理文件时,我都会从代码中编写/重写批处理文件,从而解决了这个问题。因此,我将使用所有参数创建批处理文件。运行它。然后删除该文件。这样做效果很好。
发布于 2012-06-24 00:53:11
Windows上的批处理文件很古怪,功能有限。你可以做的是使用Cygwin,它允许你在Windows上使用一个真正的shell (比如Bash )。
https://stackoverflow.com/questions/8979288
复制相似问题