Сжатие записанного видеофайла в iOS с помощью AVAssetWriter не работает

Я пытаюсь сжать видео в Swift для загрузки на сервер с помощью AVAssetWriter. Кажется, он работает нормально для обычных видеофайлов и записанных видеофайлов с замедленным движением. Но при попытке записать видеофайлы с замедленной записью код работает некорректно.

videoInput.requestMediaDataWhenReady(on: videoInputQueue) {

        while(videoInput.isReadyForMoreMediaData){
            let sample = assetReaderVideoOutput.copyNextSampleBuffer()
            if (sample != nil) {
                videoInput.append(sample!)
            }else{
      // for time-lapse videos it never goes into this section and reader status is always reading.
                videoInput.markAsFinished()
                DispatchQueue.main.async {
                    videoFinished = true

                    closeWriter()
                }
                break;
            }

        }

    }

Есть ли что-то, что я делаю не так. Любая помощь приветствуется.

0 ответов

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