ffmpeg添加字幕文件
ffmpeg -i input.mp4 -vf subtitles=subtitle.srt output.mp4
理论上这样就ok了,可以加src lrc ass等字幕文件
但是,实际运用当中,下面这种就会报错
ffmpeg -i input.mp4 -vf subtitles= D:/字幕文件/subtitle.srt output.mp4
因为路径中出现了盘符 即D:这种,所以正确(能用)的写法应该是下面这样
ffmpeg -i input.mp4 -vf subtitles= /字幕文件/subtitle.srt output.mp4
但这种写法也只是勉强能用 需要字幕文件在同一硬盘中
所以最终方案如下
ffmpeg -i D:项目视频处理mix拼接侧脸-于果.mp4 -i F:音乐mv歌曲侧脸-于果.mp3 -vf subtitles='F:/音乐mv/歌曲/侧脸-于果.lrc' -y D:项目视频处理mix成品侧脸-于果.mp4
可以看到视频路径 音频路径都是正常的路径 但是字幕路径需要是正斜杠/,而且必须用单引号引起来,而且要用反斜杠转义
这个命令在cmd下就可以正常跑了,但在其他语音环境下,如python 需要再加一层反斜杠,即
cmdLine="ffmpeg -i D:项目视频处理mix拼接侧脸-于果.mp4 -i F:音乐mv歌曲侧脸-于果.mp3 -vf subtitles='F:/音乐mv/歌曲/侧脸-于果.lrc' -y D:项目视频处理mix/成品/侧脸-于果.mp4"
subprocess.call(cmdLine, shell=True)