我正在尝试自动将字幕添加到包含一些视频的文件夹中,因此我编写了以下脚本:
forfiles /p "C:\Users\titos\Resilio_Sync\4K_Video_Downloader\videoprocess" /m *.mp4 /C "cmd /c set filename=@fname & ffmpeg -i @file -vf subtitles="C:\Users\titos\Resilio_Sync\4K_Video_Downloader\videoprocess\@fname.srt" -f mp4 "C:\Users\titos\Resilio_Sync\4K_Video_Downloader\donesubs\@fname_srt.mp4""
但是,脚本为每个视频都抛出了以下错误:
[AVFormatContext @ 0000020c20220680] Unable to choose an output format for 'Der'; use a standard extension for the filename or specify the format manually.
[out#0 @ 0000020c20220580] Error initializing the muxer for Der: Invalid argument
Error opening output file Der.
Error opening output files: Invalid argument
在这种情况下,“Der”是视频标题的第二个单词(并且它对每个视频都做同样的事情,它会在第二个单词处抛出错误)。所以我认为这可能是由于视频包含空格并且 ffmpeg 无法正确解析它?但为什么在这种情况下它得到的是第二个单词而不是第一个单词?更重要的是,我该怎么做才能解决这个问题?
我确实找到了一些讨论类似问题的其他帖子,但坦率地说,我仍然太新手了,无法理解任何答案,因此无法将其改编到我的脚本中,哈哈。感谢您的帮助,提前谢谢 :)