ffmpeg -i input.mp4 -lavfi "subtitles=/path/to/the/subtitle.srt:force_style='Alignment=2,MarginV=5'" -y out.mp4
ffmpeg -y -i 949_000.mp4 -lavfi "subtitles=/data/publish/test/time.srt:force_style='Alignment=2,MarginV=10,Fontsize=25,Fontname=AGENCYB.TTF'" out.mp4
一、添加字幕
说明:
/path/to/the/subtitle.srt
:字幕文件路径Alignment=2
:底部居中MarginV=5
:离底部的距离
01.Name 风格(Style)的名称. 区分大小写. 不能包含逗号.
02.Fontname 使用的字体名称, 区分大小写.
03.Fontsize 字体的字号
04.PrimaryColour 设置主要颜色, 为蓝-绿-红三色的十六进制代码相排列, BBGGRR. 为字幕填充颜色
05.SecondaryColour 设置次要颜色, 为蓝-绿-红三色的十六进制代码相排列, BBGGRR. 在卡拉OK效果中由次要颜色变为主要颜色.
06.OutlineColour 设置轮廓颜色, 为蓝-绿-红三色的十六进制代码相排列, BBGGRR.
07.BackColour 设置阴影颜色, 为蓝-绿-红三色的十六进制代码相排列, BBGGRR. ASS的这些字段还包含了alpha通道信息. (AABBGGRR), 注ASS的颜色代码要在前面加上&H
08.Bold -1为粗体, 0为常规
09.Italic -1为斜体, 0为常规
10.Underline [-1 或者 0] 下划线
11.Strikeout [-1 或者 0] 中划线/删除线
12.ScaleX 修改文字的宽度. 为百分数
13.ScaleY 修改文字的高度. 为百分数
14.Spacing 文字间的额外间隙. 为像素数
15.Angle 按Z轴进行旋转的度数, 原点由alignment进行了定义. 可以为小数
16.BorderStyle 1=边框+阴影, 3=纯色背景. 当值为3时, 文字下方为轮廓颜色的背景, 最下方为阴影颜色背景.
17.Outline 当BorderStyle为1时, 该值定义文字轮廓宽度, 为像素数, 常见有0, 1, 2, 3, 4.
18.Shadow 当BorderStyle为1时, 该值定义阴影的深度, 为像素数, 常见有0, 1, 2, 3, 4.
19.Alignment 定义字幕的位置. 字幕在下方时, 1=左对齐, 2=居中, 3=右对齐. 1, 2, 3加上4后字幕出现在屏幕上方. 1, 2, 3加上8后字幕出现在屏幕中间. 例: 11=屏幕中间右对齐. Alignment对于ASS字幕而言, 字幕的位置与小键盘数字对应的位置相同.
20.MarginL 字幕可出现区域与左边缘的距离, 为像素数
21.MarginR 字幕可出现区域与右边缘的距离, 为像素数
22.MarginV 垂直距离
1. 添加新的字体需要安装以下的软件
apt-get install ttf-mscorefonts-installer
apt-get install fontconfig
2. 将ttf等字体文件放到/usr/local/share/fonts/中,运行以下命令
1) 修改ttf权限,chmod 777 xxx.ttf
2)mkfontscale
3)mkfontdir
4)fc-cache -fv
5)查看linux系统都有什么字体,fc-list :lang=zh
二、添加标题
ffmpeg -y -i 949_000.mp4 -c:v libx264 -preset veryfast -s 1280x720 -r 25 -b:v 1500k -bufsize 1500k -maxrate 1500k -minrate 1500k -rc_init_occupancy 1125k -max_delay 1.4M -vf drawtext="fontfile=/usr/share/fonts/truetype/dejavu/DejaVuSerif.ttf:textfile=time.srt:x=100:y=200:fontsize=50:fontcolor=0xFF0000:reload=1" -c:a libfdk_aac -profile:a aac_low -b:a 64k -ar 48000 -ac 2 -muxrate 2000k -f mpegts -max_interleave_delta 1000000 out.mp4
三、修改分辨率
ffmpeg -i video_1920.mp4 -vf scale=640:360 video_640.mp4 -hide_banner
免费的播放器: