MCEBuddy coupes personnalisées et sous-titres

J’essaie d’utiliser MCEBuddy Custom Cuts et, bien que l’EDL semble fonctionner et que le fichier soit généré comme prévu, il semble y avoir un problème pour conserver les sous-titres.

En examinant le fichier journal, on dirait que la sonde détecte les sous-titres de la source, mais ils ne sont pas transférés dans la copie .ts du dossier temporaire working0 :

2019-09-25T12:02:50 MCEBuddy.AppWrapper.FFmpeg --> Launching process C:\Program Files\MCEBuddy2x\ffmpeg\ffmpeg.exe
2019-09-25T12:02:50 MCEBuddy.AppWrapper.FFmpeg --> Process arguments  -hide_banner -probesize 100M -analyzeduration 300M -y -i "E:\Inbound\NFL Football\NFL Football - S2019E2037 - Los Angeles Chargers at Detroit Lions.m4v"  -ss 0 -vcodec copy -acodec copy -map 0:a -map 0:0 -f mpegts "C:\Program Files\MCEBuddy2x\working0\NFL Football - S2019E2037 - Los Angeles Chargers at Detroit Lions.ts"
2019-09-25T12:02:50 MCEBuddy.AppWrapper.FFmpeg --> UI Session Admin Process : True
2019-09-25T12:02:50 MCEBuddy.AppWrapper.FFmpeg --> Starting process as a UISession process with Admin privileges. This requires atleast 1 user to be logged into the system (remote desktop or locally)
2019-09-25T12:02:50 MCEBuddy.AppWrapper.FFmpeg --> Setting process priority to Normal
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg --> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'E:\Inbound\NFL Football\NFL Football - S2019E2037 - Los Angeles Chargers at Detroit Lions.m4v':
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->   Metadata:
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->     major_brand     : mp42
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->     minor_version   : 512
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->     compatible_brands: isomiso2mp41
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->     creation_time   : 2019-09-15T21:33:58.000000Z
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->     encoder         : MCEBuddy
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->     date            : 1900-01-01T12:00:00Z
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->     RecordingTimestamp: 1900-01-01T12:00:00
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->     SeriesPremiere  : 1900-01-01T12:00:00
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->     CopyProtected   : False
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->     title           : Los Angeles Chargers at Detroit Lions
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->     show            : NFL Football
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->     season_number   : 227
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->     episode_sort    : 245
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->     media_type      : 10
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->   Duration: 02:52:45.53, start: 0.000000, bitrate: 12369 kb/s
--> Video duration=10365.53
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->     Stream #0:0(und): Video: hevc (Main) (hvc1 / 0x31637668), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 12199 kb/s, 29.67 fps, 29.97 tbr, 90k tbn, 29.97 tbc (default)
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->     Metadata:
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->       creation_time   : 2019-09-15T21:33:58.000000Z
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->       handler_name    : VideoHandler
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->     Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 160 kb/s (default)
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->     Metadata:
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->       creation_time   : 2019-09-15T21:33:58.000000Z
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->       handler_name    : SoundHandler
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->     Stream #0:2(spa): Subtitle: mov_text (tx3g / 0x67337874), 1920x162, 0 kb/s (default)
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->     Metadata:
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->       creation_time   : 2019-09-15T21:33:58.000000Z
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->       handler_name    : SubtitleHandler
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg --> Output #0, mpegts, to 'C:\Program Files\MCEBuddy2x\working0\NFL Football - S2019E2037 - Los Angeles Chargers at Detroit Lions.ts':
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->   Metadata:
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->     major_brand     : mp42
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->     minor_version   : 512
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->     compatible_brands: isomiso2mp41
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->     media_type      : 10
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->     episode_sort    : 245
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->     date            : 1900-01-01T12:00:00Z
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->     RecordingTimestamp: 1900-01-01T12:00:00
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->     SeriesPremiere  : 1900-01-01T12:00:00
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->     CopyProtected   : False
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->     title           : Los Angeles Chargers at Detroit Lions
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->     show            : NFL Football
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->     season_number   : 227
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->     encoder         : Lavf58.24.100
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->     Stream #0:0(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 160 kb/s (default)
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->     Metadata:
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->       creation_time   : 2019-09-15T21:33:58.000000Z
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->       handler_name    : SoundHandler
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->     Stream #0:1(und): Video: hevc (Main) (hvc1 / 0x31637668), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 12199 kb/s, 29.67 fps, 29.97 tbr, 90k tbn, 90k tbc (default)
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->     Metadata:
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->       creation_time   : 2019-09-15T21:33:58.000000Z
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->       handler_name    : VideoHandler
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg --> Stream mapping:
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->   Stream #0:1 -> #0:0 (copy)
2019-09-25T12:02:51 MCEBuddy.AppWrapper.FFmpeg -->   Stream #0:0 -> #0:1 (copy)

Je joins également le journal complet à ce message. Y a-t-il quelque chose d’évident que j’ai manqué ? Merci d’avance pour votre aide !
NFL Football - S2019E2037 - Los Angeles Chargers at Detroit Lions.m4v-Football-2019-09-25T12-02-07.0358516-04-00.log (3,3 Mo)

Creusant davantage la question. J’ai justement un script que j’utilise en raison d’un autre problème récent que j’ai rencontré pour extraire des fichiers .srt. Grâce à ce script, je peux extraire le fichier .srt qui est ensuite détecté par MCEBuddy lorsqu’il est ajouté à la file d’attente. Malheureusement, il semble que le fichier .srt soit copié et non intégré.

Je dois ensuite télécharger le .srt sur Plex, car il n’est pas automatiquement reconnu et mis à jour pour une raison quelconque.

Ce n’est guère idéal et cela implique beaucoup d’étapes. J’apprécierais tout autre avis ou suggestion pour améliorer ce flux de travail. :+1:

Vous n’avez pas activé l’option Sous-titres et légendes exacts dans la tâche de conversion, donc elle ne les extrait jamais (et par conséquent ne les intègre pas même si vous avez activé cette option)

Sous-titres codés →

Ahhh malheureusement, cela n’a pas résolu le problème. En sélectionnant Extract closed captions and subtitles dans la tâche de conversion, un fichier .srt est bien extrait et placé dans le même dossier que le fichier .mp4 généré lorsque j’utilise un fichier .ts. Le fichier .mp4 résultant contient également les sous-titres intégrés.

(Je dois préciser que les sous-titres sont intégrés dans le .mp4 même sans utiliser Extract closed captions and subtitles.)

Jusqu’ici, tout va bien.

Cependant, lorsque j’utilise ensuite Custom Cuts pour créer des montages supplémentaires dans un fichier .edl, puis que je lance Process with MCEBuddy, le fichier est ajouté à la file d’attente, traité avec la même tâche de conversion, mais le fichier .srt extrait n’est jamais intégré.

Peut-être fais-je quelque chose de terriblement faux ?

Journaux s’il vous plaît

Boh ! Désolé pour ça.

Voici les journaux de la première conversion (réussie, fonctionne comme prévu), de .ts.m4v :

NFL Football - S2019E2037 - Los Angeles Chargers at Detroit Lions.ts-Football-2019-09-27T07-52-33.2881663-04-00.log (7,3 Mo)

Cela génère un fichier .m4v exactement comme prévu, contenant les sous-titres intégrés. Par conséquent, maintenant que j’ai coché Extraire les sous-titres codés et les sous-titres dans la tâche de conversion, il y a également un fichier .srt correspondant dans le répertoire de sortie.

J’ouvre ensuite ce fichier .m4v nouvellement créé dans Custom Cuts, je crée des points de coupe, puis j’enregistre le fichier .edl.

Donc, maintenant, dans mon répertoire de sortie, j’ai :

  • Fichier .m4v
  • Fichier .srt
  • Fichier .edl

Gardez à l’esprit que le fichier .m4v contient les sous-titres intégrés comme prévu.

Je clique ensuite sur Traiter avec MCEBuddy dans Custom Cuts, ce qui génère cette sortie :

NFL Football - S2019E2037 - Los Angeles Chargers at Detroit Lions.m4v-Football-2019-09-27T10-47-49.2347885-04-00.log (2,5 Mo)

