Русский
Русский
English
Статистика
Реклама

Обработка видео

Разработка приложения для обработки видео на что обратить внимание и при чем тут зумеры

21.12.2020 02:23:17 | Автор: admin

Привет, Хабр!

Меня зовут Алексей Жуков. Более 10 лет вместе с командой разработчиков я занимаюсь созданием и дизайном приложений и интернет-платформ. В статье хочу поделиться своим видением трендов на рынке видеоконтента. Разберемся в том, что будет после пандемии и что учесть при создании приложения для зумеров.

В 2020 году видеоконтент стал важнейшей частью интернет-потребления. Его популярность отчасти связана с миллениалами и поколением Z. Именно они не видят свою жизнь без интернета и предпочитают развлекаться или узнавать новое из онлайн-видео. Согласно результатам опроса YouTube, 50% людей в обоих поколениях заявили, что они "не могут жить" без видео в своей повседневной жизни.

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

Если 10 лет назад создание видеоконтента было очень энергоемким и трудозатратным, сегодня ролики создаются буквально на лету. Такую скорость обеспечивают новые приложения для обработки визуального контента. Но к такому состоянию рынок приложений пришел не сразу, а пандемия только подстегивает интерес к ним, поэтому в ближайшем будущем мы увидим лишь усиление трендов.

Видеоролики брендов вышли на первое место

В прошлом пользователи использовали широкий набор источников для получения информации о продукте: веб-сайты брендов, онлайн-обзоры, рекламные ролики, видеоролики на YouTube. Теперь, когда видео доступно во всех крупных соцсетях, они больше полагаются на видеоконтент: демонстрации продуктов, видео-обзоры, распаковки, учебные пособия. Этот контент намного более аутентичен, чем отретушированный снимок продукта.

Пользователи хотят расслабиться и убежать от реальности

В прошлом зрители включали телевизор и ходили в кино, чтобы отвлечься от стресса. Сегодня потребность в расслабляющем или развлекательном контенте никуда не ушла. Первая и основная причина, почему пользователи YouTube смотрят видео это развлечение и отдых. В ТОП-7 рейтинга причин входят также возможность посмеяться и желание забыть об окружающем мире.

Профессионализм видеооператора не важен

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

Причины, по которым зрители смотрят видео, далеки от таких пунктов, как высокое качество производства и популярность актеров. Более того, миллениалы и поколение Z целенаправленно предпочитают контент, создаваемый обычными пользователями, а не профессиональными студиями.

Зумеры предпочитают длинные видео

Клиповое мышление позволяет зумерам по первым секундам отфильтровывать неподходящий контент и мгновенно включаться в поток релевантной информации. Они более творчески подходят к своей жизни и живо интересуются всем новым. Такие качества подталкивают их к просмотру более длинных видео, в отличие от предыдущих поколений. Такие видео должны вовлекать зрителя с первых секунд, в течение которых и принимается решение о просмотре или дальнейшем поиске более подходящего контента.

Что предлагает рынок обработки медиаконтента

Рынок мобильных приложений для обработки фото- и видеоконтента постоянно пополняется новыми игроками как в России, так и на Западе. Однако это не значит, что спрос на такие продукты растет. Скорее, растет генерация визуального контента пользователями. От этого, в первую очередь, выигрывают социальные гиганты, Instagram, TikTok, которые идеально отвечают желанию самовыражения. Если говорить о приложениях, основной функцией которых является обработка медиаконтента, то здесь я бы выделил InShot, Splice, VivaVideo, Prequel, Instories.

Чего хотят зумеры

Зумеры практически родились с гаджетом в руках, поэтому им недостаточно просто снять видео. В условиях, когда видео снимают все кому не лень, на первое место выходит фактор уникальности контента. Это подтолкнуло к появлению самого сильного тренда, который мы до сих пор наблюдаем создание Stories. Маски, в свою очередь, постепенно теряют популярность, хотя имеют потенциал возродиться в каком-то другом виде. Возможно, здесь сказывается то, что последние полгода пользователям и так пришлось их носить постоянно.

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

При этом простыми эффектами пользователей уже не заманишь, они есть в большом количестве почти у всех конкурентов.

Здесь нужно смотреть глубже. Важна не обертка видео, а пользовательский кейс, сценарий, повод, ради которого человек решил что-то снять и опубликовать. Узкопрофильные приложения, отлично справляющиеся с одной конкретной задачей, а не мультикомбайны, пытающиеся повторить функционал Adobe Premiere Pro или iMovie вот новый тренд в этой отрасли. Свежими примерами можно назвать Boomerang или Hyperlapse от Instagram.

