Всем привет, мы снова встретились, я ваш друг Цюаньчжаньцзюнь.
Avpro Videoпредставляет собой продукт, изготовленный изRenderHeadsТовары можно найти по адресуUnityначальство Установитьиспользоватьуниверсальный мультиплатформенныйвидеоВоспроизвести плагин,Avpro Видео поддерживает мультиплатформенное воспроизведение на Windows, Linux, ios, Mac, Android и т. д. Он может не только реализовывать основные функции воспроизведения, но также осуществлять перетаскивание индикатора выполнения и регулировку скорости, воспроизводить видео 4K, панорамные видео на 360 градусов и т. д. и оптимизирован для различных платформ.
http://www.onlinedown.net/soft/987730.htm https://blog.csdn.net/yiwei151/article/details/78415771 https://blog.csdn.net/dark00800/article/details/56015917
Ссылка для скачивания CSDN https://download.csdn.net/download/q764424567/12882092 Ссылка для скачивания на GitHub https://github.com/764424567/Unity-plugin/blob/master/AVPro%20Video.unitypackage
Функция воспроизведения видео на основе UGUI
Объект Media Player включает базовые настройки.
4. Создайте AVPro Videoобъект,Щелкните правой кнопкой мыши в представлении «Иерархия» или выберите меню GameObject в строке меню.,затем выберитеUI->AVPro Video
Просто установите такие параметры
ОК, видео можно воспроизводить
После добавления компонента Media Player в тех же шагах установите параметры компонента Media Player.
Измените VideoLocation на URL-адрес, а VideoPath — на путь к вашему серверу, но не забудьте указать суффикс видео. В настоящее время вы можете воспроизводить онлайн-видео на своем компьютере.
Настройки Android
Конечно, если мы хотим играть на Android, нам все равно придется изменить некоторые настройки;
При переходе на платформу Android вам необходимо установить некоторые параметры в PlayerSetting.
Поскольку самый низкий уровень, поддерживаемый этим плагином, — 16, его необходимо изменить на 16 и одновременно изменить следующие параметры.
Таким образом, мы можем воспроизводить онлайн-видео на Android.
Импортируйте загруженный пакет Unity в проект. После импорта вы увидите несколько демонстрационных версий и документацию плагина AVProVideo-UserManual.
Подробное описание использования плагина, включая поддержку видеоформатов и API, доступно в документации. Ссылка для скачивания документа: https://github.com/764424567/Unity-plugin/blob/master/AVProVideo-UserManual.pdf Ниже приводится содержание документа. Поскольку он на английском языке, я перевел его.
содержание
AVPro Video — новейший видеоплагин от Renderhead, который он разработал ранее. Плагины AVPro QuickTime и AVPro Windows Media для Unity. В этом новом поколении ugins наша цель — создать простую в использовании кроссплатформенную систему воспроизведения видео, использующую функции каждой платформы.
Мы предлагаем неограниченную пробную версию видео AVPro, которую можно загрузить с нашего сайта http://renderheads.com/product/av&provideos. В пробной версии нет недостающих функций или ограничений по времени, но к отображаемому результату применяется водяной знак. Водяные знаки оказывают небольшое влияние на производительность, что очень заметно в видео с высоким разрешением. В Windows, если вы используете путь декодирования графического процессора без отображения водяного знака, размер видео уменьшается каждые несколько секунд.
BigBuckBunny-360p30.mp4 - (c) Copyright 2008, Blender Foundation
/www.bigbuckbunny.org。
BigBuckBunny_720p30.mp4 - (c) Copyright 2008, Blender Foundation
/www.bigbuckbunny.org
SampleSphere.mp4 – (c) Авторские права Дэниел Арнетт,
https://vimeo.com/97887646
1. Откройте новый сеанс Unity (очистите все заблокированные файлы плагина).
2. Импортируйте файл unitypackage в проект Unity. Если будет предложено обновить какой-либо Скрипт, нажмите Да.
- Для этого плагина требуется минимальный уровень API 16.
- использоватьдаMediaPlayer API
- Если вы хотите транслировать мультимедиа, не забудьте установить опцию «Доступ в Интернет». Настройки плеера «обязательны»
- Для рендеринга мы используем поддержку OpenGL. ES 2.0 и OpenGL ES 3.0
- поддерживают многопоточный рендеринг
Если вы используете пробную версию этого плагина, на видео вы увидите водяной знак. Водяной знак принимает форму символа «рендеринга головы», который появляется на экране, или толстой горизонтальной полосы, перемещающейся по экрану. Полная версия видео AVPro доступна без водяных знаков на любой платформе. Если вы используете пакет для конкретной платформы (например, AVPro Video для iOS или AVPro Video для Windows), вы не увидите водяной знак на платформе, на которой вы его приобрели, но вы увидите водяной знак на других платформах. Например, если вы приобрели видео AVPro для iOS, вы все равно увидите водяной знак в редакторе Unity, поскольку он работает в Windows/OS X, но видео, воспроизводимые при развертывании на устройстве iOS, будут без Watery.
Если вы выполняете обновление с пробной версии, обязательно удалите старую папку /assets/plugins, так как она содержит пробные плагины и могут возникнуть конфликты. Возможно, вам придется сначала закрыть Unity, затем вручную удалить файлы, затем перезапустить Unity и повторно импортировать пакет (поскольку Unity блокирует локальные файлы плагинов после загрузки). Вы можете проверить, какая версия у вас установлена, добавив компонент MediaPlayer в вашу сцену и нажав кнопку «О программе» в инспекторе этого компонента. В этом поле отображается номер версии.
Если вы установили пакет iOS, он также будет включать в себя все остальные плагины. платформе, но с включенным водяным знаком. Это означает, что если вы попытаетесь установить другой пакет AVPro, он может неправильно перезаписать плагин. Вот как можно использовать пакеты iOS и Android для решения этой проблемы:
1.начать Новый проект Unity
2. Импортируйте пакет iOS.
3. Удалить плагины/Android папка
a.если у тебя есть УстановитьдругойAndroidплагин,Тогда всю папку не удалить,и должен быть особеннымудалитьAVProдокумент。Проверьте этоAVProРоднойnluginиз“helow”список
4. Импортируйте пакет Android.
Аналогичные операции применимы и к другим пакетам.
Список файлов локального плагина:
Видеофайлы можно воспроизводить практически где угодно, но мы рекомендуем размещать видеофайлы в проекте Unity, поскольку это самая простая папка для начала. StreamingAssets — это специальная папка, которая равномерно копируется в сборку без обработки. Файлы, скопированные в другом месте, необходимо будет вручную скопировать в место сборки. Компонент MediaPlayer позволяет просматривать видеофайлы и связывать их с родительскими папками:
Поле местоположения видео указывает основное местоположение видеофайла, а также путь к видео. • Поле указывает, где искать файлы, связанные с местоположением.
Например, если ваш файл хранится в папке «Assets/StreamingAssets/Video.mp4», вы должны установить . Перейдите к папке «Относительно папки потоковых ресурсов» и установите путь к видео «vedio.mp4». Также поддерживаются подпапки, и для видео «Assets/StreamingAssets/myfolder/video.mp4» будет установлен путь к видео. «моя папка/видео.mp4». Вы также можете указать абсолютный путь, URL-адрес или путь относительно другого местоположения:
Это лучшее и наиболее распространенное место для хранения видеофайлов. Эта папка находится по адресу . «Assets/StreamingAssets/», если он не существует, вам необходимо его создать. Файлы, скопированные в эту папку, не будут импортированы или обработаны Unity, но будут автоматически скопированы в сборку.
. Здесь вы можете указать полный URL или абсолютный путь к видеофайлу. URL-адрес может быть «http://myserver.com/myvideo.mp4» или «rtsp://myserver.com:8080/mystream.rtsp» в зависимости от поддержки платформы и используемой службы потоковой передачи.
Абсолютный путь выглядит так:
...использование абсолютных путей полезно для тестирования, но бесполезно при развертывании на других компьютерах, которые не имеют такой же файловой структуры.
Папка проекта — это папка вашего проекта Unity, то есть папка, содержащая ваши ресурсы. Подпапки «Библиотека» и «Настройки проекта». Указание файлов, связанных с папкой проекта, полезно, когда вы не хотите, чтобы видеофайлы были включены в папку ресурсов Unity, но хотите сохранить их в структуре папок проекта. Часто бывает полезно создать подпапку под названием «Видео». Одна из возможных проблем в этом случае заключается в том, что при сборке makina ваши видеофайлы не копируются автоматически в место назначения сборки, поэтому их необходимо копировать вручную.
Для сборок эта папка должна находиться по адресу:
Папка данных указывается Unity:
http://docs.unity3d.com/ScriptReferencelApplication-dataPath.html
Нет смысла помещать видеофайлы непосредственно в эту папку, поскольку они будут объединены в текстуры фильма и увеличат размер вашего проекта. Если вы хотите запретить Unity обрабатывать видеофайл, просто переименуйте расширение во что-то, чего Unity не понимает, например, «myvideo». mp4 «можно переименовать в myvideo.mp4.bin». Файлы в папке data (папка assets в редакторе) не копируются автоматически в сборку, поэтому их необходимо копировать вручную.
Постоянная папка данных устанавливается Unity. http://docs.unity3d.com/ScriptReference/Application-persistenDataPath.html
AVPro Video поддерживает несколько протоколов потоковой передачи на базе платформы:
При воспроизведении видео MP4 для потоковой передачи убедитесь, что они закодированы данными заголовка видео в начале файла. Обычно это можно сделать, выбрав «Быстрый старт». Кодировщик QuickTime или используйте «-move flag faststart» в FFMPEG, другие кодировщики будут иметь аналогичные параметры. Чтобы подготовить MP4 с использованием FFMPEG, вы можете использовать следующую команду:
ffmped -i %1 -acodec copy -vcodec copy -movflags faststart %1 -streaming.mp4
Особенно полезно, если вы транслируете видео. Часть URL-адреса «mp4» особенно полезна, если вы используете HLS для потоковой передачи из VIMEO в формате MP4. Обратите внимание, что вы можете заменить vith. m3u8», чтобы сделать его потоком HLS. Это может быть полезно для разработки приложений для Apple App Store, поскольку вам необходима сертификация (по состоянию на апрель 2016 г.).
Эта платформа поддерживает потоковую передачу потоков HLS, обычно заканчивающихся расширением m3u или m3u8.
Если у вас есть URL-адрес HTTPS, он должен работать нормально, поскольку Apple доверяет безопасному соединению.
Если вы можете использовать только HTTP, ваше приложение должно иметь специальный флаг, позволяющий использовать HTTP.
соединение (это проблема безопасности Apple).
Этот параметр был представлен в настройках проигрывателя Unity для iOS и tvOS:
Этот параметр также доступен в API сценариев: http://docs.unity3d.com/ScriptReference/PlayerSettings.iOS-allowHTTPDownload.html
Если по какой-то причине ваша версия Unity не предоставляет эту возможность, вам придется добавить ее вручную. В редакторе Unity вам необходимо отредактировать «Unity.app/content/info». В вашем приложении сборки вам нужно отредактировать «your.app/content/info.plist». В эти файлы необходимо добавить эти кевсы: NSAppTransportSecurity
NSAllowsArbitraryLoads
Вы можете найти дополнительную информацию здесь:
http://ste.vn/2015/06/10/configuring-app-transport-security-ios-9-osx-10-11/
Мы также включаем скрипт сборки постпроцесса под названием «PostProcessBuild». cs» • Внесите изменения в список и добавьте этот атрибут. В настоящее время он установлен только на платформе iOS, но вы также можете отредактировать определение вверху, чтобы сделать доступным и Mac OS X.
Требуется, чтобы для параметра доступа в Интернет (в настройках плеера) было установлено значение «Обязательно».
Мы считаем эти потоки удобными для тестирования (нет гарантии, что они все еще работают):
На данный момент мы протестировали видео AVPro на следующих платформах:
VR все еще очень нов, и вам всегда следует проверять последние рекомендуемые шаги по установке при создании проекта. В Интернете мы находим множество устаревших инструкций по установке. Видео AVPro поддерживает воспроизведение 4K MP4, создавая панораму на 360 градусов. Также поддерживается стереовидео 4K в форматах «сверху вниз» и «бок о бок». Советы по реализации воспроизведения видео с высоким разрешением в виртуальной реальности см. в разделе «Часто задаваемые вопросы». Уменьшение сложности кодирования видео облегчит работу механизма декодирования и может привести к повышению частоты кадров и снижению использования ЦП/ГП. Возможные настройки кодирования включают в себя:
Видео AVPro поддерживает стереоскопическое видео в форматах сверху, снизу, слева и справа. Вы можете установить стереоскопический формат упаковки видео на панели свойств мультимедиа:
Теперь при использовании шейдера внутри шара на сетке он автоматически сопоставляет правильную часть видео с каждой ночью. Посмотрите сцену «Demo_360SphereVideo», чтобы увидеть, как она работает. Включенный шейдер «InsideSphere.shader» позволяет легко установить формат видео, выбрав материал в раскрывающемся меню:
Выберите «Stereo Debug Shading», чтобы закрасить левый и правый разные цвета и убедиться, что стерео работает. Примечание. При использовании Unity 5.3 или более ранней версии или Unity 5.4 или более поздней версии без включенной одноканальной опции VR обязательно добавьте «UpdateStereoMaterial». компонент скрипта на сцену.
Обычно для стереоскопической виртуальной реальности требуются две камеры, каждая камера имеет разную маску слоя, а две сферы также имеют разные маски. Видео AVPro в этом не нуждается, просто используйте обычную одиночную камеру и одну сферу.
Некоторые системы VR, такие как Oculus Rift, имеют собственные устройства вывода звука, у AVPro Video есть опция «Принудительное устройство вывода звука» для Windows (пока только в режиме воспроизведения DirectShow), которая позволяет указать имя этого аудиоустройства:
Имя устройства, которое будет использоваться для вывода звука фарса, может быть получено из API VR или жестко запрограммировано. Название Oculus Rift обычно — «Rift Audio», а имя HTC Vive — «HTC Vive USB Audio».
Кодек Hap поддерживается изначально и имеет чрезвычайно низкую загрузку ЦП для видео сверхвысокого разрешения. Можно использовать как контейнеры AVI, так и MOV. Hap поддерживает только платформы Windows и Mac OS X.
В настоящее время для Windows с HapQ поддерживаются только варианты Hap и Hap Alpha, но в будущем также будет поддерживаться HapQ с Alpha. В настоящее время Hap требует выбора опции «Force DirectShow»:
Поддерживает Hap, Hap Alpha и Hap Q.
Не многие видеокодеки поддерживают прозрачность/альфа-канал. Некоторые видеоплатформы AVPro поддерживают следующие форматы:
AVPro Video включает в себя множество примеров готовых блоков, которые вы можете использовать, чтобы легко добавлять воспроизведение видео в свои проекты. Следующие шаги позволят создать приложение, воспроизводящее полноэкранное видео:
4. Создайте папку StreamingAssets в окне проекта и скопируйте файлы (например, файлы MP4) в эту папку. 5. Введите имя файла (включая расширение) в поле «Путь к видео» компонента MediaPlayer. 6. Создайте и разверните свое приложение, и видео будет выведено fullscreer6Displayl. Сценарий компонента MGUI — это лишь один из компонентов, используемых для отображения видео.
Сценарий компонента Displayl MGUI — это лишь один из компонентов, используемых для отображения видео. Он использует традиционную систему Unity IMGUI, которая всегда отображается поверх всего остального. Если вы не хотите, чтобы ваше видео было сверху, попробуйте использовать компоненты DisplayBackground или DisplayUGUI, чтобы получить больше контроля.
AVPro Video включает в себя множество простых в использовании компонентов сценариев, которые вы можете добавить в свои сцены. В этом примере мы покажем, как использовать компонент для воспроизведения видео на материале, который применяется к 3D-модели в сцене.
Самый простой способ начать — просмотреть прилагаемую демонстрацию и посмотреть, какие компоненты сценария используются. Для воспроизведения видео вам необходимо сделать в сцене три вещи:
AVPro Video предназначен для работы даже на платформах без встроенной поддержки, а не для отображения реального видео. Все элементы управления видео по-прежнему работают. Например, если вы запустите редактор в Linux, в редакторе появится виртуальный видеоплеер, а настоящее видео появится при развертывании на поддерживаемой платформе. При развертывании на неподдерживаемой платформе, например телевизоре Samsung, вы также увидите виртуальный видеоплеер. Код легко расширяется, чтобы добавить собственный видеоплеер для любой неподдерживаемой платформы.
Чтобы сделать этот актив простым в использовании, в него включен ряд компонентов. Компоненты расположены в папке AVProVideo/Scripts/Components, их также можно добавить из меню компонентов:
Это основной компонент для воспроизведения мультимедиа. Этот компонент занимается только загрузкой и воспроизведением мультимедиа, а не его отображением. Используйте компонент Display Script, чтобы контролировать, как и где будет отображаться ваше видео. Поля:
Это самый основной компонент для отображения видео. Он использует традиционную систему Unity IMGUI для отображения видео на экране. IMGUI всегда отображается поверх всего остального в сцене, поэтому, если вам нужно, чтобы ваше видео отображалось в 3D-пространстве или как часть системы uGul, лучше использовать другие компоненты. Поля:
Этот компонент используется для отображения видео с использованием системы uGUI Unity. Поля:
Этот компонент назначает текстуры, сгенерированные компонентом медиаплеера, в слоты текстуры материала в 3D-сетке. Это полезно для воспроизведения видео в 3D-сетке. Поля:
Все скрипты используют пространство имен RenderHeads.Media. Поэтому обязательно добавьте «Использовать RenderHeads.Media». AVProVideo» в начало исходного файла.
Большинство сценариев, скорее всего, будут основаны на сценарии MediaPlayer .cs. Этот скрипт управляет просмотром, воспроизведением и обновлением видео. Скрипт предоставляет ряд интерфейсов, связанных с различными вариантами использования, которые можно найти в файле Interface.cs. MediaPlayer предоставляет 3 основных интерфейса:
MediaPlayer mp;
mp.Info.GetVideolidth ();
MediaPlayer mp;
mp.Control.Pause ();
MediaPlayer mp;
videoTexture = mp.TextureProducer.GetTexture();
Скрипты MediaPlayer также имеют ряд методов управления загрузкой мультимедиа:
MediaPlayer в настоящее время имеет следующие события:
Пример сценария:
//Addtheeventlistener(canalsodothisviatheeditorGUI)
MediaPlayermp;
mp.Events.AddListener(OnVideoEvent);
//Callbackfunctiontohandleevents
publicvoidOnVideoEvent(MediaPlayermp,MediaPlayerEvent.EventTypeet)
{
switch(et)
{
caseMediaPlayerEvent.EventType.ReadyToPlay:
mp.Control.Play();
break;
caseMediaPlayerEvent.EventType.FirstFrameReady:
Debug.Log("Firstframeready");
break;
caseMediaPlayerEvent.EventType.FinishedPlaying:
mp.Control.Rewind();
break;
}
Debug.Log("Event:"+et.ToString());
}
360Spherevideo.prefab Готовый видеоплеер, сопоставленный со сферой. Префаб воспроизведения для изометрических видеороликов 360°, содержащий видеоплеер и квадромодель с нанесенным специальным фоновым материалом. BackgroundVideo.prefab Этот материал позволяет квадрату рисоваться раньше всего остального, поэтому он появляется на заднем плане. FullscreenVideo.prefab Предустановки управляют видеоплеером и компонентом дисплея IMGUI для очень простого создания базового воспроизведения видео.
компоненты
AVProvideodesiąned в основном с использованием компонентов, предлагающих перетаскивание, но всегда бывают случаи, когда необходим Скрипт. Ресурсы включают примеры сцен.,Дает несколько примеров того, как воспроизвести,Применяйте видеотекстуры к материалам и т. д.,Это полезное обучение. Полные материалы курса можно скачать здесь: http://downloads.renderheads.com/docs/AVProVideoClassReference/
MediaPlayer class Класс MediaPlayer является основным классом для воспроизведения видео, в нем указываются и управляются видеофайлы. Этот класс в основном передается через Unity Inspector Ul для управления и сценариев через свойства интерфейса, которые он предоставляет.
свойство
метод Все эти интерфейсы методиспользовать, представленные выше, являются удобными ярлыками.
Интерфейс IMedialnfo Этот интерфейс используется для запроса свойства видео. метод
Интерфейс IMediaControl метод Этот интерфейс используется для управления загрузкой и воспроизведением видео.
Интерфейс IMediaProducer метод
Вообще говоря, наиболее распространенными поддерживаемыми форматами являются файлы MP4 с кодировкой H.264 для видео и аудио в формате AAC. Этот формат поддерживается на всех платформах, но не обязательно поддерживаются все битрейты и профили. Поддержка контейнеров:
Поддержка аудиокодеков:
Поддержка видеокодеков:
Кодек Windows Media Foundation VP8NP9 можно загрузить по адресу http://www.webmproject.oraliel. Судя по всему, Apple скоро выпустит поддержку **Требуется опция «Force DirectShow».
Ячейки с «?» — это ячейки, в которых мы не уверены. Мы проведем дополнительное тестирование и продолжим обновлять эту таблицу. Подробную информацию о том, какие кодеки и типы кодирования являются лучшими, см. в сведениях для каждой платформы ниже.
Android поддерживает несколько медиаформатов. Чтобы увидеть полный список, ознакомьтесь с Android ниже. Документация: http://developer.android.com/intl/ko/quide/appendix/media-formats.html. В таблице ниже показаны некоторые функции устройства Android, и ее можно использовать в качестве руководства для просмотра поддерживаемых форматов видео.
iOS поддерживает несколько форматов мультимедиа, включая H.264. Чтобы увидеть полный список, нажмите здесь на iOS Документация: https://developer.apple.com/librarv/ios/documentation/Miscellaneous/Conceptual/iPhoneQs TechOverview/MediaLayer/ MediaLaver.html. В таблице ниже показаны некоторые функции устройства iOS, и ее можно использовать в качестве руководства для просмотра поддерживаемых форматов видео.
В OS X поддерживаются ProRes 422 и ProRes 4444. OS X и выше поддерживаются следующие дополнительные форматы: / Несжатый 10 тысяч рандов Несжатый y210 Несжатый 2 юй
Полный список поддерживаемых форматов можно найти здесь: https://msdn.microsoft.com/enus/library/windows/desktop/dd757927(v=vs.85).aspx https://msdn.microsoft.com/enus/windows/uwp/audiovideocamera/supportedcodecs Кодек поддерживает профиль до L5.1: https://msdn.microsoft.com/enus/library/windows/desktop/dd797815(v=vs.85).aspx
Windows 10 добавляет следующие форматы H.265/HEVC МКВ ФЛАК
Эта платформа еще не поддерживается, но подробную информацию о носителях, поддерживаемых платформой, можно найти здесь:
https://msdn.microsoft.com/library/windows/apps/ff462087(v=vs.105).aspx https://msdn.microsoft.com/enus/windows/uwp/audiovideocamera/supportedcodecs
Если вам нужна поддержка или у вас есть какие-либо комментарии/предложения по поводу этого продукта, свяжитесь с нами. Электронная почта: unitysupport@renderheads.com Веб-сайт: http://renderheads.com/product/avpro-video/. Форум Unity: http://forum.unity3d.com/threads/released-avpro-video-complete-video-playback-solution.3856111
Если вы сообщаете об ошибке, приложите всю соответствующую документацию и подробную информацию, чтобы мы могли решить проблему как можно быстрее.
Необходимые детали:
А еще лучше пришлите нам полную или уменьшенную копию вашего унифицированного проекта.
Издатель: Лидер стека программистов полного стека, укажите источник для перепечатки: https://javaforall.cn/126866.html Исходная ссылка: https://javaforall.cn