Maintenant, j’ai les 3 fichiers listés ci-dessus, ainsi qu’un nouveau fichier .srt plus petit généré à partir de ce qui précède, mais avec un 0 ajouté au nom principal (NFL Football - S2019E2037 - Los Angeles Chargers at Detroit Lions0.srt).

De plus, le fichier .m4v n’a plus de sous-titres intégrés, contrairement à la conversion .ts.m4v.

Veuillez me faire savoir si vous avez besoin d’informations supplémentaires pour diagnostiquer ce problème.

Il y a un problème avec votre fichier SRT ou le fichier vidéo, MCEBuddy ne peut pas l’ajouter :

2019-09-27T11:18:58 MCEBuddy.AppWrapper.MP4Box → Launching process C:\Program Files\MCEBuddy2x\mp4Box\mp4box.exe
2019-09-27T11:18:58 MCEBuddy.AppWrapper.MP4Box → Process arguments -add “C:\Program Files\MCEBuddy2x\working0\NFL Football - S2019E2037 - Los Angeles Chargers at Detroit Lions.srt”:hdlr=sbtl:lang=eng “C:\Program Files\MCEBuddy2x\working0\NFL Football - S2019E2037 - Los Angeles Chargers at Detroit Lions.m4v”
2019-09-27T11:18:58 MCEBuddy.AppWrapper.MP4Box → UI Session Admin Process : False
2019-09-27T11:18:58 MCEBuddy.AppWrapper.MP4Box → Setting process priority to Normal
→ Process exited with code -1073741515

Si vous pouvez télécharger le fichier SRT original, le fichier EDL et le fichier M4V, nous pouvons examiner cela.

1 « J'aime »

Parfait ! Merci pour votre aide. J’ai fourni les fichiers pour votre examen ici :

Veuillez me faire savoir si vous avez besoin d’informations ou d’articles supplémentaires pour résoudre ce problème.

Je suis un peu confus ici. Selon le fichier journal que vous avez joint ci-dessus, il montre un fichier TS converti en M4V et il n’y avait aucune piste de sous-titres intégrée dans le fichier M4V final comme je l’ai souligné dans les journaux ci-dessus.

Cependant, le fichier M4V que vous avez téléchargé contient une piste de sous-titres et je peux le lire. Alors, quel fichier avez-vous téléchargé ?

Toutes mes excuses pour le retard, @RBoy. J’étais en déplacement et suis rentré hier ; j’ai pu vous envoyer des informations supplémentaires ce matin.

Pour résumer, deux conversions ont lieu dans le scénario que nous évoquons :

  1. (Appelée « First ») .ts.m4v. MCEBuddy effectue cette conversion soit lorsque Plex lance le post-traitement, soit en ajoutant directement un fichier .ts à la file d’attente de MCEBuddy. Chaque fois, la conversion se déroule exactement comme prévu : le fichier est converti et les sous-titres sont intégrés dans le fichier .m4v résultant. Notez que l’option « Extract closed captions and subtitles » n’était pas nécessaire. Quand je dis « sous-titres intégrés », je veux dire qu’ils sont bien présents dans le .m4v et que je peux les voir en copiant ce fichier dans un nouveau dossier et en l’analysant via Handbrake :

  2. (Appelée « Second ») .m4v.m4v. À partir du résultat de la conversion « First » (qui contient déjà les sous-titres), j’utilise Custom Cuts pour créer le fichier .edl, puis « Process with MCEBuddy » pour l’envoyer dans la file d’attente. Bien que le fichier d’entrée possède des sous-titres intégrés, ces derniers ne figurent jamais dans le fichier de sortie de cette seconde conversion, que l’option « Extract closed captions and subtitles » soit activée ou non.

