蒐集了不少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 字幕。
隨機文章
- NET.RU, ORG.RU, PP.RU 域名不再免費? (2010-12-20)
- 調查局認真一點,網路上有一案子可以做 (2012-05-21)
- 受保護的內容: CentOS 7 webmin 防火牆 OPENLDAP htop iftop (2016-08-02)
- 終於知道為什麼VMware效能會比VirtualBox來的好了 (2012-09-14)
- 國家寶藏2影評 (2008-02-12)





![[chatGPT 測試] 評測開箱 Synology DS918+](https://chihping.aflypen.com/wp-content/uploads/2023/03/hdd-g6fc6f0659_640-300x228.png)


