Потоковое видео в реальном времени через RTMFP, используя формат, отличный от Spark
Я хотел бы предоставлять видео высокого качества (H.264) между сервером и одним клиентом Flash Player с низкой задержкой (RTMFP). Один клиент будет управлять роботизированным устройством и видеть результаты через видеопоток, поэтому важна низкая задержка.
Вариант A: Flash Player поддерживает потоковую передачу видео с низкой задержкой между двумя узлами P2P по протоколу RTMFP в Flash Player 10. Он использует кодек Spark для кодирования видео, и, насколько я знаю, невозможно кодировать с использованием любого другого кодека. в плеере.
Вариант B: Flash Media Live Encoder поддерживает живое кодирование с использованием других кодеков (On2 и H.264), но не может выступать в качестве равноправного RTMFP - для этого параметра требуется Flash Media Server в середине.
Кажется, я не могу транслировать видео на один клиент через RTMFP с чем-либо, кроме Spark. Я что-то пропустил? Есть ли какой-то способ достижения того, о чём я мог и не подумать?
3 ответа
Правильно, в настоящее время выпускная версия флеш-плеера не кодирует исходящее (опубликованное) видео в формате h.264. Однако, если вы получите лабораторную версию флэш-плеера labs.adobe.com, следующая версия флэш-памяти будет поддерживать живое кодирование (и публикацию) h.264. Это также будет работать в вашем сценарии p2p.
Flash теперь поддерживает h.264
Установите это так:
if (Camera.names.length > 0) {
h264Settings = new H264VideoStreamSettings();
h264Settings.setProfileLevel(H264Profile.BASELINE, H264Level.LEVEL_3_1);
cam = Camera.getCamera();
cam.setMode(384,288,16,true);
cam.setKeyFrameInterval(8);
cam.setQuality(90000,85);
cam.setMotionLevel(35,10000);
cam.setLoopback(false);
cam.addEventListener(StatusEvent.STATUS, camStatusHandler);
}
Попробуйте это http://red5.org/
или другая новая технология P2P http://labs.adobe.com/technologies/stratus/