Я хочу сохранить данные из записанного видео на сервере по php и ajax, используя скрипт Устройство записи медиапотока из Mido в качестве базового. Работают только для аудиоданных, а не для видеофайлов. Видео файлы без изображения, только аудио.
Хранение видео и проигрывание Midos Javascript работает нормально. Только мой скрипт для сохранения файла на сервере не совсем полный или неправильный.
Я использую эти данные для подготовки:
let blob = new Blob(chunks, {type: media.type })
, url = URL.createObjectURL(blob)
, li = document.createElement('li')
, mt = document.createElement(media.tag)
, hf = document.createElement('a')
;
и хотите отправить это по этому сценарию:
var data = new FormData();
data.append('file', blob);
data.append('sessID', sessID);
data.append('idx', idx);
$.ajax({
url : "./srv/lb/recorder/postWave.inc.php",
type: 'POST',
data: data,
contentType: false,
processData: false,
success: function(data) {
console.log('data: '+data);
},
error: function() {
alert("Fehler.");
}
});
Вот и вся функция в Javascript:
function makeLink() {
let blob = new Blob(chunks, {type: media.type })
, url = URL.createObjectURL(blob)
, li = document.createElement('li')
, mt = document.createElement(media.tag)
, hf = document.createElement('a')
;
console.log('url: '+url+'//');
mt.controls = true;
mt.src = url;
hf.href = url;
hf.download = `${counter++}${media.ext}`;
// hf.innerHTML = `download ${hf.download}`;
li.appendChild(mt);
// li.appendChild(hf);
ul.appendChild(li);
$('#btnWeiter').css({'visibility':'visible'});
$('.btn').remove();
// var filename = 'test.wav';
var data = new FormData();
data.append('file', blob);
data.append('sessID', sessID);
data.append('idx', idx);
$.ajax({
url : "./srv/lb/recorder/postWave.inc.php",
type: 'POST',
data: data,
contentType: false,
processData: false,
success: function(data) {
console.log('data: '+data);
},
error: function() {
alert("Fehler.");
}
});
}
и это мой php-код:
$ext = $_POST['idx'] == 1 ? '.ogg' : '.mp4';
if(isset($_FILES['file']) and !$_FILES['file']['error']) {
$fname = "audio_" . $_POST['sessID'] . $ext;
move_uploaded_file($_FILES['file']['tmp_name'], "../../data/wav/" . $fname);
}
Отлично работает с файлами * .ogg, но файлы * .mp4 работают только со звуком.
Может быть, у меня есть еще что-то для видеофайлов?