Como jogar rtsp streams no ubuntu?

9

Mais especificamente, a questão é como reproduzir fluxos rtsp de endereços com um ponto de interrogação.

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

Eu tentei vários players de mídia, mas não consegui transmitir o arquivo. Sei que isso não é um problema no servidor, porque eu poderia transmitir um vídeo de teste nesse servidor que não requer autenticação.
Fiquei surpreso que o vlc não pudesse lidar com esses URLs, então tentei o mplayer, mas ele também não era capaz de reproduzir os fluxos.
O mpv foi o primeiro player em que consegui reproduzir o vídeo de teste mencionado acima, mas não consegui transmitir URLs do formulário que escrevi acima. Com o mpv , tentei esta linha de comando:

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

e também tentou adicionar a --rtsp-transport=lavf|tcp|udp|httpopção, mas nada funcionou.

Infelizmente, eu sei que esses links (como escrevemos acima) funcionam com o Windows Media Player, mas não quero usar o vinho ou ir para o Windows (eu tenho inicialização por duelo) apenas para assistir a um fluxo.

yaron160
fonte

Respostas:

6

Você tentou seguir estas instruções na documentação do Videolan (role para baixo até a seção Vídeo sob demanda )?

Seria útil se você fornecer um URL de teste rtsp que deseja transmitir.

Editar : as instruções do link acima são:

Primeiro inicie o vlc:

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

Onde:

  • 12 é o valor do TTL (Time To Live) dos seus pacotes IP (o que significa que o fluxo poderá atravessar 11 roteadores).

  • O telnet lança a interface telnet do vlc.

  • videolan é a senha para conectar-se à interface telnet.

  • 0.0.0.0 é o endereço do host.

  • 5554 é a porta na qual você transmite.

Em seguida, conecte-se à interface telnet do vlc e crie o objeto vod :

new Test vod enabled

setup Test input my_video.mpg

Você pode acessar o fluxo com:

vlc rtsp://server:5554/Test

em que servidor é o endereço do servidor de streaming (IP ou DNS)

elgicse
fonte
11
Não tenho certeza de como isso deve funcionar. Parece-me que isso vai fazer-me em um servidor RTSP, mas eu preciso encontrar um cliente que pode se comunicar com um servidor que espera que alguns parâmetros (para autenticação)
yaron160
3

Você pode tentar mplayer.

sudo apt-get install mplayer

Passe o rtsp://URL para o mplayer em sua linha de comando. Existem servidores por aí que veiculam arquivos que contêm uma rtsp://URL por HTTP, mas veiculam conteúdo no protocolo MMS. Isso é compatível com alguns players mais antigos da Microsoft (minha memória está turva com os detalhes), mas quebra clientes que acreditam que RTSP é RTSP e MMS é MMS. Se você obtiver um rtsp://URL que não funcione, tente substituir o esquema por mms://.

Anandu M Das
fonte
tentei sua sugestão, mas não funcionou.
yaron160