4
votes

Enregistrement vidéo pour le navigateur Safari

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?


2 commentaires

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


4 Réponses :


1
votes

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.


1 commentaires

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/...



1
votes

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?

Pourquoi le téléchargement de l'image via la caméra fonctionne-t-il sur mobile-safari mais pas en tant que PWA iOS?


0 commentaires

10
votes

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'});


0 commentaires

1
votes

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.


0 commentaires