J'ai une servlet java java qui, lorsqu'elle est demandée, démarre une conversion en direct d'un fichier vidéo en utilisant ffmpeg et l'envoie à mediastreamsegmenter pour le segmenter pour le streaming live http. Ce que je veux c'est que la servlet java retourne l'url du fichier index dès qu'il a été généré (après l'écriture du fichier du 4ème flux de transport) afin que l'utilisateur puisse commencer à regarder la vidéo sans attendre la fin de la conversion. Comment je pensais y parvenir était de passer une commande dans l'argument -file-complete-command de mediastreamsegmenter, et de l'appeler une sorte de commande qui pourrait dire au servlet java de renvoyer sa réponse si le dernier le fichier complété était le fichier d'index. Une autre idée que j'avais consistait à simplement segmenter les 30 premières secondes de la vidéo, puis renvoyer la réponse et ajouter le reste de la vidéo dans une sorte de tâche d'arrière-plan dans la servlet. Je ne suis pas sûr de savoir comment cela serait fait. Puis-je créer un thread séparé pour effectuer cette conversion qui continuera à s'exécuter après le retour du servlet? Je suis sûr qu'il doit y avoir une meilleure façon de faire. Toute réflexion sera apprécié.Dites à une servlet java quand revenir d'un appel de ligne de commande externe
1
A
Répondre
0
Je ne suis pas vraiment dans le streaming vidéo, mais pourriez-vous démarrer un Thread (appelé PARSE_THREAD) qui fait l'analyse et dire au servlet (vivant dans SERVLET_THREAD) d'attendre un temps raisonnable? Je pense que la conversion de ffmpeg prend environ le même temps pour analyser les 30 premières secondes, donc vous démarrez le PARSE_THREAD, puis dormez le SERVLET_THREAD pendant ce temps et laissez le servlet démarrer le streaming. L'utilisation d'un thread séparé est une bonne solution pour ce problème.
1
Je dirais que vous avez certainement besoin d'un fil séparé pour une telle tâche. Pourquoi "doit-il y avoir" un meilleur moyen?
Questions connexes
- 1. Ligne de commande Java avec .jar externe
- 2. Appel du service Web externe via une servlet
- 3. comment renvoyer à la ligne de commande, quand le mode de ligne de commande vi ouvre un éditeur externe?
- 4. Appel de servlet depuis l'application Java GUI?
- 5. Appel d'une servlet Java distante
- 6. dll Appel à Servlet
- 7. appel httpclient de servlet
- 8. java BufferedReader revenir à la ligne précédente
- 9. Appel de servlet java à partir de C#
- 10. Appel classe Java/méthode en ligne de commande
- 11. Ligne de commande Java?
- 12. commande Java Servlets ligne de traitement
- 13. Appel d'une servlet Java à partir de javascript
- 14. Appel via la ligne de commande par rapport à JNI
- 15. appel externe chargé java class
- 16. Appel Java Fonction à l'aide JSNI de servlet
- 17. Java « externe sur appel événement »
- 18. exécuter une commande externe dans java
- 19. exécuter la commande/application externe de java
- 20. Appel Jquery De Servlet
- 21. appel Ajax pour servlet faire appel supplémentaire à servlet
- 22. Fichier java de ligne de commande Java
- 23. Appel d'une commande externe dans GO
- 24. Ligne de commande Programme Java avec menus
- 25. Appel d'autres classes à l'aide d'arguments de ligne de commande?
- 26. Appel d'un message de servlet à partir d'un autre servlet
- 27. Appel de servlet à partir d'une autre servlet
- 28. Compiler java de la ligne de commande
- 29. NullPointerException quand annuler progressDialog pour revenir à une autre activité
- 30. servlet appel de bouton dans une table
Cela ne semble pas être un comportement supporté par mediastreamsegmenter. Au cours de tous mes tests lorsque je segment la première partie d'un fichier, puis segmenter la seconde partie avec une commande différente, il écrase le fichier d'index généré par la première commande. Je pourrais théoriquement créer mon propre mediastreamsegmenter qui supporte ce comportement, mais je préférerais ne pas le faire si possible. – Morgan