Dans mon exemple d'application ReactJs, j'utilise react-multimedia-capture - qui utilise navigator.mediaDevices.getUserMedia
et l'API MediaRecorder pour enregistrer la vidéo.
Je peux enregistrer des vidéos à partir de Chrome, mais dans Safari, je ne parviens pas à capturer la vidéo. L'erreur est quelque chose comme
MediaRecorder n'est pas défini.
Quelqu'un pourrait-il m'aider, s'il vous plaît:
Safari prend-il en charge la capture vidéo de base?
4 Réponses :
Une implémentation de base de l'API MediaStream Recorder vient d'être introduite dans Safari Technology Preview 73 sur macOS (janvier 2019).
J'ai couvert les fonctionnalités prises en charge / non prises en charge dans cet article .
Avec un peu de chance, une implémentation plus complète sera bientôt disponible dans Safari 12.x sur macOS et iOS.
Merci pour l'article. Savez-vous s'il est possible d'utiliser l'API MediaRecorder dans une application iOS? J'ai posé une question à ce sujet ici: stackoverflow.com/questions/62205865/...
Octavian Naicu
Une implémentation de base de l'API MediaStream Recorder vient d'être introduite dans Safari Technology Preview 73 sur macOS (janvier 2019).
Avez-vous essayé l'enregistrement vidéo sur Safari IOS 12.2?
Safari ne prend actuellement pas en charge l'API MediaRecorder par défaut, mais vous pouvez les activer à partir de Développer> Fonctionnalités expérimentales> MediaRecorder.
La façon d'enregistrer une vidéo à partir de safari est d'utiliser la connexion peer to peer et de capturer la vidéo à l'autre extrémité. Il existe peu d'applications open source et de services tiers qui offrent cela et ils sont assez stables.
Si vous envisagez de prendre en charge uniquement l'enregistrement depuis un mobile, vous pouvez utiliser l'API de fichier HTML5, qui affichera la caméra en un seul clic. vous pouvez le découper pour une durée spécifique à l'aide de ffmpeg ou d'Azure Media Services.
Assurez-vous simplement d'enregistrer ce fichier au format .mp4 avec l'utilisation de JavaScript pour le rendre jouable sur tous les appareils ou avec la balise .
var file = $ ('# videoFile') [0];
var blob = file.files [0] .slice (0, file.files [0] .size, 'video / mp4');
var newFile = new File ([blob], 'video.mp4', {type: 'video / mp4'});
Dans le dernier Safari, vous pouvez activer MediaRecorder à partir du menu Développer.
Essayez cette Démo HTML5 de Cam Recorder qui fournit également des informations détaillées instructions pour Safari.
Ils prennent en charge la capture (c'est-à-dire getUserMedia), mais ils ne prennent pas encore en charge l'API MediaRecorder. Pas grand chose à faire ici à part dessiner sur une toile et générer la vidéo à partir d'images fixes, mais ne le faites pas.
Putain de pomme, trop cher avec trop de fonctionnalités non prises en charge lol: D