博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ffmpeg 字幕格式转换,webvtt字幕格式,srt字幕格式
阅读量:4200 次
发布时间:2019-05-26

本文共 1935 字,大约阅读时间需要 6 分钟。

常见的字幕格式

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. 空白行(表示本字幕段的结束)
    如:
4500: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

参考

字幕网址:

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

转载地址:http://aqfli.baihongyu.com/

你可能感兴趣的文章
一个很不错的bash脚本编写教程,至少没接触过BASH的也能看懂!
查看>>
Redis和Memcache对比及选择
查看>>
用谷歌账号登陆magento、
查看>>
php oauth 模块在linux下安装
查看>>
代替nginx的服务器 - The Tengine Web Server
查看>>
nginx 升级成 tengine 的代码
查看>>
magento rest api 调用
查看>>
magento rest api 调用!
查看>>
magento rest api get Token key and secret
查看>>
谷歌获取货币汇率代码
查看>>
安装nginx
查看>>
手动6 - 隐藏Nginx版本号
查看>>
手动7 - nginx 日志切割
查看>>
magento - 使用后台设置的时间用法
查看>>
Linux常用命令
查看>>
清除文件中的.svn文件
查看>>
手动11 -nginx 优化配置
查看>>
php加速器 - zendopcache
查看>>
手动12 - 安装php加速器 Zend OPcache
查看>>
set theme -yii2
查看>>