Capturer et enregistrer une vidéo puis l'enregistrer ?????

Fermé
site12 Messages postés 288 Date d'inscription dimanche 13 février 2011 Statut Membre Dernière intervention 3 décembre 2017 - 5 févr. 2016 à 19:46
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 - 5 févr. 2016 à 22:37
Bonjour,
en flash / actionscript j'arrivais à enregistrer une vidéo via le navigateur web et à l'enregistrer au format .mp4 par exemple. Mais flash va bientot mourrir
du coup je le fais en quoi ?
en javascript je peux que faire un stream via la webcam mais j'ai rien trouvé pour l'enregistrer vers un fichier de sortie. Comment on fais ? y'a pas un tuto bien expliqué pas à pas pour enregistrer la webcam puis l'exporter sous forme de vidéo téléchargeable .mp4 ?
sinon, vous me conseillez de le faire en quoi, vu que flash va mourir. EN Javascript ou en Java Web Start ? c'est quoi le mieux ?
merci
A voir également:

2 réponses

site12 Messages postés 288 Date d'inscription dimanche 13 février 2011 Statut Membre Dernière intervention 3 décembre 2017 23
5 févr. 2016 à 22:16
up
0
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 228
Modifié par gravgun le 5/02/2016 à 22:44
'lut, c'est simple: tu ne peux pas (dans la pratique).

Il n'existe pas de fonctionnalité intégrée aux APIs JS pour enregistrer de la vidéo, car ce n'est pas dans l'objectif des APIs HTML5, et de toute façon n'a que peu de vrais cas d'application. Qui plus est l'implémentation serait loin d'être triviale, les formats de destination n'étant pas définis, les paramètres de compression trop spécifiques aux encodeurs... Et dans ton cas enregistrer en MP4 serait illégal car il faut normalement payer si tu créées/utilises un encodeur dans les pays où le MPEG LA impose ses brevets logiciels -- format non libre oblige ;) (bienvenue dans l'économie capitaliste libérale, là où on t'entube à tout bout de champ).

Après il y a des contournements, comme
ffmpeg
compilé en JS avec Emscriptem, exemple ici. Mais c'est extrêmement lent et à titre informatif encoder 3 secondes de ma caméra 320x240 a consommé 4 Go de mémoire.

Par "enregistrer", si tu parles d'enregistrer l'écran entier, alors pouvoir le faire est une dangereuse faille de sécurité qui peut révéler des informations importantes, donc ça ne sera jamais possible sans extension particulière aux APIs JavaScript que fournissent les navigateurs HTML5.

Si tu veux juste enregistrer ce qui est affiché sur un
<canvas>
(incluant ce qui peut être capturé depuis la caméra), étant donné qu'il est possible de copier le contenu du dit canvas, on peut créer une sorte de format de stockage de vidéo... qui demanderait soit beaucoup d'efforts, soit prendrait très vite de la mémoire -- en plus d'être probablement illisible par les lecteurs (sauf AVI non compressé peut-être...).

Edit: hum le AVI non compressé est une cible intéressante ne consommant pas trop de mémoire vive (mais pas mal de stockage) si le navigateur implémente l'API FileSystem; voir ici pour un tableau de compatibilité. À noter que la consommation CPU sera élevée vu la quantité de données à traiter; mais ça peut s'optimiser en écrivant en asm.js, qui n'est dispo... que sous Firefox, qui n'implémente pas l'API FileSystem.

Pour ce qui est de Java, laisse tomber comme Flash, les plugins se meurent et c'est une bonne chose. Dans le cas de la tasse de café, le plugin web est officiellement obsolète à partir de Java 9 qui arrive bientôt.
from human import idiocy
del idiocy
0