У меня есть приложение для чата PHP/AJAX/MYSQL. Я хочу добавить видео-чат в свое приложение. Как создать потоковое видео в реальном времени, которое будет использоваться для видеоконференций/бесед в реальном времени в приложении PHP. Какие ключевые термины мне нужно знать, хочу ли я создать такую систему? Это хорошая идея в первую очередь использовать PHP? Есть ли что-то, о чем я не думаю? Какие языки я могу использовать, возможно, в сочетании с PHP?
Прямая трансляция видео с помощью PHP
Ответ 1
Я не говорю, что вам нужно отказаться от PHP, но вам нужны разные технологии.
Пусть начнется просто (без Akamai:-)) и подумайте о последствиях здесь. Видео, чат и т.д. - все это клиентская сторона в начале. У пользователя есть веб-камера, вы хотите как-то захватить сигнал и отправить его на сервер. Пока нет PHP.
Я знаю, что Flash это поддерживает (проверьте этот учебник по веб-камерам и flash), чтобы вы могли использовать Flash для переноса содержимого на сервер, Я думаю, что если вы останетесь с Flash, то Flex (flex и учебник по веб-камерам), вероятно, хорошая идея для изучения.
Итак, это просто основы, возможно, это дает вам представление о том, где вам нужно исследовать, потому что, очевидно, это не даст вам полноценного видеочата внутри вашего приложения. Для начала вам понадобится какой-то способ записи потоков и их повторного публикации, чтобы другие видели других людей из чата и т.д.
Я также не уверен, сколько трафика и пропускной способности это потребляется, хотя и, как правило, вам понадобится больше, чем вопрос Stackoverflow для решения этой проблемы. Лучше всего было бы сделать полную спецификацию вашего приложения, а затем нанять некоторых людей, чтобы помочь вам построить его.
НТН!
Ответ 2
Этот проект, который использует Red5, Flex и PHP для потоковой передачи и записи в реальном времени, имеет множество функций
-
Потоковое видео для зрителей
-
Запись потоков с камеры или других устройств ввода видео на сервер
-
Предварительный просмотр записанных потоков и файлов и миниатюры кадра, который вы хотите отобразить для видео.
-
Загрузите видео с вашего компьютера и преобразуйте их в FLV, который можно транслировать с помощью Red5.
-
Выберите любое разрешение
-
Может быть подключен к любому script
-
Каждый пользователь веб-сайта может иметь отдельный каталог для хранения своих видео и миниатюр, используя эту ссылку http://code.google.com/p/red5-flex-streamer/
Ответ 3
PHP позволит вам создавать страницы вашего сайта, которые составляют ваши видеоконференции и чат-приложения, но он не будет доставлять или передавать видео для вас - PHP работает только на сервере и выводит HTML в клиентский браузер.
Для видео первое, что вам понадобится, - это потоковая передача в прямом эфире с кем-то вроде акамаи или другими другими в этой области. Использование этой учетной записи дает вам точку входа для вашего видео - то есть: сервер, на который вы будете транслировать видео в реальном времени до.
Затем вы хотите получить видеоролик в браузерах: Windows Media Player, Flash или Silverlight позволит вам добиться этого - внедрить соответствующий элемент управления для выбранной вами технологии на вашу страницу (используя PHP или что-то еще) и задать адрес вашего видео в реальном времени.
PHP (или другой язык сценариев) будет использоваться для создания части чата приложения и объединения всей вещи (чата и встроенного видеоплеера).
Надеюсь, что это поможет.
Ответ 4
Обычный PHP скрипт на стандартном веб-хосте может просто генерировать html-страницы для HTTP-запросов, а не для непрерывной потоковой передачи видео в реальном времени. Для потоковой передачи в реальном времени требуется дополнительная технология. Обычно лучшим вариантом, который работает в большинстве браузеров, является Flash. Он также может работать на мобильных телефонах путем создания Air-клиентов (мобильных приложений) или доставки потока в виде HLS (HTTP Live Streaming).
Вам в основном нужны 2 типа хостинга (может быть на одном сервере): 1. веб-хостинг (с PHP) 2. rtmp stream hosting (Red5, Wowza, Adobe..) Подробные требования к такому проекту (включая диаграмму) доступны по адресу http://www.videowhisper.com/?p=Requirements.
Комплексное решение включает 3 части: 1. Flash-приложение, используемое для подключения к потоковому серверу и потоку в реальном времени 2. Приложение на стороне сервера RTMP (обычно стандартная конфигурация) 3. PHP-скрипты, которые интегрируют приложение с остальной частью сайта (путем передачи параметров по мере необходимости)
Ответ 5
Для видеоконференций в реальном времени вы не можете игнорировать необходимость потокового сервера.
Да, вспышка позволит вам отображать видео с веб-камеры в локальном управлении вспышкой, но это не позволит вам отправлять это видео по сети - для этого вам нужен потоковый сервер для его отправки.
Если вы собираетесь построить что-то подобное, разумно подумать о том, как вы собираетесь размещать видео с очень ранней стадии, так как это повлияет на то, как вы создаете приложение. Flash/Flex/Silverlight/Windows Media.... и т.д.
Ответ 6
PHP/AJAX/MySQL не будет достаточным для создания приложения потокового видео в реальном времени. Здесь есть аналогичный поток . В основном это предполагает использование Flex или Silverlight.
Ответ 7
Существует множество "готовых" "серверов", которые будут запускаться в вашей среде. Большинство из них используют вышеупомянутый Flex или Silverlight для реализации самого самого видео, но я уверен, что все будет работать под LAMP/PHP.
Задачи будут выбирать лучшее программное обеспечение из всего, что доступно, и заставить вашего хостинг-провайдера позволить вам потоковое видео (само собой разумеется, что потоковая передача сильно зависит от полосы пропускания).
Ответ 8
Такая же проблема/ответ здесь, приведенный ниже
Я предполагаю, что вы хотите, чтобы вы запускали собственное личное видео звонки, а не просто ссылки на звонки Skype или аналогичные. У вас действительно есть 2 здесь: размещайте его самостоятельно или используйте размещенное решение и интегрируйте его это в ваш продукт.
самопринятый ----------------- Это грязно. Все это может быть выполнено с помощью PHP, но это, вероятно, не самое подходящее решение, так как оно не лучший инструмент для работы со всех сторон. Вспышка намного больше эффективный при захвате/переносе a/v на стороне пользователя. Вы можете попробовать сделайте это без вспышки, но у вас будут головные боли. HTML5 может сделать ваша жизнь проще, но если вы снимаете для максимальной совместимости, flash - это самый простой способ для создания клиента. Тогда, насколько это возможно как фактическая сторона сервера, которая будет передавать аудио/видео, вы могли бы написать чат-сервер в php, но вам лучше использовать open source проекта, например janenz00 упоминать red5, который уже построен и взаимодействуя с ним через вашего клиента (если он еще не один). Или вы могли бы создать домашнюю флешку, как упоминалось ранее, и подключите его к потоковому серверу с обеих сторон... в любом случае быстро усложняется и выходит за рамки моего опыта, чтобы помочь вам в все.
Хостинг ----------------- Все в моей рекомендации, если вы не хотите управлять смешной установкой многих сложных серверов и сбоями необходимо использовать размещенную службу, такую как UserPlane или аналогичный и разгрузить все обработки и технической работы людям, которые хороши в этом, а затем беспокоиться о том, чтобы взаимодействовать с их api и хорошо получать их клиентов интегрированы в ваш сайт. Если вы это сделаете, вы станете счастливее.