根据您提供的信息,错误提示是"Stream map '1:a' matches no streams",意思是在命令的音频流映射部分出错了。
这个问题可能是由于视频文件中没有音频流导致的。您可以先检查一下视频文件是否包含音频。如果没有音频,您可以尝试移除命令中的音频流映射部分,只保留视频流映射部分。修改后的代码如下:
command = f'ffmpeg -y -i {video} -i {srtPath} '
command += '-map 0:v '
# command += '-map 1:a '
command += '-c:v libx264 -b:v 3000k '
command += f'-vf "subtitles={srtPath}:force_style=\'Fontsize=10,Fontname=黑体,Spacing=0\'" '
command += f'{outputFileNameAndPath}'
os.system(f"""{command}""")
这样修改后,ffmpeg命令将仅处理视频流,并忽略音频流。请注意,如果您确实需要处理音频流,请确保输入视频文件中包含音频流,或者使用合适的音频文件进行测试。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |