无法播放 rtsp - 使用 Linux 进行流式传输

无法播放 rtsp - 使用 Linux 进行流式传输

我无法从 XUbuntu(21.04、20.04)或 Debian 11 播放任何 rtsp 流。我也使用 Live-USB-Sticks 来获得一个新系统。

至于软件,我曾尝试使用 mplayer、vlc (3.012)、ffmpeg...但没有成功。

我可以用 VLC 从我的 Android 设备(平板电脑或手机)播放任何流媒体。我可以用 VLC 从我的 Windows7 笔记本电脑播放任何流媒体。

ffplay 的这个错误消息可能有助于找到问题:

~$ ffplay rtsp://192.168.178.2:8554/video
ffplay version 4.3.2-0+deb11u1ubuntu1 Copyright (c) 2003-2021 the FFmpeg developers
  built with gcc 10 (Ubuntu 10.2.1-20ubuntu1)
  configuration: --prefix=/usr --extra-version=0+deb11u1ubuntu1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu ...

  libavutil      56. 51.100 / 56. 51.100
  libavcodec     58. 91.100 / 58. 91.100
  libavformat    58. 45.100 / 58. 45.100
  libavdevice    58. 10.100 / 58. 10.100
  libavfilter     7. 85.100 /  7. 85.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  7.100 /  5.  7.100
  libswresample   3.  7.100 /  3.  7.100
  libpostproc    55.  7.100 / 55.  7.100

[rtsp @ 0x7f7008000bc0] method SETUP failed: 459 Client error=0/0   
rtsp://192.168.178.2:8554/video: Server returned 4XX Client Error, but not one of 40{0,1,3,4}
    nan    :  0.000 fd=   0 aq=    0KB vq=    0KB sq=    0B f=0/0   
~$

来自 MPlayer:

:~$ mplayer rtsp://192.168.178.2:8554/video
MPlayer 1.4 (Debian), built with gcc-10 (C) 2000-2019 MPlayer Team
do_connect: could not connect to socket
connect: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing rtsp://192.168.178.2:8554/video.
Resolving 192.168.178.2 for AF_INET6...

Couldn't resolve name for AF_INET6: 192.168.178.2
Connecting to server 192.168.178.2[192.168.178.2]: 8554...

rtsp: warning: setting NEW session: 48863bf289524adc;timeout=60;timeout=60
Timeout! No data from host 0.0.0.0
rtsp_session: unsupported RTSP server. Server type is 'VLC/3.0.11'.
libavformat version 58.45.100 (external)
libavformat file format detected.
[rtsp @ 0x7f5acb1ba180]method SETUP failed: 459 Client error
LAVF_header: av_open_input_stream() failed


Exiting... (End of file)
This is the VLC Debug-Log:

dbus debug: Getting All properties
dbus debug: Getting All properties
dbus debug: Getting All properties
dbus debug: Getting All properties
main debug: processing request item: rtsp://192.168.178.2:8554/video, node: Wiedergabeliste, skip: 0
main debug: rebuilding array of current - root Wiedergabeliste
main debug: rebuild done - 2 items, index 1
main debug: starting playback of new item
main debug: resyncing on rtsp://192.168.178.2:8554/video
main debug: rtsp://192.168.178.2:8554/video is at 1
main debug: creating new input thread
main debug: Creating an input for 'rtsp://192.168.178.2:8554/video'
main debug: requesting art for new input thread
main debug: using timeshift granularity of 50 MiB
main debug: using default timeshift path
main debug: `rtsp://192.168.178.2:8554/video' gives access `rtsp' demux `any' path `192.168.178.2:8554/video'
main debug: creating demux: access='rtsp' demux='any' location='192.168.178.2:8554/video' file='(null)'
main debug: looking for access_demux module matching "rtsp": 18 candidates
main debug: no access_demux modules matched
main debug: creating access: rtsp://192.168.178.2:8554/video
main debug: looking for access module matching "rtsp": 29 candidates
main debug: looking for meta fetcher module matching "any": 1 candidates
satip debug: try to open 'rtsp://192.168.178.2:8554/video'
satip debug: connect to host '192.168.178.2'
lua debug: Trying Lua scripts in /home/mikropower/.local/share/vlc/lua/meta/fetcher
main debug: net: connecting to 192.168.178.2 port 8554
lua debug: Trying Lua scripts in /usr/lib/x86_64-linux-gnu/vlc/lua/meta/fetcher
lua debug: Trying Lua scripts in /usr/share/vlc/lua/meta/fetcher
main debug: no meta fetcher modules matched
main debug: looking for art finder module matching "any": 2 candidates
lua debug: Trying Lua scripts in /home/mikropower/.local/share/vlc/lua/meta/art
lua debug: Trying Lua scripts in /usr/lib/x86_64-linux-gnu/vlc/lua/meta/art
lua debug: Trying Lua playlist script /usr/lib/x86_64-linux-gnu/vlc/lua/meta/art/00_musicbrainz.luac
lua debug: skipping script (unmatched scope) /usr/lib/x86_64-linux-gnu/vlc/lua/meta/art/00_musicbrainz.luac
lua debug: Trying Lua playlist script /usr/lib/x86_64-linux-gnu/vlc/lua/meta/art/01_googleimage.luac
lua debug: skipping script (unmatched scope) /usr/lib/x86_64-linux-gnu/vlc/lua/meta/art/01_googleimage.luac
lua debug: Trying Lua playlist script /usr/lib/x86_64-linux-gnu/vlc/lua/meta/art/02_frenchtv.luac
lua debug: skipping script (unmatched scope) /usr/lib/x86_64-linux-gnu/vlc/lua/meta/art/02_frenchtv.luac
lua debug: Trying Lua playlist script /usr/lib/x86_64-linux-gnu/vlc/lua/meta/art/03_lastfm.luac
lua debug: skipping script (unmatched scope) /usr/lib/x86_64-linux-gnu/vlc/lua/meta/art/03_lastfm.luac
lua debug: Trying Lua scripts in /usr/share/vlc/lua/meta/art
main debug: no art finder modules matched
main debug: connection succeeded (socket = 35)
main debug: net: opening 0.0.0.0 datagram port 9156
main debug: net: opening 0.0.0.0 datagram port 9157
qt debug: IM: Setting an input
satip error: Failed to setup RTSP session
main debug: net: connecting to 192.168.178.2 port 8554
main debug: connection succeeded (socket = 34)
access_realrtsp warning: Cseq mismatch, got 1, assumed 0
access_realrtsp debug: rtsp connected
access_realrtsp warning: only real/helix rtsp servers supported for now
main debug: no access modules matched
main debug: dead input
qt debug: IM: Deleting the input
main debug: changing item without a request (current 1/2)
main debug: nothing to play
dbus debug: Getting All properties
dbus debug: Getting All properties
dbus debug: Getting All properties

cvlc的调试:

...
lua art finder debug: Trying Lua scripts in /usr/share/vlc/lua/meta/art
main art finder debug: no art finder modules matched
satip stream error: Failed to setup RTSP session
main stream debug: net: connecting to 192.168.178.2 port 8554
main stream debug: connection succeeded (socket = 11)
access_realrtsp stream warning: Cseq mismatch, got 1, assumed 0
access_realrtsp stream debug: rtsp connected
access_realrtsp stream warning: only real/helix rtsp servers supported for now
main stream debug: no access modules matched
main input error: Ihre Eingabe konnte nicht geöffnet werden
main input error: VLC kann die Medienadresse 'rtsp://192.168.178.2:8554' nicht öffnen. Für Details bitte im Fehlerprotokoll nachsehen.
main playlist debug: dead input
main playlist debug: changing item without a request (current 0/1)
main playlist debug: nothing to play
dbus interface debug: Getting All properties
dbus interface debug: Getting All properties
...

答案1

由此Debian 错误报告

由于 liblivemedia 包含非自由代码,我们不得不禁用这些插件。请参阅 #981439。也许这值得在发布说明中添加一条新闻条目和一条说明。

来自VLC 论坛

根据 Debian 政策决定,Debian VLC 版本不支持 RTSP”

使用 VLC SNAP 包可以播放 rtsp-Streams。

而且看起来每个为 Debian 构建的程序(mplayer、ffplay、vlc……)也都删除了 rtsp-Streaming 功能。

相关内容