我正在Titanium Appcelerator中开发一个iOS应用程序,并使用内置摄像头录制2-5分钟的视频。录制视频后,需要通过REST API将其传递给PHP Web应用程序。然而,这个视频的大小[几乎100 Mb]成功转移。我正在寻找一种方法来压缩视频或缩小其大小,以便能够成功上传。你的建议是有价值的,所以请让我知道什么是最好的前进方式。
感谢您的时间
答案 0 :(得分: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));
}
});
}