#ios4 #avfoundation #video-editing #adobe-premiere #avvideocomposition
#ios4 #avfoundation #редактирование видео #adobe-premiere #avvideocomposition
Вопрос:
Я знаю, что вы могли бы объединить несколько клипов и создать одно видео, добавляя один за другим, используя классы AVFoundation — AVURLAsset, AVMutableComposition, AVMutableCompositionTrack и т.д.
Существуют такие приложения, как «Video-Joiner», которые делают это.
Что я хочу сделать, так это сопоставить 2 видео.
Моя идея приложения — SelfInterviewer, пожалуйста, не воруйте 🙂
Сначала я записываю видео 1 с помощью фронтальной камеры, расположенной слева от кадра. Затем видео 2, стоящее справа. В видео 1 задайте вопрос, а в видео 2 я отвечу.
Когда я объединяю, должно выглядеть так, как будто я сам даю интервью.
Я почти уверен, что это невозможно в iOS, просто хотел подтвердить.
Кроме того, если это невозможно, меня бы заинтересовали любые серверные решения — загрузите два видео и выполните то же самое. Я думаю, Adobe premiere может это сделать. Не уверен, есть ли у них какой-либо общедоступный API.
Ценю любые идеи.
Спасибо.
Комментарии:
1. вы нашли решение для этого??
2. ПРИВЕТ @Krishnan, как дела… Мне нужна ваша помощь, серьезно… Я застрял с каким-то таким же вопросом… Я должен показывать видео бок о бок после слияния… Оба видео отображаются, НО не отображаются должным образом, как бок о бок…
Ответ №1:
Да, возможно объединить 2 видео:
1. Добавьте оба ресурса в изменяемую композицию во время запуска 0.
2. Установите предпочтительное преобразование для дорожек, в этом примере масштабное преобразование.
- (void) mergeVideos{
///... after getting hold or your assets....firstAsset, secondAsset
AVMutableComposition* mixComposition = [AVMutableComposition composition];
AVMutableCompositionTrack *firstTrack = [mixComposition addMutableTrackWithMediaType:AVMediaTypeVideo
preferredTracfirst:kCMPersistentTracfirst_Invalid];
[firstTrack insertTimeRange:CMTimeRangeMake(kCMTimeZero, firstAsset.duration)
ofTrack:[[firstAsset tracksWithMediaType:AVMediaTypeVideo] objectAtIndex:0]
atTime:kCMTimeZero error:nil];
AVMutableCompositionTrack *secondTrack = [mixComposition addMutableTrackWithMediaType:AVMediaTypeVideo
preferredTracfirst:kCMPersistentTracfirst_Invalid];
[secondTrack insertTimeRange:CMTimeRangeMake(kCMTimeZero, secondAsset.duration)
ofTrack:[[secondAsset tracksWithMediaType:AVMediaTypeVideo] objectAtIndex:0]
atTime:kCMTimeZero error:nil];
[secondTrack setPreferredTransform:CGAffineTransformMakeScale(0.25f,0.25f)];
//... export video here...
}
Комментарии:
1. спасибо, я попробую это. К сожалению, я не могу проголосовать за ответ, поскольку я новичок в SO.
2. Но addmutablet trackwithmediatype: preferredTracfirst: API не существует. Существует только API Addmutablet trackwithmediatype:preferredTrackID:. Я попробовал с помощью самого API Addmutablet trackwithmediatype:preferredTrackID, и я получаю только первое видео в экспортированном видео.
3. Извините за поздний ответ. Вы должны использовать один изменяемый композиционный трактат вместо двух.
4. [secondTrack insertTimeRange:CMTimeRangeMake (kCMTimeZero, secondAsset.duration) ofTrack: [[Дорожки secondAsset с педиатрическим типом: AVMediaTypeVideo] objectAtIndex: 0] Ошибка atTime: kCMTimeZero: ноль]; Я получаю предупреждение об этом, и это предупреждение — «Метод экземпляра ‘-setPreferredTransform:’ не найден (возвращаемый тип по умолчанию равен ‘id’)» — Есть идеи, почему это происходит.
5. я получаю только первое видео в экспортированном видео, но продолжительность правильная. мой
MutableComposition
выделяется один раз, как указано. пожалуйста, помогите.
Ответ №2:
я нашел эту ссылку, когда пытался сделать то же самое, Но для меня это не рядом, это видео поверх другого видео, вы можете сделать то же самое по этой ссылке
Комментарии:
1. @Torongo ты уверен , что это сработает , на всякий случай abdulazeem.wordpress.com/2012/04/02 /…
2. Привет @Torongo… Мне нужна ваша помощь в этом руководстве… Хотя приведенная выше ссылка является отличным руководством… Но как я могу показывать видео бок о бок, так же, как приложение для караоке, или вы можете сказать, что то же самое, как дуэтное видео… Я буду очень признателен за ваше руководство… Спасибо
3. Привет @Mr.G, как дела… Мне нужна ваша помощь в этом руководстве… Хотя приведенная выше ссылка является отличным руководством… Но как я могу показывать видео бок о бок, так же, как приложение для караоке, или вы можете сказать, что то же самое, как дуэтное видео… Я буду очень признателен за ваше руководство… Спасибо
4. @Mr.Ahtazaz Я делал это 4 года назад, но я не думаю, что это сложно сделать, я думаю, вам нужно настроить рамку просмотра видео
5. @Mr.G Как я могу повторить одно видео до воспроизведения большого видео?