2015-08-14 4 views
1

Я хочу передать поток RTSP h.264 или MJPEG с IP-камеры непосредственно на сеанс webRTC в браузере без повторного кодирования. Это должно быть сделано в python, потому что целью является наличие такого шлюза RTSP/WebRTC на самой камере, в которой есть интерпретатор python. Поток в одну сторону, только в браузере. Я новичок на пионе, поэтому любые намеки, идеи или ссылки на существующие библиотеки приветствуются.python rtsp to webrtc

Я видел запись в http://www.codeproject.com/Articles/800910/Broadcasting-of-a-Video-Stream-from-an-IP-camera-U, но для этого требуется перекодирование на VP8 (и это не питон).

Также просмотрен нить на Use an IP-camera with webRTC и просмотрен медиа-сервер Kurento (nodejs) и шлюз Janus (C).

Один из комментаторов сказал: «Возможно, вы, вероятно, очень легко сможете использовать собственный API webrtc и обеспечить поток RTSP через него». Существуют ли какие-либо привязки python к собственному WebRTC api? Неужели я не могу понять, что такое приложение шлюза возможно в python?

ответ

1

Firefox поддерживает H.264 (через плагин OpenH264, который автоматически загружается). Chrome скоро добавит H.264. Ни один из них не поддерживает MJPEG и не имеет собственного кода webrtc.org, хотя MJPEG поддерживается всеми из них в качестве источника захвата камеры, и было бы не особенно сложно добавить видеокодек MJPEG в собственный код webrtc.org. (Нетривиальный, однако, из-за количества вещей, которые вам нужно изменить.)

Обратите внимание, что если это пересекает открытый интернет (или даже потенциально соединение wifi), ваше решение не сможет легко адаптироваться к битрейт, не прося IP-камеру изменить ее скорость.

+0

Для адаптивного битрейта я еще не рассматривал решение. Будет ли шлюз webRTC потенциально иметь возможность сопоставлять запросы на изменение битрейта браузера в дискретные параметризованные ip-адреса ip-камеры? Например, чтобы изменить частоту кадров, разрешение или битрейт CBR? Я понимаю, что это было бы очень настроено для конкретной ip-камеры api, но интересно, действительно ли встроенный код webrtc предоставляет такие обратные вызовы, которые могут быть обойдены кодеком vp8? – pio

+0

Шлюз может делать все, что угодно, на «дальней стороне» шлюза, и он может иметь полную информацию о вызове (от его конца, а в некоторых случаях и с другого конца). Так что да, это может изменить, какой поток используется локально с IP-камеры. – jesup

+0

Для адаптивной потоковой передачи это может дать некоторые входы: https://flashphoner.com/browser-based-webrtc-stream-from-rtsp-ip-camera-with-low-latency/ – psykid