Проверьте сервис RTSP через URL - PullRequest
4 голосов
/ 05 февраля 2010

Я пытаюсь убедиться, что видео-сервис предоставляется с URL-адреса в Python. Я спрашиваю, знает ли кто-нибудь о каких-либо хороших библиотеках или способах сделать это. Я не нашел много информации для этого в Интернете.

Спасибо

Ответы [ 4 ]

4 голосов
/ 11 февраля 2010

Копаться в StackOverflow Я наткнулся на предыдущий вопрос, спрашивающий о RTSP-библиотеке на Python или C / C ++ .

Linked есть библиотека RTSP, предоставленная Twisted , и еще одна, называемая Live555 . Вы пробовали любой из них?

Я просто публикую ссылки для удобства.

3 голосов
/ 11 февраля 2010

Если вы не хотите использовать библиотеку, как предлагает synack, вы можете открыть сокет-соединение с данным URL и отправить запрос RTSP DESCRIEBE. Это на самом деле довольно просто, поскольку RTSP является текстовым HTTP-подобным. Вам потребуется проанализировать ответ для получения значимого результата, например, проверить наличие потоков мультимедиа.

1 голос
/ 08 февраля 2010

Если вы попытаетесь утвердить сам URL-адрес в качестве действительного URL-адреса RTSP, я думаю, что только маркер протокола изменится с http:// на rtsp:// или rtspu://, и неявно порт по умолчанию больше не будет 80 , но 554.

См. RTSP RFC , раздел 3.2 («URL-адрес RTSP») для получения дополнительной информации о формате URL.

Однако, если вы хотите знать, находится ли «позади» заданного URL-адреса RTSP работающий сервер RTSP, вам следует на самом деле открыть соединение с этим сервером, обычно с использованием сокетов TCP. Вы можете сделать «разговор» просто с помощью кода, но я предлагаю вам использовать какой-то продукт / библиотеку, которая обеспечивает стек RTSP для Python; Я не знаю, существует ли такой продукт для Python, но есть несколько вещей для C / C ++.

0 голосов
/ 11 марта 2010

Я не верю, что Live555 предоставляет библиотеку Python. Тем не менее, они предоставляют исходный код, который может быть скомпилирован для сборки openRTSP. Это простая утилита командной строки, которая выполнит полное рукопожатие RTSP, чтобы подключиться к серверу и начать потоковую передачу на клиент. Он также может предоставлять статистические измерения (такие как дрожание, количество потерянных пакетов и т. Д.), Которые можно использовать для измерения качества потокового соединения.

...