软字幕(外挂字幕)
先获取视频元数据代码: 全选
ffmpeg -i 视频.mkv -hide_banner
现在我要添加第三个字幕, 可以如下操作
代码: 全选
ffmpeg -i 视频.mkv -i 字幕.ass -map 0:v:0 -map 0:a:0 -map 0:s:0 -map 0:s:1 -c:v copy -c:a copy -c:s copy -map 1 -metadata:s:s:2 language=zh_CN output.mkv
- 第一个输入流(视频.mkv)对应map 0, 第二个输入流(字幕.ass)对应map 1
- metadata:s:s:2 指向第三个字幕流元数据
- c:v 视频编解码方式
- c:a 音频编解码方式
- c:s 字幕编解码方式
硬字幕(将字幕烧录到视频上)
将外部字幕烧录到视频中(例如第二个字幕轨)代码: 全选
ffmpeg -i 视频.mkv -map 0:v:0 -map 0:a:0 -vf subtitles=字幕.ass output.mp4
代码: 全选
ffmpeg -i 视频.mkv -map 0:v:0 -map 0:a:0 -vf subtitles=视频.mkv:si:1 output.mp4
代码: 全选
ffmpeg -c:v h264_cuvid -i 视频.mkv -map 0:v:0 -map 0:a:0 -vf subtitles=字幕.ass -c:v h264_nvenc output.mp4
代码: 全选
ffmpeg -hwaccel cuda -hwaccel_output_format cuda -i 视频.mkv -map 0:v:0 -map 0:a:0 -vf subtitles=字幕.ass -c:v h264_nvenc output.mp4
代码: 全选
ffmpeg -i 视频.mkv -map 0:v:0 -map 0:a:0 -vf subtitles=字幕.ass -c:v h264_amf output.mp4
https://ffmpeg.org/ffmpeg.html#Stream-specifiers-1
https://developer.nvidia.com/blog/nvidi ... ing-guide/
https://trac.ffmpeg.org/wiki/HWAccelIntro
https://stackoverflow.com/questions/451 ... on-windows