一. 字幕基础

字幕分为三种:硬字幕,软字幕,以及外挂字幕。

硬字幕:又名内嵌字幕,把视频和字幕文件压制在同一组数据里,看起来就像是叠加的水印一般,硬叠加完成后字幕不可被修改,之后你再手机端,网页端看起来字幕效果都一样不会改变。

软字幕:分为内挂字幕(dvb字幕)和隐藏式字幕(cc字幕)。
内挂字幕:一般是隐藏式的,播放器播放必须选择字幕轨道,选择相应的字幕流,这样才能显示字幕,位置一般出现在画面底部。
cc字幕:一般是给听力障碍的人士用的,他和内挂字幕的区别就是位置的不同,它的位置出现在视频的人物旁边,协助人们读懂意思。

外挂字幕:外挂字幕比较容易获取,随便在网站都可以找一个字幕文件,然后使用特别的播放器来加载字幕文件,这样就可以在画面上看到相应的字幕。

二.overlay滤镜处理字幕

这次遇到的问题就是关于处理dvb字幕的问题,ffmpeg处理字幕方式大概有copy模式以及硬叠加模式。copy模式就是不改变原本的字幕流。硬叠加模式就是把之前的字幕变为硬字幕。在这个过程中硬叠加字幕怎么处理呢?

使用ffmpeg的overlay滤镜来处理字幕
一般都是这种命令格式:
ffmpeg -i video.avi -vf subtitles=subtitle.srt out.avi
ffmpeg -i video.mkv -vf subtitles=video.mkv out.avi
ffmpeg -i video.avi -vf “ass=subtitle.ass” out.avi
ffmpeg -i 1.mp4 -i 1.sub -i 1.idx -filter_complex “[0:v][2:s]overlay=0:H-h” -c:v libx264 out.mp4

但是我们这里特殊一点,我们是用的dvb字幕,就是视频源里边包含了几条字幕流,我们只需要解封装,然后解码就可以得到相应的字幕,然后使用滤镜来提取相应的字幕流,然后叠加到视频上。这就是这次问题的处理思路。只要把思路转换成命令,这次任务就搞定了。

使用的命令框架:
./ffmpeg -txt_transparent 1 -i
./teletext_1920_1080I.ts -filter_complex
“[0:s:0] scale [sub],[0:v][sub]overlay” out.ts

但是最后结果是字幕大小不对,查看命令,最后发现一点字幕滤镜分辨率应该和视频分辨率匹配,不然会出现这种问题(来自老司机的建议)。

./ffmpeg -txt_transparent 1 -i
./teletext_1920_1080I.ts -filter_complex
“[0:s:0] scale=1920:1080 [sub],[0:v][sub]overlay” out.ts

然后在此基础上加入各种转码的命令,填充你需要的参数,最后转码完成。注意视频和滤镜叠加的顺序是
视频 + 字幕 + overlay顺序也是不能搞错的
滤镜之间的连接一般用[sub],[sub]这种形式连接的,你可以在某个滤镜后面加[sub],
然后隔几个滤镜,再用[sub]这样连接起来。

