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

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

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

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

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

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

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

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

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

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

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 :).

Давайте будем гением компьютера.