Подтвердить что ты не робот

Сохранить видео, снятое с веб-камеры, используя Flash

Я хотел бы использовать Flash для захвата видео с веб-камеры пользователя, а затем сохранить его на том же сервере, на котором размещен файл Flash. На веб-сервере будет запущена технология ASP.Net. Кажется легким, правильно?

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

Я могу найти множество сообщений в блогах и форумах, в которых подразумевается стороннее программное обеспечение или Flash Communication Server, чтобы собирать его на сервере, но я не понимаю, почему.

Кажется, что Flash должен иметь возможность захватить некоторое видео и отправить его как сообщение HTTP на тот же сервер, на котором размещен файл Flash. Это довольно простая функция Flash/веб-камеры, верно? Похоже, нам пока не нужно вводить сторонние зависимости.

Кто-нибудь знает, где скрываются эти дополнительные строки кода кода ActionScript?

4b9b3361

Ответ 1

Вам нужен Flash Media Server (или альтернатива с открытым исходным кодом, например Red5), чтобы иметь возможность передавать видео с клиента на сервер, что, по сути, вы хотите сделать здесь. Нет способа сделать это с помощью HTTP POST.

Вы можете, однако, нарисовать объект видеоизображения в растровом изображении каждого кадра и загрузить эти растровые изображения "на лету", используя обычные загрузки файлов HTTP. Хотя, как вы можете себе представить, это не совсем идеально с точки зрения производительности. Вы также столкнетесь с проблемами, поскольку модель безопасности Flash Player не позволяет загружать файлы без инициирования пользователем операции (т.е. Событие щелчка мыши находится в трассировке стека). Есть способ обойти это, например, отправляя файл как AMF ByteArray через службу AMF, но это может быть не будущее доказательство.

В конце концов, для любого типа приложений профессионального уровня вы обязательно захотите включить Flash Media Server (или Red5.) Есть компании, из которых вы можете нанять такие услуги, например, Influxis. Спустившись по этому маршруту, вам не нужно будет размещать сервер (который является Java) самостоятельно.

Ответ 2

Я нашел этот блог полезным.

http://www.zeropointnine.com/blog/updated-flv-encoder-alchem/ Этот код основан на ответе, полученном richardolsson.

Я пробовал этот код один раз в своем проекте, а также успешно загружал 10-секундное видео в Facebook. Я написал подробный блог о моем опыте. http://www.logicmanialab.com/2012/10/upload-video-to-facebook-using.html

Этот код сломается или повредит браузер, если видео слишком длинное. Во всяком случае, стоит попробовать.

Кроме того, лучший способ сохранить видео - использовать сервер Flash Media или сервер RED5 (мой опыт). Я никогда не пробовал ffmpeg, поскольку я не лучший в PHP:).