Jak odtwarzać strumienie rtsp w Ubuntu?

9

Mówiąc dokładniej, pytanie brzmi: jak odtwarzać strumienie rtsp z adresów, które zawierają znak zapytania.

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

Próbowałem różnych odtwarzaczy multimedialnych, ale nie mogłem przesyłać strumieniowo pliku. Wiem na pewno, że nie jest to problem z serwerem, ponieważ mogłem przesyłać strumieniowo wideo testowe na tym serwerze, który nie wymaga uwierzytelnienia.
Byłem zaskoczony, że vlc nie może obsłużyć takich adresów URL, więc wypróbowałem mplayera, ale nie mógł także odtwarzać strumieni.
mpv był pierwszym odtwarzaczem, w którym udało mi się odtworzyć testowe wideo, o którym wspomniałem powyżej, ale nie mogłem przesyłać strumieniowo adresów URL formularza, który napisałem powyżej. Z mpv wypróbowałem ten wiersz poleceń:

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

i także próbowałem dodać --rtsp-transport=lavf|tcp|udp|httpopcję, ale nic nie działało.

Niestety, wiem, że takie linki (jak napisano powyżej) działają z Windows Media Playerem, ale nie chcę używać wina ani przechodzić do Windowsa (mam bootowanie pojedynków) tylko po to, żeby obejrzeć strumień.

yaron160
źródło

Odpowiedzi:

6

Czy próbowałeś wykonać te instrukcje z dokumentacji Videolan (przewiń w dół do sekcji Wideo na żądanie )?

Przydałby się testowy URL rtsp, który chcesz przesyłać strumieniowo.

Edycja : instrukcje z powyższego linku to:

Najpierw uruchom VLC:

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

gdzie:

  • 12 to wartość TTL (Time To Live) twoich pakietów IP (co oznacza, że ​​strumień będzie w stanie przekroczyć 11 routerów).

  • telnet uruchamia interfejs telnet VLC.

  • videolan to hasło do połączenia z interfejsem telnet.

  • 0.0.0.0 to adres hosta.

  • 5554 to port, na którym transmitujesz strumień.

Następnie połącz się z interfejsem telnet vlc i utwórz obiekt vod :

new Test vod enabled

setup Test input my_video.mpg

Możesz uzyskać dostęp do strumienia za pomocą:

vlc rtsp://server:5554/Test

gdzie serwer to adres serwera przesyłania strumieniowego (IP lub DNS)

elgicse
źródło
1
Nie jestem pewien, jak to powinno działać. Wydaje mi się, że to zmieni mnie w serwer rtsp, ale muszę znaleźć klienta, który może komunikować się z serwerem, który oczekuje pewnych parametrów (do uwierzytelnienia)
yaron160
3

Możesz spróbować mplayera.

sudo apt-get install mplayer

Przekaż rtsp://adres URL mplayerowi w wierszu poleceń. Istnieją serwery, które obsługują pliki zawierające rtsp://adres URL przez HTTP, ale następnie obsługują zawartość w protokole MMS. Jest to zgodne z niektórymi starszymi odtwarzaczami Microsoft (moja pamięć jest niewyraźna w stosunku do szczegółów), ale łamie klientów, którzy uważają, że RTSP to RTSP, a MMS to MMS. Jeśli otrzymasz rtsp://adres URL, który w ogóle nie działa, spróbuj zamienić schemat na mms://.

Anandu M. Das
źródło
próbowałem twojej sugestii, ale to nie zadziałało.
yaron160
0

Dla mnie najlepszym graczem jest ffmpeg:

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

Jeśli uwierzytelnianie nie jest potrzebne,

ffplay rtsp://server:554/path
Paolo Subiaco
źródło