Comme indiqué précédemment, j’ai ajouté un nouvel exemple de ce scénario, créé à partir de zéro, dans le dossier partagé (l’exemple précédent est archivé). Vous devriez y trouver trois dossiers :

  1. .Archive contient les fichiers antérieurs ; vous pouvez l’ignorer, il sert uniquement d’historique.
  2. First contient l’entrée (.ts), les sorties (.m4v) ainsi que le fichier .log de la conversion « First ». Il s’agit de la conversion .ts.m4v qui fonctionne correctement et produit un fichier avec sous-titres intégrés. Les fichiers générés sont ensuite copiés dans un nouveau dossier et servent d’entrée pour la conversion suivante (« Second »).
  3. Second contient les résultats de la conversion « Second ». Il s’agit de la conversion .m4v.m4v avec son .log, obtenue via Custom Cuts. Le fichier .m4v final ne contient pas les sous-titres.

Au final, vous devriez constater que First\NFL Football - S2019E2069 - Kansas City Chiefs at Detroit Lions.m4v contient des sous-titres intégrés, tandis que Second\NFL Football - S2019E2069 - Kansas City Chiefs at Detroit Lions.m4v n’en a pas.

N’hésitez pas à me dire si vous avez besoin d’informations supplémentaires.

Je voulais faire un suivi concernant ce problème. Veuillez me faire savoir s’il y a des informations supplémentaires que je pourrais fournir pour aider à le diagnostiquer et/ou le résoudre. Il serait également utile de savoir si les informations que j’ai fournies sont utiles et/ou si vous avez réussi à reproduire le problème de votre côté avec les données fournies. Merci !

Je vois dans les journaux que l’ajout des sous-titres au fichier a échoué :

→ Le processus s’est terminé avec le code -1073741515

Quand j’ai tenté de reproduire ici avec vos paramètres et le fichier M4V d’origine, tout s’est bien passé :

2019-10-16T13:53:27 MCEBuddy.AppWrapper.MP4Box → Écriture du fichier ISO : |====================| (100/100)
2019-10-16T13:56:29 MCEBuddy.AppWrapper.MP4Box →
→ Le processus s’est terminé avec le code 0
2019-10-16T13:56:38 MCEBuddy.Engine.ConversionJob → Ajout des sous-titres et des chapitres terminé, taille du fichier [Ko] 10 283 663,00

Il semble y avoir un problème dans votre configuration qui empêche MP4Box d’ajouter les sous-titres. Je constate que vous disposez de suffisamment d’espace libre, donc je ne sais pas vraiment d’où vient le souci. Tout ce que je peux vous conseiller, c’est d’essayer un autre disque dur pour votre dossier temporaire ou un autre ordinateur.

OK cool merci pour ton aide et ta réponse, @RBoy… J’essaie encore de comprendre les différents paramètres ici, alors merci de ta patience. Dans la tâche de conversion First, je vois aussi ce même code d’erreur de MP4Box, mais il arrive à intégrer les sous-titres comme prévu dans cette tâche.

J’avais aussi l’impression que Handbrake est utilisé pour intégrer les sous-titres également, donc je ne suis pas certain à 100 % que MP4Box soit le coupable ici (ou du moins, je ne le comprends pas encore). Il y a beaucoup de pièces mobiles ici, c’est sûr. :sweat_smile:

Handbrake est utilisé pour graver les sous-titres (et non pas les intégrer).

MP4Box est la dernière étape du processus pour intégrer les sous-titres, les journaux indiquent qu’il n’y a aucun sous-titre dans le fichier une fois terminé, c’est donc là que se situe le problème. Je ne sais pas pourquoi, comme je l’ai dit, votre fichier et votre profil fonctionnent bien ici. Vous pouvez essayer un autre disque dur/ordinateur pour voir si cela aide.

J’ai regardé à nouveau vos journaux, dans le premier cas les sous-titres faisaient partie du flux TS stockés en tant que sous-titres codés. Vous utilisiez un profil personnalisé qui demandait à Handbrake d’utiliser ces sous-titres codés intégrés et de les préserver, c’est pourquoi cela fonctionnait :

2019-09-27T08:19:21 MCEBuddy.AppWrapper.Handbrake → + subtitle tracks:
2019-09-27T08:19:21 MCEBuddy.AppWrapper.Handbrake → + 1, español, Closed Caption [CC608]

