蒐集了不少4K的原檔,但是機上盒播不了,所以有轉檔的需求
ffmpeg -i input.mp4 -vf “scale=’min(1920,iw)’:-2” -c:v libx265 -crf 28 -c:a copy -c:s mov_text -vf subtitles=subtitles.srt output.mp4
可是怎麼也執行不起來,因為字幕,我是用有特效的.ass格式,輸入檔也不是mp4格式,而是MKV格式
給出的指令是
ffmpeg -i input.mp4 -vf “scale=’min(1920,iw)’:-2” -c:v libx265 -crf 28 -c:a copy -c:s mov_text -vf subtitles=subtitles.ass output.mp4
執行時出現錯誤
[sost#0:2/mov_text @ 000001d9858ee2c0] Subtitle encoding currently only possible from text to text or bitmap to bitmap
Error opening output file Inception.2010.mp4.
Error opening output files: Invalid argument
ChatGPT 給出2種解法,我用方法1,不用方法2,方法2字幕要轉檔。
該錯誤是由於 mov_text 字幕格式無法從 .ass 字幕文件轉換而引起的。mov_text 只支持基於文本的字幕(如 .srt)或基於圖片的字幕,而 .ass 字幕是一種豐富格式的字幕,無法直接轉換為 mov_text。
要解決這個問題,你有兩個選擇:
1. 將 .ass 字幕燒入到影片中(硬字幕)
這種方式會將字幕直接嵌入到影片畫面中,字幕無法被關閉。你可以繼續使用 ass 文件,這樣可以保留 .ass 的豐富格式(如字體、樣式等)。
修改命令如下:
ffmpeg -i input.mkv -vf “scale=’min(1920,iw)’:-2,subtitles=’input.ass'” -c:v libx265 -crf 28 -c:a copy output.mp4
這樣 ffmpeg 會將 .ass 字幕燒入影片,並同時進行影片轉碼。
2. 將 .ass 轉換為 .srt 字幕(軟字幕)
如果你想保留軟字幕(可以打開或關閉),並且你的目標是 mov_text,你需要先將 .ass 字幕轉換為 .srt 格式。
你可以使用以下工具將 .ass 字幕轉換為 .srt 字幕:
使用字幕編輯工具如 Aegisub。
使用 ffmpeg 自身(需要配合其他軟體如 ffsubsync)來處理。
轉換後,使用以下命令進行轉碼:
指令
ffmpeg -i input.mkv -vf “scale=’min(1920,iw)’:-2” -c:v libx265 -crf 28 -c:a copy -c:s mov_text -vf “subtitles=’input.srt'” output.mp4
這樣,你可以保留可關閉的 .srt 字幕。
隨機文章
- 手機上網不是吃到飽的人,錢正在流失? (2018-05-21)
- wordpress 自動更新問題 (2009-12-24)
- 終於聞到號稱可以減肥的斑馬珊瑚仙人掌花香 (2011-08-23)
- 【左手漲電價、右手拿補貼、中油還割肉】恭喜台電榮登「邏輯鬼才」獲利王! (2026-01-28)
- 模擬出XenServer HA架構 (2016-08-28)








