Как играть в RTSP потоки в Ubuntu?

9

Более конкретно, вопрос заключается в том, как воспроизводить потоки rtsp с адресов, на которых есть знак вопроса.

IE: rtsp: //some.server.name: 554 / video_file.wmv? Authstring = sOm3StrIN2 == & param = 3

Я пробовал различные медиаплееры, но не смог воспроизвести файл. Я точно знаю, что это не проблема сервера, потому что я мог бы передавать тестовое видео на тот сервер, который не требует аутентификации.
Я был удивлен, что vlc не может обрабатывать такие URL, поэтому я попробовал mplayer, но он также не мог воспроизводить потоки.
mpv был первым проигрывателем, в котором мне удалось воспроизвести тестовое видео, о котором я упоминал выше, но я не смог воспроизвести URL-адреса формы, которую я написал выше. С mpv я попробовал эту командную строку:

mpv --http-header-fields='authstring:sOm3StrIN2==','param:3' \rtsp://some.server.name:554/video_file.wmv

а также попытался добавить --rtsp-transport=lavf|tcp|udp|httpопцию, но ничего не получалось.

К сожалению, я знаю, что такие ссылки (как написано выше) работают с Windows Media Player, но я не хочу использовать Wine или перейти к Windows (у меня дуэль загрузки) только для просмотра потока.

yaron160
источник

Ответы:

6

Вы пытались следовать этим инструкциям из документации Videolan (прокрутите вниз до раздела « Видео по запросу »)?

Было бы полезно, если вы предоставите тестовый URL-адрес rtsp, который вы хотите транслировать.

Изменить : инструкции по ссылке выше:

Сначала запустите vlc:

vlc --ttl 12 -vvv --color -I telnet --telnet-password videolan --rtsp-host 0.0.0.0:5554

где:

  • 12 - это значение TTL (Time To Live) ваших IP-пакетов (что означает, что поток сможет пересекать 11 маршрутизаторов).

  • Telnet запускает интерфейс Telnet в VLC.

  • videolan - это пароль для подключения к интерфейсу telnet.

  • 0.0.0.0 - это адрес хоста.

  • 5554 - это порт, по которому вы транслируете.

Затем подключитесь к интерфейсу telnet vlc и создайте объект vod :

new Test vod enabled

setup Test input my_video.mpg

Вы можете получить доступ к потоку с:

vlc rtsp://server:5554/Test

где сервер - это адрес потокового сервера (IP или DNS)

elgicse
источник
1
Я не уверен, как это должно работать. Мне кажется, что это превратит меня в RTSP-сервер, но мне нужно найти клиента, который может взаимодействовать с сервером, который ожидает некоторые параметры (для аутентификации)
yaron160
3

Вы можете попробовать mplayer.

sudo apt-get install mplayer

Передайте rtsp://URL-адрес mplayer в его командной строке. Существуют серверы, которые обслуживают файлы, содержащие rtsp://URL-адрес по HTTP, но затем подают контент по протоколу MMS. Это для совместимости с некоторыми более старыми плеерами Microsoft (у меня неясная память по поводу деталей), но это ломает клиентов, которые считают, что RTSP - это RTSP, а MMS - это MMS. Если вы получили rtsp://URL, который вообще не работает, попробуйте заменить схему на mms://.

Ананду М Дас
источник
попробовал ваше предложение, но оно не сработало.
yaron160
0

Для меня лучший игрок это ffmpeg:

ffplay rtsp://username:password@server:554/path

Если аутентификация не нужна,

ffplay rtsp://server:554/path
Паоло Субиако
источник