經常使用的字幕格式
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