O arquivo MP4 ignora as configurações de legenda no VLC

14

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%

fortrina
fonte
Qual versão do sistema operacional e do VLC? Também se comporta da mesma maneira com os MKVs com SRTs incorporados?
Karan
OS X 10.10.3. VLC 2.2.1. A incorporação do SRT no MKV funciona. Portanto, deve estar relacionado ao contêiner MP4 ou ao mov_textformato da legenda. (O último é necessário para o MP4 e parece ser incompatível com o MKV.)
forthrin
O que você usou para converter o vídeo? Presumo que ffmpegdevido à tag. Você pode mostrar seu comando e a saída completa do console? ffmpegsuporta 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.
Llogan 16/10/2015
Veja as novas informações adicionadas na postagem.
forthrin
Você pode fornecer o arquivo SRT?
Llogan 17/10/2015

Respostas:

6

Publicou o problema com os desenvolvedores do VLC e eles afirmam que o problema será corrigido na próxima versão 3.0.

fortrina
fonte
Depois de quase dois anos, esse problema não foi corrigido. Alguma solução alternativa?
Ricardo Sanchez-Saez
2
Não que eu saiba. O VLC 3 parece ter sido trabalhado para sempre. Acho peculiar que esse problema seja adiado anos antes de um lançamento que parece nunca vir. Eu tentei os betas do VLC 3, mas os achei muito buggy para usar regularmente. Portanto, mantenho todos os meus arquivos SRT separados do arquivo de vídeo principal até que um milagre aconteça. Talvez ajude se mais pessoas acompanharem o problema no rastreador de erros do VLC. trac.videolan.org/vlc/ticket/15627
forthrin
@forthrin esse bilhete que você vinculou foi fechado há dois anos, então não consigo adicionar nada a ele. Não sei por que eles acham que está fechado.
Joshua Nurczyk
@JoshuaNurczyk: O problema está supostamente resolvido no VLC 3, mas o VLC 3 leva um ano para chegar a um lançamento final.
forthrin 17/09/17
1
Posso confirmar que esse bug foi corrigido no VLC 3
Akira Yamamoto
1

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)

FreeSoftwareServers
fonte
1
enquanto eu percebo que o OP está tentando ir do MKV para o Mp4, eu queria compartilhar que não há solução ATM para os subs incorporados Mp4 que o VLC pode controlar a fonte / tamanho etc. Você precisa adicionar subs externos ao MP4 ou converter para MKV
FreeSoftwareServers