Можно ли передавать потоковое видео на Flash Media Server через доступ к данным NetStream? - PullRequest
3 голосов
/ 10 марта 2012

Итак, я работаю с видеоисточником, который я загружаю в свое приложение Adobe AIR через некоторые собственные расширения, с целью в конечном итоге передать его на сервер Flash Media Server. Видео кодируется в формате H.264 и мультиплексируется в контейнер FLV, что согласуется с поддерживаемыми кодеками Flash Media Server и требованиями NetStream (appendBytes). Я могу просто загрузить данные в AIR.

Мое, на которое я сегодня ступил, заключается в том, что документация для NetStream.appendBytes гласит, что я должен вызвать NetStream.play (null) :

Вызовите этот метод для NetStream в «Режиме генерации данных». Чтобы перевести NetStream в режим генерации данных, вызовите NetStream.play (null) для NetStream, созданного в NetConnection, подключенного к null. Вызов appendBytes () для NetStream, который не находится в режиме генерирования данных, является ошибкой и вызывает исключение.

NetStream.play (), вызываемый с нулевым параметром, приводит к локальному воспроизведению FLV. Я не могу опубликовать поток в FMS в этом режиме. Но мое исследование Flash, похоже, показывает, что доступ к байтам в NetStream - моя единственная реальная надежда при работе с видеоданными, не относящимися к камере или без них.

Q: Можно ли зафиксировать буфер воспроизведения видео для публикации в FMS? Могу ли я создать своего рода конвейер NetStreams или NetConnections для достижения этой цели? Или здесь есть альтернативный подход для передачи данных H.264 / FLV в FMS? (Источник моего видео не может напрямую общаться с FMS.)

1 Ответ

2 голосов
/ 10 марта 2012

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

Я попытался изучить это для вас, чтобы увидеть, был ли какой-то грязный хакер, где вы могли подключить камеру или что-то еще и переопределить двоичные данные, отправляемые в поток, как вы можете с помощью Audio, но, к сожалению, насколько мне известноНет, такой взлом невозможен.Больше информации здесь: NetStream.appendBytes

Обновление

Вы можете сделать что-то хакерское, используя ManyCam, который является драйвером виртуальной веб-камерыиз того, что я понимаю).Это обеспечит правильную камеру, которую вы можете выбрать из вспышки, а также вы можете выбрать видеофайл в качестве исходного файла для ManyCam.См. http://manycam.com/user_guide/#HowtoSelectaVideofileasthePictureSourceforManyCam

Обновление # 2

Если вы ищете что-то с открытым исходным кодом, которое будет делать то же самое, что и manycam, проверьте следующее:

http://code.google.com/p/webcamstudio/wiki/VideoSourceMovie (лицензия GPL)

...