Запись RTC в Ларавеле
Я пытаюсь использовать пример PHP-and-FFmpeg из технологии RecordRTC ( https://github.com/muaz-khan/RecordRTC) в проекте Laravel.
Есть функция js:
function xhr(url, data, callback) {
var request = new XMLHttpRequest();
request.onreadystatechange = function() {
if (request.readyState == 4 && request.status == 200) {
callback(request.responseText);
}
};
request.open('POST', url);
request.send(data);
}
Вызывает следующую функцию:
function PostBlob(audioBlob, videoBlob, fileName) {
var formData = new FormData();
formData.append('filename', fileName);
formData.append('audio-blob', audioBlob);
formData.append('video-blob', videoBlob);
xhr('/upload/store', formData, function(ffmpeg_output) {
document.querySelector('h1').innerHTML = ffmpeg_output.replace(/\\n/g, '<br />');
preview.src = 'uploads/' + fileName + '-merged.webm';
preview.play();
preview.muted = false;
});
}
где данные отправляются в save.php для загрузки видео на сервер.
Вместо файла я использовал способ хранения, добавленный в web.php:
Route::post('/upload/store', 'UploadController@store')->name('store');
в контроллере я сделал следующее:
public function store(Request $request)
{
dd($request);
}
но в консоли firefox пишет:
Неверный URI. Загрузка медиаресурса не удалась
Пожалуйста, скажите мне, где я допустил ошибку?
1 ответ
Проблема в PostBlob
функция в этой строке, которая использует неправильный URI:
xhr('save.php', formData, function(ffmpeg_output) {
Изменить save.php
в /upload/store
,