ffmpeg 字幕格式转换,webvtt字幕格式,srt字幕格式

坚强是说给别人听的谎言 提交于 2020-08-17 08:54:56

常见的字幕格式

https://zh.wikipedia.org/wiki/%E5%AD%97%E5%B9%95%E6%A0%BC%E5%BC%8F
常见的格式:srt、ass、webvtt

srt 字幕格式

SRT(Subripper)是最简单的文本字幕格式,扩展名为.srt
每个字幕段有四部分构成:

  1. 字幕序号
  2. 字幕显示的起始时间
  3. 字幕内容(可多行)
  4. 空白行(表示本字幕段的结束)
    如:
45
00:02:52,184 --> 00:02:53,617
慢慢来

这表示:第45个字幕,显示时间从该影片开始的第2分52.184秒到第2分53.617秒,内容为:慢慢来

webvtt 字幕格式

webvtt 字幕格式会字幕文件前添加6个字母标识即 WEBVTT,内容和srt格式内容一样。

ffmpeg 字幕处理

ffmpeg 添加视频软字幕

  1. 将字幕封装到容器中
    ffmpeg -i input.mp4 -i subtitles.srt -c copy output.mp4
  2. 从容器中提取字幕流
    ffmpeg -i input.mp4 output.srt

例子中生成的是 srt 格式的,可以任意生成所需的格式,改一下扩展名即可。

输出轨道信息:

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'output.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    date            : 2020-03-03T09:02:55.0766495+08:00
    encoder         : Lavf58.29.100
  Duration: 02:06:46.12, start: 0.000000, bitrate: 244 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080, 2449 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 124 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
    Stream #0:2(und): Subtitle: mov_text (tx3g / 0x67337874), 0 kb/s (default)
    Metadata:
      handler_name    : SubtitleHandler

ffmpeg 添加视频硬字幕

通过ffmpeg在视频流上面加上添加硬字幕,需要使用 subtitles 的滤镜,命令 -vf subtitles=字幕文件名 ,这个操作会对视频重新编码。

  1. 使用 subtitles 滤镜为视频添加字幕(将字幕合成到视频流中,输出文件中不含字幕流,硬字幕):
    ffmpeg -i input.mp4 -vf subtitles=subtitles.srt output.mp4

  2. 将 input.mp4 中的字幕(默认)嵌入到 output.mp4 文件:
    ffmpeg -i input.mp4 -vf subtitles=input.mp4 output.mp4

  3. 将 input.mp4 中的字幕(第二个)嵌入到 output.mp4 文件
    ffmpeg -i input.mp4 -vf subtitles=input.mkv:si=1 output.mp4

关于 subtitles 滤镜的详细用法:
http://ffmpeg.org/ffmpeg-all.html#subtitles-1
ass 等字幕格式使用方法一样。

输出视频硬字幕效果:
在这里插入图片描述

ffmpeg 字幕格式转换

ffmpeg -i a.ass b.srt
ffmpeg -i c.vtt d.srt
ffmpeg -i e.lyric f.srt

参考

字幕网址:
http://www.zmxiazai.com/
https://www.zimutiantang.com/
可以网址上的常见的字幕来进行分析和测试。


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!