Там было some discussion прежде о том, как петлевой AVPlayer
«s видео пункт, но не„решение“достаточно, чтобы обеспечить бесшовный лаг-менее зацикливания видео.Looping AVPlayer бесшовно
Я разрабатываю приложение tvOS с высококачественным 10-секундным клипом «декорации» на фоне одного из его видов и просто перезапускаю его AVPlayer «стандартным» способом (подписываясь на NSNotification
, чтобы поймать его) слишком нервничает, чтобы не заметить и не уйти от пользовательского опыта.
Кажется, что единственный способ достичь действительно бесшовной петли, чтобы вручную управлять кадры, на более низком уровне (в OpenGL) ...
Несмотря на все усилия, чтобы прочитать об этом, и, как новичок в манипуляции видеопроводами, я не подошел достаточно близко к понятному решению.
Я знаю, что существуют внешние библиотеки, которые могут легче выполнять это поведение; в частности GPUImage. Тем не менее, приложение, которое я разрабатываю, предназначено для tvOS, и поэтому сложно использовать довольно много сторонних библиотек iOS, включая GPUImage. Другая библиотека, с которой я столкнулась, - AVAnimator, которая обеспечивает отличную функциональность для легких анимационных видеороликов, но не для плотных высококачественных видеоклипов исходных видеоматериалов, закодированных в формате .H264.
Ближайший, к которому я пришел, является исходным кодом Apple AVCustomEdit, однако в первую очередь это касается статического производства «перехода», который, хотя и является бесшовным, является слишком сложным для меня, чтобы понять, как заставить его выполнять простой цикл.
Если кто-нибудь может обмануть опыт работы с AVPlayer
на более низком уровне, то есть с обработкой изображений/буферами (или разработкой iOS, которая не опирается на внешние библиотеки), мне было бы невероятно интересно узнать, как я мог бы сделать начало.
Вы можете уточнить, что проблема в использовании GPUImage на tvOS это? Из того, что я видел, все зависимости поддерживаются на tvOS. – thomers