2016-02-06 1 views
0

Если вы хотите создать две версии одного и того же видеовхода, один отфильтрованный и один нетронутый, есть ли недостатки в использовании двух AVAssetWriters одновременно?Используйте два AVAssetWriters одновременно для создания двух версий одного и того же видеовхода

В соответствии с this SO post невозможно (по крайней мере, в 2011 году) использовать AVCaptureVideoDataOutput вместе с AVCaptureMovieFileOutput, поэтому, надеюсь, использование двух AVAssetWriters вместе решает проблему. Просто хотел бы знать, есть ли очевидные ошибки, о которых нужно знать.

ответ

1

Мы использовали два AVAssetWriters без проблем. Там нет реальной «ошибки», я могу думать, но некоторые соображения:

  • Очевидно, чем старше оборудование, тем больше он будет бороться (мы используем iPhone 6-х и с какими-либо проблемами вообще).
  • Размер выходного файла имеет значение для производительности, поэтому для самой быстрой компиляции учитывайте меньшие разрешения.
  • Непонятно, являетесь ли вы композицией в прямом эфире или постобработкой. Если вы выполняете пост-обработку, у вас не должно быть проблем (кроме того, что это будет немного медленнее), но если вы пишете вживую, вы можете увидеть пропущенные буферы, если производительность страдает.

В моем опыте, пытающемся это сделать, не видно причин, чтобы не дать решение идти, оно должно работать нормально.

+0

Прохладный, спасибо! Как вы соответствовали выходному видео для предварительного просмотра видео? Другими словами, если вы используете 1920x1080 для разрешения захвата на 5S, он показывает предварительный просмотр 320x568 с использованием AVLayerVideoGravityResizeAspectFill, но при масштабировании видео вниз окончательная версия не такая резкая. Является ли ваш вывод столь же резким, как и предварительный просмотр? Благодаря! – Crashalot

+0

BTW Mixbit - замечательное приложение! – Crashalot

+0

Я бы посмотрел, что вы передаете как outputSettings для вашего AVAssetWriterInput. Именно здесь вы контролируете качество, которое будет выписано. Способ отображения буфера через AVCaptureVideoPreviewLayer и то, что ваша запись на диск должна быть двумя отдельными вещами. Убедитесь, что вы довольны нефильтрованным выходом, который вы получаете, прежде чем играть с фильтрами в CMSampleBuffer. Таким образом, вы узнаете, не ухудшает ли ваше качество качество, а не конвейер записи. –