Конвейер GStreamer с использованием WebRTCPython

Программы на Python
Anonymous
Конвейер GStreamer с использованием WebRTC

Сообщение Anonymous »

Сейчас я работаю над проектом, в котором мне нужно транслировать видео в режиме реального времени и сохранять фотографии каждые пару минут, поэтому я начал изучать GStreamer. В настоящее время у меня есть работающий конвейер, использующий udpsink, но я сильно борюсь с WebRTC (сейчас я пытаюсь перейти на базовое веб-приложение). Я понимаю, как работает WebRTC, но всякий раз, когда я пытаюсь что-то создать, я терплю неудачу.
Я нашел gstreamer-webrtc-demo.
У меня проблемы с созданием это работает, но мне было проще запросить конкретный код, который, как я полагаю, работает и создает мой собственный с нуля. Я не могу найти никаких руководств, и файлы readme не очень помогают. Я создаю свой проект на Python, поэтому пытался использовать эту часть репозитория, но всегда сталкивался с проблемами. Раньше я использовал Docker, но на экране ничего не отображалось. Когда я делаю компоновку докера с помощью gst (который вызывает исполняемый файл на C, а не на Python, но для того, чтобы попробовать), на экране ничего не отображается. Затем, если я запускаю простой сервер в папке сигнализации, он загружается правильно, но когда я запускаю клиенты, я всегда получаю такие ошибки:

Код: Выделить всё

./session-client.py
Our uid is 'ws-test-client-a7e4e8'
Traceback (most recent call last):
File "/home/grius/Downloads/gstreamer-webrtc-demo-master/signalling/./session-client.py", line 81, in 
asyncio.get_event_loop().run_until_complete(hello())
File "/usr/lib/python3.10/asyncio/base_events.py", line 649, in run_until_complete
return future.result()
File "/home/grius/Downloads/gstreamer-webrtc-demo-master/signalling/./session-client.py", line 48, in hello
async with websockets.connect(SERVER_ADDR, ssl=sslctx) as ws:
File "/home/grius/.local/lib/python3.10/site-packages/websockets/legacy/client.py", line 635, in __aenter__
return await self
File "/home/grius/.local/lib/python3.10/site-packages/websockets/legacy/client.py", line 654, in __await_impl__
_transport, protocol = await self._create_connection()
File "/usr/lib/python3.10/asyncio/base_events.py", line 1103, in create_connection
transport, protocol = await self._create_connection_transport(
File "/usr/lib/python3.10/asyncio/base_events.py", line 1133, in _create_connection_transport
await waiter
File "/usr/lib/python3.10/asyncio/selector_events.py", line 862, in _read_ready__data_received
data = self._sock.recv(self.max_size)
ConnectionResetError: [Errno 104] Connection reset by peer
grius@grius:~/Downloads/gstreamer-webrtc-demo-master/signall
По сути, мне понадобится краткое руководство, как заставить это работать, если это репозиторий действительно работает. Или еще одно руководство по использованию Python для gstreamer и webrtc.
Заранее спасибо и хорошего дня :)

Подробнее здесь: https://stackoverflow.com/questions/790 ... ing-webrtc

Вернуться в «Python»