2016-08-19 1 views
1

Hé les gars, j'ai ce problème en plaçant des légendes dans ma vidéo.Conversion de fichier en JSON en utilisant JWPlayer

Je place mon .vtt comme une valeur dans mon objet mais il semble que le navigateur n'aime pas la façon dont il a été sorti. Je suis ce guide here

C'est l'erreur qui apparaît sur ma console

{name: "", message: "Converting circular structure to JSON", error: TypeError: Converting circular structure to JSON at Object.stringify (native) at Object.<ano…} 

légendes-en.vtt

00:00:01.000 --> 00:00:15.000 
What brings you to the land 
of the gatekeepers? 

00:00:15.500 --> 00:00:20.500 
I'm searching for someone. 

00:00:36.500 --> 00:00:39.000 
A dangerous quest for a lone hunter. 

00:00:41.500 --> 00:00:44.000 
I've been alone for as long 
as I can remember. 

Javascript

jwplayer("my-video").setup({ 
    file: "<my-video-file>", 
    width: "100%", 
    aspectratio: "24:10", 
    primary: "flash", 
    tracks: [{ 
     file: "/assets/captions/captions-en.vtt", 
     label: "English", 
     kind: "captions" 
    }] 
}); 

Je me suis également assuré que j'avais sauvegardé comme encodage "UTF-8".

Y at-il une autre étape qui me manque? Comme une méthode d'analyse?

Notez également que je diffuse la vidéo depuis AWS S3 Bucket. Serait-ce la raison de l'erreur que je devrais télécharger le fichier vtt là-bas?

L'erreur est la même dans ce post mais ils ont montré comment ils l'ont fait en plaçant dans une chaîne. Comment ferais-je cela s'il venait d'un fichier vtt?

+0

Possible duplication de [JSON.stringify, évitez TypeError: Conversion de structure circulaire en JSON] (http://stackoverflow.com/questions/11616630/json-stringify-avoid-typeerror-converting-circular-structure-to-json –

+0

Vous avez déjà vérifié le VTT avec quelque chose comme ça? https://quuz.org/webvtt/ – zer00ne

Répondre

2

Also note that I'm streaming the video from AWS S3 Bucket. Would that be the reason causing the error that I would have to upload the vtt file on there?

Oui, téléchargez le fichier VTT à l'endroit où se trouve votre vidéo. Il y a des restrictions de sécurité sur les VTT et selon ma propre expérience, je n'ai pas encore couru avec succès JWPlayer en utilisant un VTT qui est dans un seau différent de la vidéo.

Assurez-vous de vérifier le fichier est valide en VTT fonctionner à https://quuz.org/webvtt/

S3 peut traiter votre VTT génériquement par défaut, il est content-type comme application/octet-stream. Je ne sais pas comment vous utilisez S3, mais si vous pouvez vérifier les propriétés de VTT après il est téléchargé, recherchez cette propriété:

Content-Type: binary/octet-stream 

Si vous voyez que, alors vous devez changer à ce :

Content-Type: text/vtt 

Si vous ne disposez pas d'un processus mis en place et/ou des outils pour vérifier le VTT sur S3, utilisez la version freeware de S3 Browser ou chicouté S3 Explorer.

A propos de cette erreur:

{name: "", message: "Converting circular structure to JSON", error: TypeError: Converting circular structure to JSON at Object.stringify (native) at Object.<ano…}

Je ne pense pas que ce soit le fichier de Vtt est ce que l'erreur au sujet. Si vous regardez son formatage, VTT n'a aucune ressemblance avec un JSON, mais la structure d'une syntaxe d'installation JW est très similaire.