Le fichier MP4 ignore les paramètres de sous-titres dans VLC

14

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%

en avant
la source
Quelle version OS et VLC? Se comporte-t-il de la même manière avec les MKV avec des SRT intégrés?
Karan
OS X 10.10.3. VLC 2.2.1. L'intégration du SRT dans le MKV fonctionne. Il doit donc être lié au conteneur MP4 ou au mov_textformat de sous - titres. (Ce dernier est nécessaire pour MP4, et semble être incompatible avec MKV.)
forthrin
Qu'avez-vous utilisé pour convertir la vidéo? Je suppose en ffmpegraison de la balise. Pouvez-vous montrer votre commande et la sortie complète de la console? ffmpegprend 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.
llogan
Voir les nouvelles informations ajoutées dans le post.
2015
Pouvez-vous fournir le fichier SRT?
llogan

Réponses:

6

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.

en avant
la source
Après presque deux ans, ce problème n'a pas été résolu. Une solution?
Ricardo Sanchez-Saez
2
Pas que je sache de. VLC 3 semble avoir été en préparation pour toujours. Je trouve particulier qu'un tel problème soit repoussé des années en prévision d'une sortie qui ne semble jamais arriver. J'ai essayé les versions bêta de VLC 3, mais je les ai trouvées trop boguées pour être utilisées régulièrement. Ainsi, je garde tous mes fichiers SRT séparés du fichier vidéo principal jusqu'à ce qu'un miracle se produise. Peut-être que cela aiderait si plus de personnes suivaient le problème sur le traqueur de bogues VLC. trac.videolan.org/vlc/ticket/15627
aval
@forthrin ce ticket que vous avez lié a été fermé il y a deux ans, donc je n'arrive pas à y ajouter quoi que ce soit. Je ne sais pas pourquoi ils pensent que c'est fermé.
Joshua Nurczyk
@JoshuaNurczyk: Le problème est censé être résolu dans VLC 3, mais VLC 3 prend un an pour arriver à une version finale.
2017
1
Je peux confirmer que ce bug est corrigé dans VLC 3
Akira Yamamoto
1

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)

FreeSoftwareServers
la source
1
alors que je remarque que l'OP essaie de passer de MKV à Mp4, je voulais partager qu'il n'y a pas de solution ATM pour les sous-marins intégrés Mp4 que VLC peut contrôler la police / taille, etc. Vous devez ajouter des sous-marins externes à MP4 ou convertir en MKV
FreeSoftwareServers