Самый простой способ ограничить продолжительность загрузки видео с помощью захвата HTML5 = "захват" - PullRequest
0 голосов
/ 25 августа 2018

Я создаю сайт, где пользователи могут делать снимки и видео с помощью своих мобильных телефонов.Все хорошо работает в HTML5 и некотором JavaScript.Но я хотел бы ограничить максимальную длину видео , чтобы пользователям не нужно было сначала захватывать видео, а также после получения предупреждения о том, что видео слишком длинное. Это текущая форма загрузки видео, которую я используюс успехом.

 <input type="file" accept="image/*;capture=camera" id="FileUpload" name="FileUpload" capture="capture">

Любой, у кого есть решение / взлом, который автоматически остановит захват видео, если оно достигнет более 10 секунд?

Как обычно, спасибо за мудрость.

1 Ответ

0 голосов
/ 04 декабря 2018

Мне нужно было сделать это тоже с помощью MediaStream / MediaSource API.

Я закончил тем, что использовал таймер обратного отсчета и остановил запись по желаемому пределу.

Quick ES6 + Пример TypeScript:

startRecording(): void {
    // ... record logic
    // ... countdown logic

    if (countdownTimer === maxSeconds) {
        this.stopRecording();
    }
}

stopRecording(): void {
    this.mediaRecorder.stop();
    this.isRecording = false;

    const blobPropertyBag: BlobPropertyBag = {
      type: 'video/webm'
    };
    this.fileBlob = new Blob(this.recordedBlobs, blobPropertyBag);

    this.stream.getTracks().forEach((track: MediaStreamTrack) => {
        track.stop();
    });
}
...