#angular #typescript #video #mp4
Вопрос:
У меня есть проблема в моем проекте, чтобы вырезать видео и загружать на сервер в формате mp4. В Angular 8 я использую MediaRecorder для записи видео, но и эта функция возвращает код base64.
Но когда я декодирую этот base64, я получаю расширение «bin» и тип MIME: video/x-matroska этого видеофайла. Это не может не отображаться в Angular. Какое-то тело может дать мне решение для преобразования расширения «bin» в «mp4», чтобы я мог отключить его в Angular 8. Или дайте мне решение этого дела. Просто вырежьте видео и получите из него файл mp4. Большое спасибо. Вот код, который я использую для вырезания видео.
startRecording() {
let options = {mimeType: 'video/webm'};
this.recordedBlobs = [];
if ((<any>this.video.nativeElement).captureStream) {
this.stream = (<any>this.video.nativeElement).captureStream();
} else if ((<any>this.video.nativeElement).mozCaptureStream) {
this.stream = (<any>this.video.nativeElement).mozCaptureStream();
}
try {
this.mediaRecorder = new MediaRecorder(this.stream, options);
} catch (e0) {
console.log('Unable to create MediaRecorder with options Object: ', e0);
try {
options = {mimeType: 'video/webm,codecs=vp9'};
this.mediaRecorder = new MediaRecorder(this.stream, options);
} catch (e1) {
console.log('Unable to create MediaRecorder with options Object: ', e1);
try {
options = <any>'video/vp8'; // Chrome 47
this.mediaRecorder = new MediaRecorder(this.stream, options);
} catch (e2) {
alert('MediaRecorder is not supported by this browser.nn'
'Try Firefox 29 or later, or Chrome 47 or later, '
'with Enable experimental Web Platform features enabled from chrome://flags.');
console.error('Exception while creating MediaRecorder:', e2);
return;
}
}
}
console.log('Created MediaRecorder', this.mediaRecorder, 'with options', options);
this.mediaRecorder.onstop = (event) => {
this.handleStop(event);
};
this.mediaRecorder.ondataavailable = (event) => {
this.handleDataAvailable(event);
};
this.mediaRecorder.start(100); // collect 100ms of data
console.log('MediaRecorder started', this.mediaRecorder);
}
Вот строка кода base64:
Ссылка на драйвер для получения кода base64
Вы можете попробовать этот веб-сайт для декодирования base64. Когда я расшифровывал этот сайт, я получил файл с расширением: bin, я загрузил его, затем изменил расширение этого файла на «.mp4», этот видеофайл хорошо работает. Кто-нибудь, помогите мне в этом деле.
Веб-сайт для декодирования base64 в видео