Как уменьшить размер видео - 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));
        }
    });
}

Другие вопросы по тегам