字幕基础以及滤镜处理字幕的相关推荐

  1. 字幕基础:字幕介绍、字幕种类及常见格式(转)

    字幕基础:字幕介绍.字幕种类及常见格式 字幕是指电影.电视,以及戏剧.歌剧等舞台作品中出现的各种用途的文字.如版权标识.片名字幕.演(职)员表.说明字幕.歌词字幕.对白字幕等.这些字幕按照影片放映时出 ...

  2. html网页视频加滚动字幕,视频加一行滚动字幕

    你想知道在电视上偶尔出现在底下的滚动字幕是怎么制作的吗?嘻嘻,我也好奇!于是经过本人多日的综合比较和搜索,找了一款支持视频添加字幕的视频编辑软件,可以快速给视频加好看的滚动字幕,其特色如自定义编辑文字 ...

  3. html 字幕飘动效果,html 滚动字幕 制作滚动字幕效果 参数

    制作滚动字幕效果:marquee标签 如下:<MARQUEE direction=up height=146 οnmοuseοut=start() οnmοuseοver=stop() scro ...

  4. 给视频加字幕HTML代码,一键添加字幕的软件推荐,几分钟学会给短视频加字幕,自媒体人都在用...

    很多人觉得给短视频加字幕很辛苦? 今天给大家介绍几款给短视频添加字幕用到的软件. 1.字幕通: 字幕通是一款全新模式的智能视频翻译软件,将繁琐的视频字幕翻译制作工作最大程度的便捷化,成功实现从切分时间 ...

  5. python 视频字幕合并_怎么把字幕和视频合并(教你两者合并方法)

    其实超简单超简单!python好现成的库,一下子省略了好多步骤! 本文在Windows环境下!linux只是不需要手动输入imagicmagick的位置! PS:如有需要Python学习资料的小伙伴可 ...

  6. 如何在EDUIS中导出ETL字幕模板_Arctime教程——将字幕导出到剪辑/合成软件

    使用教程 > 将制作好的字幕导出到剪辑/合成软件 在Arctime中制作好字幕时间轴后,不管是单语还是双语字幕,都可以导入到常用的剪辑软件当中. 这个功能适用于以下用户: 制作字幕只是你工作流程 ...

  7. 怎么把php字幕导入视频,怎么往视频加广告还有字幕 字幕怎么导入视频里|视频字幕制作软件怎么把字幕嵌入视频...

    首先,怎么往视频加广告还有字幕? ----- ----- 其次,已经制作好的字幕怎么导入视频里?嗯~ o(* ̄▽ ̄*)o ,这里的方法就比较多了,一种是比较快捷的,但前提视频是mkv视频格式,如下图, ...

  8. TED演讲集 TED视频打包下载(MP4+中英字幕) TED中英文对照字幕视频 TED资料文档 完整

    TED演讲集 TED视频打包下载(MP4+中英字幕) TED中英文对照字幕视频 TED资料文档 学习英语的好帮手 TED1984-2019全部中英对照演讲稿集视频 下载CSDN 一.TED简介: TE ...

  9. html5字幕提取软件,Subtitle Extractor(字幕提取软件)

    Subtitle Extractor是一款实用的字幕提取工具,该软件可以帮助用户轻松从视频中将字幕提取出来,而且软件支持对字幕进行编辑或者修改,软件使用方法简单,用户直接将视频打开,待软件检测完毕之后 ...

最新文章

  1. linux下Redis以及phpredis扩展安装
  2. iOS流媒体直播整个框架介绍(HLS、RTSP)
  3. php对象编程遇到的BUG!
  4. hadoop学习--多表关联
  5. AI For Everyone:Andrew Ng想用30分钟的非技术课程传达的内容
  6. 替换WordPress调用的Google前端库为360镜像的库
  7. 搜索引擎下拉食云速捷详细_下拉框优化才云速捷一流!下拉框优化虑云速捷豪杰...
  8. ZooKeeper启动过程
  9. 初窥R(基本说明、获取帮助、工作空间、输入输出、包)
  10. Flutter进阶—自定义主题风格
  11. swoft使用redis
  12. C#中的==、Equal、ReferenceEqual
  13. Python科学计算函数库介绍
  14. 超定方程的求解、最小二乘解
  15. word之中快速插入已有公式的几种方法
  16. 数学基础之列联表分析2——独立性检验(卡方检验)
  17. CSS盒子模型居中方法,附超全教程文档
  18. 洛谷 P1653 猴子 解题报告
  19. 记录一个报错问题 关于调用win32com打开文档
  20. 分享一个C语言矿井逃生迷宫小游戏【附源码】

热门文章

  1. linux下snprintf用法,关于snprintf,_snprintf,_snprintf_s操作
  2. repeatation翻译_半导体专业术语英语及汉语翻译
  3. 计算机英语专业的结合,工学结合模式下的高职计算机专业英语教学探索
  4. 怎么批量打印CAD图纸?打印需要注意哪些问题。
  5. revit二次开发-HelloWorld,入门
  6. 一场pandas与SQL的巅峰大战(七)
  7. JLINK在ADS中的调试心得
  8. 【Unity3d基础】Unity换装系统(1)
  9. A股三大股指集体收跌 沪指失守2600点
  10. postfix空壳邮件服务