Как уменьшить размер видео - iOS Titanium Video?
Я разрабатываю приложение для iOS в Titanium Appcelerator и использую встроенную камеру для записи 2-5 минутного видео. После того, как видео записано, его необходимо передать в веб-приложение PHP через REST API. Однако размер этого видео слишком велик [почти 100 МБ] для успешной передачи. Я ищу способ сжать видео или уменьшить его размер для успешной загрузки. Ваши предложения ценны, поэтому, пожалуйста, позвольте мне знать, как лучше идти вперед.
Спасибо за ваше время
1 ответ
Вы можете попробовать модуль, разработанный мной: ti.ios.trim (изначально созданный для обрезки видео, но он также поддерживает сжатие видео). Вы можете опустить параметры startTime и endTime и сделать что-то вроде следующего:
Ti.Media.showCamera({
mediaTypes: [Titanium.Media.MEDIA_TYPE_VIDEO],
success: function(e) {
var tempFile = Ti.Filesystem.getFile(Ti.Filesystem.tempDirectory, new Date().getTime() +'-'+ _.random(0,1000) +'.mov');
tempFile.write(e.media);
compressVideo(tempFile.resolve());
}
});
function compressVideo(pathToVideoFile) {
var trimmer = require('ti.ios.trim');
trimmer.trimVideo({
input: pathToVideoFile,
quality: 1, // use 1 for high compression or 2 for medium compression
success: function(e) {
Ti.API.info('SUCCESS:');
Ti.API.info('path to the compressed file: '+ e.videoURL);
},
error: function(e) {
Ti.API.error('ERROR:');
Ti.API.info(JSON.stringify(e));
}
});
}