FFmpeg命令添加视频字幕
FFmpeg添加字幕
首先需要科普下。vob,mkv等格式文件以流的形式存储字幕,而mp4不支持这种方式。如果希望生成带字幕的mp4文件,只能将字幕“烧录”到视频中。 也就是说我们需要将字幕流与视频流进行合成。最终只留下视频流。这样肯定会对原始的视频的画质造成一定影响。
直接将mkv及里面得转换成mp4
ffmpeg -i input.mkv -filter_complex [0:v][0:s]overlay[v] -map [v] -map 0:a -acodec libvo_aacenc -ac 2 -ar 48000 -ab 320k output.mp4
官网有一篇已经写的很详尽的文章 HowToBurnSubtitlesIntoVideo可以作为参考资料。
利用ffplay播放字幕和视频
ffplay -vf subtitles=subtitle.ass input.mp4
非常简单,其实就是指定使用字幕的avfilter除了ass也可以使用srt。
SRT格式
最简单的就是.srt格式的字幕了,如图所示,按照一定的格式规则编辑好字幕内容到记事本中,另存为.srt文件,文件名必须与影片名一致,用KMP或暴风影音播放影片,字幕会自动加载,相同的,把.srt字幕文件拖动到记事本中,就可以对字幕的内容,字幕出现的时间进行随意编辑;

FFmpeg命令添加视频字幕的更多相关文章
- 使用 FFMPEG 命令为视频嵌入字幕
有些电影的视频与字幕是分离的,如果在视频中嵌入字幕,那么观看起来会更方便一些,不必在播放前额外去加载字幕文件. 在 Linux 中,可以使用 ffmpeg 命令实现上述功能. ffmpeg -i in ...
- FFmpeg命令行工具和批处理脚本进行简单的音视频文件编辑
FFmpeg_Tutorial FFmpeg工具和sdk库的使用demo 一.使用FFmpeg命令行工具和批处理脚本进行简单的音视频文件编辑 1.基本介绍 对于每一个从事音视频技术开发的工程师,想必没 ...
- 多媒体开发(4):在视频上显示文字或图片--ffmpeg命令
小白:我录了段视频,里面用的音乐是有版权的,而且快过期了,能把音乐去掉吗? 小程拿到视频后,一个快捷键打开命令终端,快速打下一行命令: ffmpeg -i 小白.flv -vcodec copy -a ...
- 音视频】5.ffmpeg命令分类与使用
GT其实平时也有一些处理音视频的个人或者亲人需求,熟练使用ffmpeg之后也不要借助图示化软件,一个命令基本可以搞定 G: 熟练使用ffmpeg命令!T :不要死记硬背,看一遍,自己找下规律,敲一遍, ...
- Ffmpeg 视频教程 向视频中添加文字
Ffmpeg支持添加文字功能,具体如何将文字叠加到视频中的每一张图片,FFmpeg调用了文字库FreeSerif.ttf.当我们 用到ffmpeg 添加文字功能时 我们需要先下载改文字库,下载地址是h ...
- ffmpeg保持原视频画面比例 自动添加黑边
ffmpeg保持原视频画面比例 自动添加黑边 例如源是1280*528要转成640*480要保持画面比例实际上应该640*264 所以需要在上下都加黑边 ffmpeg -i d:/Media/e.f4 ...
- web视频添加webvtt字幕测试
1.使用MP4硬字幕,如下, 2.使用HTML5 添加webvtt字幕,可惜到现在还没有测试成功.
- 学习FFmpeg API – 解码视频
本文转载 视频播放过程 首先简单介绍以下视频文件的相关知识.我们平时看到的视频文件有许多格式,比如 avi, mkv, rmvb, mov, mp4等等,这些被称为容器(Container), 不同的 ...
- java封装FFmpeg命令,支持原生ffmpeg全部命令,实现FFmpeg多进程处理与多线程输出控制(开启、关闭、查询),rtsp/rtmp推流、拉流
前言: 之前已经对FFmpeg命令进行了封装http://blog.csdn.net/eguid_1/article/details/51787646,但是当时没有考虑到扩展性,所以总体设计不是太好, ...
随机推荐
- [ext]form.submit()相关说明
form.submit({ url:"../addOrUpdatePack.shtml",method:'POST',success:function(f,action) { ...
- 反激 (Flyback) 控制器 -- LTC3803
LTC3803 - 采用 ThinSOT 封装的恒定频率.电流模式.反激式 DC/DC 控制器 特点 VIN 和 VOUT 仅受限于外部元件 可调斜率补偿 内部软起动 200kHz 恒定频率操作 ±1 ...
- java Integer包装类装箱的一个细节
原文:https://www.cnblogs.com/JackPn/p/9392145.html java有八个基本数据类型,每个都有对应的一个包装类,比如int对应的Integer.从jdk1.5开 ...
- linux查看某个端口是被哪个进程占用的
查看某个端口是被哪个进程占用的: netstat -tunpl | grep 6379
- Linux下查找命令(收集整理)
原文:http://blog.csdn.net/sunstars2009918/article/details/8510878 一.Linux查找文件的相关命令 常 用 命 令 简要中文说明 程序所在 ...
- [转载] 无所不能的“蚂蚁”--Ant
说他无所不能,好像有点夸张,但是用过Ant之后,感觉真的是只有想不到没有作不到.Ant,原作者选择他作为软件名字的意思是指"令一个简洁的工具"(Another Neat Tool) ...
- Appium+python自动化11-adb必知必会的几个指令
前言 学android测试,adb是必学的,有几个常用的指令需要熟练掌握 一.检查设备 1.如何检查手机(或模拟器)是连上电脑的,在cmd输入: >adb devices
- 黑马day16 jquery入门
jquery: 1.jQuery 对象就是通过jQuery包装DOM对象后产生的对象. jQuery对象是jQuery独有的.假设一个对象是jQuery对象,那么它就能够使用jQuery里的方法:$( ...
- Scurm 术语
角色 Product Owner Scrum Master Team 工件(Backlog) Product Backlog Sprint Backlog Burndown Backlog 活动 Sp ...
- STL之set集合容器 【转】
set集合容器实现了红黑树(Red-Black Tree)的平衡二叉检索树的的数据结构,在插入元素时,它会自动调整二叉树的排列,把该元素放到适当的位置,以确保每个子树根节点的键值大于左子树所有节点的键 ...