蒐集了不少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 字幕。
隨機文章
- Openmediavault 6.x 初測 還行 (2021-07-22)
- Windows Server 2003 to access Openmediavault 4.X (2019-03-22)
- htc提供一下手機原廠ROM這麼難嗎? (2013-12-26)
- 連低階的機器人程式都檔不住攻擊 捕夢網跟人家說什麼雲端主機 (2017-02-24)
- gmail 推出優先收件匣 (2010-09-02)

![[chatGPT 測試] DSM 7 有什麼特色](https://chihping.aflypen.com/wp-content/uploads/2023/03/usb-ga13f61ece_1280-300x221.jpg)
![[chatGPT 測試] 比較Synolgy TrueNAS 和 OpenMediaVault](https://chihping.aflypen.com/wp-content/uploads/2023/03/synolgo_opensource_comparison-300x169.jpg)





![[chatGPT 測試] 剪映 文字成片 VS. Wondershare Filmora 13 AI 文字轉影片](https://chihping.aflypen.com/wp-content/uploads/2023/12/剪映_音樂-137x300.png)