MP4 檔案忽略 VLC 中的字幕設定

MP4 檔案忽略 VLC 中的字幕設定

當使用單獨的 .SRT 檔案播放 MKV 電影 (h264/aac) 時,VLC 讓我可以從選單完美控製字幕的外觀。

但是,將 MKV/SRT 無損轉換為內建字幕(「mov_text」)的 MP4 後,字幕顯示為小 Arial(?)字體,VLC 設定對此沒有影響。

我認為 MP4 檔案可能包含一些有關如何顯示優先字幕的信息,但即使在我從 MP4 檔案中刪除所有元資料後,這種情況仍然發生。

這是 VLC 中的錯誤/功能嗎?如何使其遵循各種視訊檔案的視覺字幕設定。

編輯:SRT 範例

1
00:00:00,000 --> 00:00:07,000
Lorem ipsum dolor sit amet,
consectetur adipiscing elit,

2
00:00:09,000 --> 00:00:12,000
sed do eiusmod tempor incididunt
ut labore et dolore magna aliqua.

(etc.)

編輯:請參閱下面的 FFMPEG 輸出

ffmpeg -y -i "in.mp4" -i "in.srt" -acodec copy -vcodec copy -scodec mov_text -absf aac_adtstoasc "out.mp4" ffmpeg version 2.8 Copyright (c) 2000-2015 the FFmpeg developers built with Apple LLVM version 7.0.0 (clang-700.0.72) configuration: --prefix=/usr/local/Cellar/ffmpeg/2.8 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-opencl --enable-libx264 --enable-libmp3lame --enable-libvo-aacenc --enable-libxvid --enable-ffplay --enable-libfdk-aac --enable-nonfree --enable-vda libavutil 54. 31.100 / 54. 31.100 libavcodec 56. 60.100 / 56. 60.100 libavformat 56. 40.101 / 56. 40.101 libavdevice 56. 4.100 / 56. 4.100 libavfilter 5. 40.101 / 5. 40.101 libavresample 2. 1. 0 / 2. 1. 0 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 2.101 / 1. 2.101 libpostproc 53. 3.100 / 53. 3.100 Input #0, mpegts, from 'in.mp4': Duration: 00:55:34.20, start: 10.099667, bitrate: 2441 kb/s Program 1 Stream #0:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc Stream #0:1[0x101]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 162 kb/s Stream #0:2[0x102]: Data: timed_id3 (ID3 / 0x20334449) Input #1, srt, from 'in.srt': Duration: N/A, bitrate: N/A Stream #1:0: Subtitle: subrip Output #0, mp4, to 'out.mp4': Metadata: encoder : Lavf56.40.101 Stream #0:0: Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 25 fps, 25 tbr, 90k tbn, 90k tbc Stream #0:1: Audio: aac ([64][0][0][0] / 0x0040), 48000 Hz, stereo, 162 kb/s Stream #0:2: Subtitle: mov_text ([8][0][0][0] / 0x0008) Metadata: encoder : Lavc56.60.100 mov_text Stream mapping: Stream #0:0 -> #0:0 (copy) Stream #0:1 -> #0:1 (copy) Stream #1:0 -> #0:2 (subrip (srt) -> mov_text (native)) Press [q] to stop, [?] for help frame=83215 fps=3113 q=-1.0 Lsize= 958501kB time=00:55:34.08 bitrate=2355.1kbits/s video:891302kB audio:65022kB subtitle:18kB other streams:0kB global headers:0kB muxing overhead: 0.225788%

答案1

向 VLC 開發人員發布了該問題,他們聲稱該問題將在即將發布的 3.0 版本中解決。

答案2

這絕對是 MOV_Text/Mp4 容器問題,目前沒有其他選項可以修復它。

將 Mp4 無損轉換為帶字幕的 MKV

我還發現,如果我提取 MOV_Text SRT 並手動添加它,問題仍然會發生,但是如果我從互聯網下載單獨的 SRT 文件,我就能夠手動添加它們,然後 VLC 能夠操作字體/大小等等等(我的意思是,如果你不想轉換,你唯一的選擇是下載單獨的SRT檔案並手動將其新增到VLC)

相關內容