ffmpeg 硬壓字幕的實現

經常使用的字幕格式

webvtt、ass、srthtml

硬壓字幕參數

ffmpeg -i 「imput.mp4」 -lavfi 「subtitles=subtitles.srt:force_style=‘Alignment=0,OutlineColour=&H100000000,BorderStyle=3,Outline=1,Shadow=0,Fontsize=18,MarginL=5,MarginV=25’」 -crf 1 -c:a copy 「output.mp4」web

ffmpeg -i "imput.mp4" -lavfi "subtitles=subtitles.srt:force_style='Alignment=0,OutlineColour=&H100000000,BorderStyle=3,Outline=1,Shadow=0,Fontsize=18,MarginL=5,MarginV=25'" -crf 1 -c:a copy "output.mp4"
參數:
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         垂直距離
參考:

https://stackoverflow.com/questions/57869367/ffmpeg-subtitles-alignment-and-position
http://www.mamicode.com/info-detail-1764596.html
bash

相關文章
相關標籤/搜索