Что будет после пандемии

Пандемия COVID-19 заметно подстегнула интерес к подобным приложениям. Запросы некоторых игроков увеличились вдвое. Но это временное явление, уже виден спад пользовательской активности. А гиганты рынка и вовсе остались на прежнем уровне поисковых запросов. Очевидно, режим самоизоляции стимулировал людей обратиться к своей медиаколлекции прошлых лет и отпусков, чтобы продолжить свою активность в соцсетях. Это само по себе тоже можно назвать краткосрочным трендом.

В целом же, нужно понимать, что пользователям больше нравится снимать, чем обрабатывать. Поэтому, после пандемии такая активность быстро вернется в норму. Будущее здесь скорее за продуктами, позволяющими накладывать музыку, эффекты, делать коллажи в реальном времени, прямо во время съемки. Но это требует хорошей оптимизации приложения и не последнего по характеристикам мобильного устройства.

Какие приложения выиграют

Очевидно, выигрывают специализированные приложения. Здесь нужно держать руку на пульсе своей аудитории и запускать кросс-проекты. Отличным примером может служить история со Stories в Instagram и приложения, позволяющие сделать Stories интереснее и разнообразнее.

Также в выигрыше будут продукты, позволяющие обрабатывать видео в реальном времени. Это сильно снижает время, которое пользователь тратит на создание контента, то есть время использования приложения. И, как ни парадоксально, это же повышает привязку человека к таким продуктам, поскольку он получает результат практически мгновенно.

Мобильные редакторы медиаконтента сильно похожи друг на друга. У них почти одинаковый набор функций и пользовательский интерфейс. Здесь победит тот, кто максимально удобно и быстро решает задачу. Например, Splice предлагает очень комфортный процесс создания видео, шустрый рендеринг и подгрузку дополнительных медиаресурсов, будь то эффекты, музыка или текст.

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

Я бы посоветовал разработчикам таких приложений отойти от общей схемы построения интерфейсов и прислушаться к самим пользователям мобильных платформ. Полезно будет также анализировать действия людей в вашем продукте и отслеживать изменения метрик за счет сплит-тестирования. Это позволит улучшить опыт без полной переделки дизайна.

Как создать приложение для зумеров

По моему опыту, качественная разработка приложений предполагает глубокую проработку на каждом этапе.

1. Идея

Когда вы находитесь на стадии разработки идеи приложения, проблемы больше связаны с балансированием и управлением творческим потоком. Тщательное исследование, аналитика и мозговой штурм помогут разработать уникальный подход, который может эффективно удовлетворить потребности рынка.

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

2. Целевая аудитория

Вместе с идеей всегда стоит вопрос, кто ваша целевая аудитория и что она ищет. Например, если ваша целевая аудитория делает покупки онлайн, приложение должно иметь функции, позволяющие экспериментировать с внешним видом человека и держать пользователей в курсе последних трендов.

3. Удобство

При разработке приложения очень важно создать интуитивный интерфейс, так как никто не любит блуждать в поисках необходимых функций и руководств по их использованию.

Неплохо начать с версии MVP (minimum viable product минимально жизнеспособный продукт). Как только пользователи привыкнут к приложению, изучите аналитику и их отзывы. Таким образом, вы получите представление о функциях, которые они предпочитают, например:

  • добавление звуковых эффектов или дорожек;

  • объединение нескольких файлов в один (как видео, так и фотографии);

  • обрезка видеоролика или добавление кадров;

  • расширенные правки (экспозиция, насыщенность, контраст, температура, оттенки, тени и т. д.);

  • редактирование во время записи с помощью специальных эффектов, фильтров и текстур;

  • функции совместного использования соцсетей;

  • сохранение видеоролика в нескольких форматах.

4. Монетизация

Версия MVP важна и тем, что можно проверить различные гипотезы о способах получения дохода с приложения. Обязательно необходимо протестировать различные подходы к монетизации, такие как премиальные функции, подписки и покупки в приложении, чтобы ко второй версии выработать наиболее оптимальный вариант.

5. Интеграция с соцсетями

Интеграция с соцсетями это самый важный элемент для любого подобного приложения. Зумеры могут одновременно вести активную жизнь в семи и более соцсетях. Поэтому как только пользователь создаст интересный контент, он захочет мгновенно поделиться им в TikTok, Instagram, Twitter и т. д. Необходимо добавить как можно больше каналов в приложение, чтобы исключить рутинные операции.

