2010-09-07 3 views
21

Возможно ли, чтобы видео QuickTime с альфа-слоем (прозрачностью) воспроизводилось поверх статического динамического фона UIView (т. Е. Вид, который иногда меняется) на iPad?iPad Video с прозрачностью

Спасибо!

+1

Я не видел решения этого в любом месте. Я хотел бы сложить видео поверх части интерфейса. или, по крайней мере, на цветном фоне. – koregan

+0

Создание прозрачного слоя видео может быть достигнуто с помощью QuickTime Pro: http://docs.info.apple.com/article.html?artnum=42599. Я не уверен, что прозрачность будет храниться на устройстве iOS. –

+1

Привет. Вы нашли решение для этого? Где вы можете воспроизводить прозрачное видео на iOS? – nico

ответ

0

первое ваше видео нуждается в прозрачности: http://docs.info.apple.com/article.html?artnum=42599

ИМХО: Я думаю, что videocomponent имеет сплошной цвет фона (черный), вам придется установить его [UIColor clearColor] Вы должны попробовать, я не уверен, если это работает.

веселит эндо

-1

Я думаю, что вы можете сделать видео прозрачным, во время воспроизведения видео регулировать альфа зрения от 0,0 до 1,0. например, 0,50. После воспроизведения vido измените альфа вида на 1.0.

1

MPMoviePlayerController имеет свойство backgroundView. Состояние документов:

В этом представлении представлен контент для поддержки, поверх которого отображается содержимое фильма. Вы можете добавить subviews в фоновый вид, если хотите отобразить пользовательский фоновый контент.

Я не пробовал, но если у самого видео контента есть альфа, кажется, что этот вид должен появиться. Если вы установили этот вид для очистки, он может просто работать ...

0

Возможно, вы получили нормальное видео и уменьшили альфа представления представления. Это можно сделать, используя AVPlayer и AVPlayerLayer, добавив AVPlayerLayer в UIView и установив альфа UIView. Что-то вроде:

self.player = [[AVPlayer alloc] initWithURL:url]; 
self.playerLayer = [AVPlayerLayer playerLayerWithPlayer:self.player]; 
self.playerLayer.frame = view.bounds; 
...etc... 
self.playerView.alpha = 0.3; 
[self.playerView.layer addSublayer:self.playerLayer]; 

Я не пробовал это с альфа-каналом в самом видео, но AVPlayerLayer должны работать для этого, как хорошо.

+0

непонятно - у меня есть видео с альфа-каналом. Я хочу наложить это видео на свой фон (скажем, розовый цвет). Я должен уменьшить альфа представления фона тогда? .. – avs099

+0

Если альфа-информация закодирована в видео, вам не нужно уменьшать альфу в любом из представлений (либо UIView, содержащий слой AVPlayerLayer, либо любые UIViews ниже). Только уменьшите альфа UIView, представляя AVPlayerLayer, если альфа-информация не закодирована в самом видео. –

+0

Оригинальный плакат спрашивает о видео с альфа-каналом, который управляет альфой на пиксельной основе, что полезно для наложений. Установка альфа для всех пикселей в видео не является эквивалентным решением и не затрагивает исходный вопрос. – MoDJ

3

Для устранения дезинформации вы не можете использовать видео с альфа-каналом, используя встроенную видео логику в iOS. Вы можете создать фильм Quicktime, закодированный с помощью кодека анимации, и загрузить видео в виде или слое с помощью AVAnimator. То, что вы не можете сделать, это создать видео H264 с альфа-каналом, который просто не поддерживается iOS.

display movies with an alpha channel under iOS

+1

+1 H264 на iOS не поддерживает альфу. – Till

+0

[AVAnimator] (http://www.modejong.com/AVAnimator/) работает лучше всего для этого случая использования. Он требует транскодирования для APNG или их собственного формата, но он достаточно быстр для гладкого 30fps видео w/alpha. –

+0

Библиотеке MoDJ нужна коммерческая лицензия, она скорее задействовала дополнительные шаги и не обладает такой высокой производительностью (извлечение 7z, дополнительная видеодорожка и т. Д.) Вот решение, использующее бесплатную библиотеку с открытым исходным кодом, полностью работает на графическом процессоре (отличная производительность даже с большими видео) и требует только двух вещей: - Прозрачное изображение (PNG или код) - Вместо прозрачного зеленого фона для видео http://stackoverflow.com/questions/33244347/video- с-gpuimagechromakeyfilter-has-tint-when-play-in-transparent-gpuimagev/33255662 –

Смежные вопросы