Une chose que vous pouvez essayer est d’activer l’option Skip remuxing dans les paramètres experts, ce qui permettra à Handbrake de travailler directement sur le fichier M4V original au lieu du fichier TS remuxé dans le second cas, il pourrait détecter les sous-titres intégrés et fonctionner avec.

Ah, donc pour être sûr de bien comprendre, tu dis que les journaux indiquent que les sous-titres ne sont pas intégrés, mais qu’ils le sont en réalité dans le fichier résultant ? Je peux ouvrir First\\NFL Football - S2019E2069 - Kansas City Chiefs at Detroit Lions.m4v dans Handbrake ou VLC et voir les sous-titres intégrés à la suite de la première tâche de conversion. Là encore, le fichier journal pour cette tâche contient le même code d’erreur que celui trouvé dans le fichier journal de Second que tu mentionnais plus tôt.

Malheureusement, je n’ai pas une autre machine/environnement facilement disponible pour tester cela, donc je vais devoir essayer de le faire fonctionner avec la configuration actuelle, si tant est que ce soit possible.

Lors de la première conversion, votre fichier original est un fichier TS contenant des sous-titres codés. MCEBuddy extrait ces sous-titres codés sous forme de fichier SRT, mais échoue à les intégrer car MP4Box ne fonctionne pas.

Cependant, vous disposez d’un profil personnalisé et, dans ce profil, vous demandez à HandBrake de rechercher des sous-titres codés pendant la conversion ; il trouve ces sous-titres codés multiplexés dans le flux TS et les convertit automatiquement en un fichier SRT intégré.

Lors de la seconde conversion, vous commencez avec un fichier M4V contenant le fichier SRT intégré. MCEBuddy extrait le fichier SRT et remux le M4V au format TS pour le traitement (ce qui ne contient ni sous-titres ni sous-titres codés). Ainsi, lorsque HandBrake intervient, il ne détecte rien et, lorsque MCEBuddy tente de remettre les sous-titres dans le conteneur, cela échoue sur votre configuration.

Vous avez trois options :

  1. Essayer sur un autre ordinateur où MP4Box ne plante pas (cela fonctionne ici sous Windows 10, 64 bits).
  2. Activer l’option Skip remuxing pour votre seconde tâche de conversion (ainsi MCEBuddy ne remuxera pas le M4V en TS et HandBrake recevra le M4V original, pouvant peut-être détecter et conserver le SRT intégré).
  3. Modifier votre profil pour la seconde conversion afin de demander à HandBrake d’utiliser le fichier SRT extrait par MCEBuddy avec le fichier TS remuxé dans le dossier temporaire et de l’intégrer dans votre M4V converti. Essayez d’ajouter --srt-file <source_without_ext>.srt à la ligne handbrake-video de votre profil. Consultez inserting special commands pour savoir comment fonctionne <source_without_ext>.
1 « J'aime »

Ok! Cela a du sens pour moi maintenant, @RBoy. Merci d’avoir pris le temps et d’avoir eu la patience de me l’expliquer. Je crois que j’ai maintenant assez d’informations pour passer aux prochaines étapes. Je vais essayer de voir si je peux faire fonctionner la commande --srt-file, et si ce n’est pas le cas, voir si je peux comprendre ce qui se passe avec la machine qui génère l’erreur MP4Box.

Merci encore à vous et à tous ici pour votre excellent travail sur ce produit et — encore plus important — pour le support ! :+1:

1 « J'aime »

Avec plaisir, prenez une minute pour nous aider à faire passer le mot

1 « J'aime »

Petite anecdote amusante en chemin pendant mes essais. :sweat_smile: Je relisais ce fil et il semble que j’aie raté votre message précédent, ainsi que cette suggestion ultérieure.

J’ai bien créé une nouvelle tâche de conversion avec SkipRemux=True. Quand je l’exécute sur le .m4v provenant de la première tâche, les sous-titres semblent bien être exportés, hourra ! En revanche, elle ne tient pas compte du .edl créé par Custom Cuts, bouh.

Je me demande donc s’il y a quelque chose d’évident à envisager ici. Ce que j’apprécie dans cette approche, c’est que je peux désactiver l’option Extract closed captions and subtitles et éviter d’avoir un fichier supplémentaire à chaque conversion.