Ao reproduzir um filme MKV (h264 / aac) com um arquivo .SRT separado, o VLC permite controlar perfeitamente a aparência das legendas no menu.
No entanto, após converter sem perdas o MKV / SRT para MP4 com legendas internas ("mov_text"), as legendas são exibidas como uma fonte Arial (?) Pequena e as configurações do VLC não têm efeito sobre isso.
Eu pensei que talvez o arquivo MP4 contivesse algumas informações sobre como exibir as legendas que tinham precedência, mas isso acontece mesmo depois que eu retirei todos os metadados do arquivo MP4.
Isso é um bug / recurso no VLC? Como faço para aderir às configurações de legendas visuais de todos os tipos de arquivos de vídeo.
EDIT: SRT EXEMPLO
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.)
EDIT: VEJA A FFMPEG SAÍDA ABAIXO
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%
fonte
mov_text
formato da legenda. (O último é necessário para o MP4 e parece ser incompatível com o MKV.)ffmpeg
devido à tag. Você pode mostrar seu comando e a saída completa do console?ffmpeg
suporta codificação / decodificação adequada de alguma estilização em mov_text (tamanho da fonte, cor da fonte, negrito, itálico, etc.). Suponho que sua compilação seja antiga, mas atualmente é impossível saber sem mais informações suas. No entanto, não tenho certeza de como o VLC lida com isso.Respostas:
Publicou o problema com os desenvolvedores do VLC e eles afirmam que o problema será corrigido na próxima versão 3.0.
fonte
Esse é definitivamente um problema do contêiner MOV_Text / Mp4 e, atualmente, não há outras opções para corrigi-lo.
Converta Mp4 para MKV com legendas sem perdas
Também descobri que se eu extraí o MOV_Text SRT e o adicionei manualmente, o problema ainda ocorreu, mas se eu baixei um arquivo SRT separado da Internet, consegui adicioná-los manualmente e o VLC foi capaz de manipular a fonte / tamanho, etc. etc. (quero dizer que, se você não deseja converter, sua única opção é baixar um arquivo SRT separado e adicioná-lo manualmente no VLC)
fonte