Lors de la lecture d'un film MKV (h264 / aac) avec un fichier .SRT séparé, VLC me permet de contrôler parfaitement l'apparence des sous-titres à partir du menu.
Cependant, après avoir converti sans perte le MKV / SRT en MP4 avec des sous-titres intégrés ("mov_text"), les sous-titres sont affichés sous la forme d'une petite police Arial (?), Et les paramètres VLC n'ont aucun effet sur cela.
Je pensais que le fichier MP4 contenait peut-être des informations sur la façon d'afficher les sous-titres qui avaient la priorité, mais cela se produit même après avoir supprimé toutes les métadonnées du fichier MP4.
Est-ce un bug / une fonctionnalité dans VLC? Comment puis-je le faire adhérer aux paramètres de sous-titres visuels pour toutes sortes de fichiers vidéo.
EDIT: EXEMPLE 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.)
MODIFIER: VOIR LA SORTIE FFMPEG CI-DESSOUS
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%
la source
mov_text
format de sous - titres. (Ce dernier est nécessaire pour MP4, et semble être incompatible avec MKV.)ffmpeg
raison de la balise. Pouvez-vous montrer votre commande et la sortie complète de la console?ffmpeg
prend en charge l'encodage / décodage approprié de certaines stylisations dans mov_text (taille de police, couleur de police, gras, italique, etc.). Je suppose que votre build est ancien, mais il est actuellement impossible de le dire sans plus d'informations de votre part. Cependant, je ne sais pas comment VLC gère tout cela.Réponses:
Publié le problème avec les développeurs VLC, et ils affirment que le problème sera résolu dans la prochaine version 3.0.
la source
Il s'agit certainement d'un problème de conteneur MOV_Text / Mp4, et il n'y a actuellement aucune autre option pour le résoudre.
Convertir Mp4 en MKV avec sous-titres sans perte
J'ai également constaté que si j'extrayais le MOV_Text SRT et l'ajoutais manuellement, le problème se produisait toujours, mais si je téléchargeais un fichier SRT distinct à partir d'Internet, je pouvais les ajouter manuellement puis VLC était capable de manipuler la police / taille, etc. etc. (je veux dire que si vous ne voulez pas convertir, votre seule option est de télécharger un fichier SRT séparé et de l'ajouter manuellement dans VLC)
la source