Каждое поколение рождает новые запросы и потребности. То, что важно для миллениалов и поколения Z, не так важно для бумеров. Сейчас зумеры формируют тренды на рынке мобильных приложений для создания визуального контента.

На подходе поколение альфа. Пока специалисты лишь строят предположения о том, что от них ожидать. Возможно, с ними мы переживем еще более глубокое проникновение визуальной информации в повседневную жизнь. Именно они станут драйвером роста AR/VR-соцсетей, полноценными хозяевами совершенно нового виртуального пространства, в котором маски и Stories останутся приятным напоминанием о старом мире.

Подробнее..

Как видит компьютер

16.07.2020 12:18:27 | Автор: admin


Задумывались ли Вы когда-нибудь, как компьютер находит нужные для обработки объекты из видеопотока? На первый взгляд, это выглядит задачей из разряда высокого программирования с применением огромного количества формул из математического анализа, дискретной математики и т.д., требует огромного количества знаний, чтобы написать хотя бы маленькую программу наподобие Hello, world в мире распознавания образов на видео. А если бы Вам сказали, что на самом деле сейчас осуществить вход в мир компьютерного зрения гораздо проще и после прочтения этой статьи Вы сможете написать свою программу, которая научит Ваш компьютер видеть и детектировать лица? Также в конце статьи Вас ждет бонус, который может повысить безопасность Вашего ПК с помощью компьютерного зрения.

Для того, чтобы Ваш компьютер начал понимать, что Вы ему показываете что-либо похожее на лицо, нам понадобится:

  1. Компьютер;
  2. Web-камера;
  3. Python 3;
  4. Ваш любимый редактор кода (PyCharm, Jupyter и т.д.).

Итак, после того, как Вы собрали всё необходимое по списку выше, мы можем приступить к непосредственному написанию нашей программы для распознавания лиц.

Для начала, качаем необходимые библиотеки Python с помощью команды в Командной строке:

pip install opencv-python; numpy




Коротко о том, зачем они нам нужны:

OpenCV. Эта библиотека основа почти каждого современного проекта по компьютерному зрению. В ней хранятся сотни алгоритмов компьютерного зрения и обработки изображений. Изначально написана на C/C++, но в дальнейшем была переписана и на Python ввиду большой востребованности ее на данном языке.

Numpy. Будет помогать с внутренними вычислениями библиотеки OpenCV.

После окончания установки нужных нам библиотек открываем наш любимый редактор кода и начинаем писать нашу программу:

Присоединяем библиотеку компьютерного зрения OpenCV

import cv2 as cv

2. Захват видеопотока с Web-камеры производим с помощью метода VideoCapture(index), где index порядковый номер нашей Web-камеры в системе. Если камера одна, то параметр будет равен 0.

capture = cv.VideoCapture(0)


3. Для получения видео воспользуемся методом read(), который возвращает нам флаг rtrn -показывает успешность захвата кадра из видеопотока и image кадр нашего видеопотока (numpy-массив). Считывать данные из видеопотока будем непрерывно, пока не будет нажата клавиша Escape.

while True:    rtrn, image = capture.read()    cv.imshow("Capture from Web-camera", image) # Вывод кадра в окно с названием    if cv.waitKey(1) == 27:  # Выход из программы по нажатию Esc        breakcapture.release()cv.destroyAllWindows()


Сохраняем наш файл, запускаем из командной строки с помощью python имя_нашего_файла.py. Теперь наша программа умеет принимать видеопоток с Web-камеры! А это значит, что мы уже на полпути к тому, чтобы компьютер мог распознавать лица.

4. Давайте сделаем так, чтобы наш компьютер также мог записывать видео в файл:

Указываем кодек для сохранения видео, указываем имя для сохраняемого файла, fps и размеры. Для нашей задачи мы берем кодек XVID.

import cv2 as cvcapture = cv.VideoCapture(0)codec = cv.VideoWriter_fourcc(*'XVID')


5. Выводим последовательно кадры в окно video, а после сохраняем результат в переменную output. Затем данные из output, после завершения видеопотока, передадим в файл saved_from_camera.avi:

output = cv.VideoWriter('saved_from_camera.avi ', codec, 25.0, (640, 480))while capture.isOpened():    rtrn, image = capture.read()    if cv.waitKey(1) == 27 or rtrn == False:        break    cv.imshow('video for save', image)    output.write(image)output.release()capture.release()cv.destroyAllWindows()


После того как мы научились брать видео с Web-камеры и сохранять его в файл, то можно приступить к самому интересному распознаванию лиц в видеопотоке. Для нахождения лица на кадрах мы будем использовать так называемые Признаки Хаара. Суть их в том, что если брать прямоугольные области на изображении, то по разности интенсивностей между пикселями смежных прямоугольников можно выделить особенности, присущие лицам.

