ブラウザでビデオを録画し、ユーザーのために再生したいと思います。私は現在、これを行うために MediaRecorder API (現時点では Firefox でのみ利用可能) を使用しています。数秒未満のビデオでは問題なく動作しますが、それ以外の場合、ビデオはまったく表示されません。
コンソールなどにエラーはありません。また、ドキュメントにファイル サイズの制限について何も見つかりませんでした。
私が使用しているコードは次のとおりです(Firefoxのみ):
index.html:
<!DOCTYPE html>
<html>
<body>
<button id="start">Start</button>
<button id="stop">Stop</button>
<video id="player" src="" width="300" height="300" autoplay></video>
<script src="script.js"></script>
</body>
</html>
script.js:
var record = document.getElementById('start');
var stop = document.getElementById('stop');
var video = document.getElementById('player');
var constraints = {video: true};
var onSuccess = function(stream) {
var mediaRecorder = new MediaRecorder(stream);
record.onclick = function() {
mediaRecorder.start();
}
stop.onclick = function() {
mediaRecorder.stop();
}
mediaRecorder.ondataavailable = function(e) {
video.src = window.URL.createObjectURL(e.data);
}
};
var onError = function(err) {
console.log('The following error occured: ' + err);
}
navigator.mozGetUserMedia(constraints, onSuccess, onError);
Codepen について: http://codepen.io/anon/pen/xGqKgE
これはバグ/ブラウザの問題ですか? 私が認識していないこの API の制限はありますか?