Например, на изображениях с лицами область вокруг глаз темнее, чем около щек. Поэтому, одним из Признаков Хаара для лиц можно назвать 2 смежных прямоугольника у щек и глаз.

Существует большое количество других, более быстрых и точных методов детекции объектов на изображении, но для понимания общих принципов нам пока будет достаточно знать лишь Признаки Хаара.

Разработчики OpenCV уже провели работы по определению Признаков Хаара и предоставили всем желающим результаты для возможностей обработки видеопотока.

Приступим к написанию детектора лиц с нашей Web-камеры:

6. Первым делом, получим наши Признаки Хаара и определим параметры для захвата видеопотока. Файл с Признаками лежит по пути, где устанавливаются библиотеки Python. По умолчанию, они находятся в папке,

C:/Python3X/Lib/sitepackages/cv2/data/haarcascade_frontalface_default.xml


где X Ваша подверсия Python 3.

import cv2 as cvcascade_of_face = cv.CascadeClassifier('C:/Python3.X/Lib/site-packages/cv2/data/haarcascade_frontalface_default.xml ')capture = cv.VideoCapture(0)capture.set(cv.CAP_PROP_FPS, 25) # Частоту зададим 25 кадров в секунду


7. Далее, в цикле будем поочередно считывать кадры с Web-камеры и передавать его нашему детектору лиц:

while True:    rtrn, image = capture.read()    gr = cv.cvtColor(image, cv.COLOR_BGR2GRAY)    faces_detect = cascade_of_face.detectMultiScale(        image=gr,        minSize=(15, 15),        minNeighbors=10,        scaleFactor=1.2    )    for (x_face, y_face, w_face, h_face) in faces_detect:        cv.rectangle(image, (x_face, y_face), (x_face + w_face, y_face + h_face), (0, 0, 255), 2)    cv.imshow("Image", image)    if cv.waitKey(1) == 27:  # Esc key        breakcapture.release()cv.destroyAllWindows()


8. Теперь объединим всё в одно целое и получим программу, которая захватывает видео с Web-камеры, распознает на нем лица и сохраняет результат в файл:

import cv2 as cvfaceCascade = cv.CascadeClassifier('C:/Users/Zet/Desktop/Python/test_opencv/Lib/site-packages/cv2/data/haarcascade_frontalface_default.xml')capture = cv.VideoCapture(0)capture.set(cv.CAP_PROP_FPS, 25)codec = cv.VideoWriter_fourcc(*'XVID')output = cv.VideoWriter('saved_from_camera.avi', codec, 25.0, (640, 480))while True:    rtrn, image = capture.read()    gr = cv.cvtColor(image, cv.COLOR_BGR2GRAY)    faces_detect = faceCascade.detectMultiScale(        image=gr,        minSize=(15, 15),        minNeighbors=10,        scaleFactor=1.2    )    for (x_face, y_face, w_face, h_face) in faces_detect:        cv.rectangle(image, (x_face, y_face), (x_face + w_face, y_face + h_face), (255, 0, 0), 2)    cv.imshow("Image", image)    output.write(image)    if cv.waitKey(1) == 27:  # Esc key        breakoutput.release()capture.release()cv.destroyAllWindows()


Все! Вы написали программу, которая является первым шагом в понимании того, как видит компьютер. Дальше можно улучшать распознавание лиц, например, чтобы компьютер узнавал определенных людей на видео с помощью обучения нейронных сетей. Также можно написать детектор, настроенный на распознавание более сложных объектов (например, отслеживание дорожного трафика) с возможностью их анализа. А также решать другие, не менее интересные задачи компьютерного зрения.

БОНУС

Применим программу на практике будем отслеживать входы под учетной записью.

1. Зайдем в Планировщик заданий (можно найти через стандартный Поиск Windows);
2. Создадим Простую задачу, дадим ей название и краткое описание;



3. Нажимаем Далее и попадаем в пункт Триггер. Здесь выбираем событие, при котором будет происходить запуск нашего задания. Выбираем При входе в Windows;

4. Далее в действии указываем Запустить программу;

5. В Действии указываем путь до python.exe, а в Параметрах путь до нашей программы:



Готово! В результате, при входе в систему будет записываться лицо вошедшего под учетной записью, а видео будет сохранено. Таким образом, можно отслеживать, кто работал за компьютером в Ваше отсутствие, с сохранением записи доказательств.
Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru