VLC не может воспроизводить поток RTSP, пока mpv, ffplay может воспроизводить потоковое видео RTSP - PullRequest
0 голосов
/ 15 ноября 2018

Я разработал сервер RTSP на основе ffserver, который транслирует живое видео, я могу транслировать и отображать видео на mpv и ffplayer.но на VLC-плеере я вижу только первое изображение, затем оно не показывает другие кадры.

Вот журналы вывода VLC -vvv:

[0x7846e8] main playlist debug: art not found for rtsp://127.0.0.1:1234/test.h264
Received 92 new bytes of response data.
Received a complete PLAY response:
RTSP/1.0 200 OK
CSeq: 5
Date: Thu, 15 Nov 2018 04:13:15 GMT
Session: 522d937eb678c50a


[0x7f9684000e38] live555 demux debug: play start: 0.000000 stop:0.000000
[0x7f9684000e38] main demux debug: using access_demux module "live555"
[0x7f96840246b8] main decoder debug: looking for decoder module matching "any": 39 candidates
[0x7f96840246b8] avcodec decoder debug: trying to use direct rendering
[0x7f96840246b8] avcodec decoder debug: allowing 3 thread(s) for decoding
[0x7f96840246b8] avcodec decoder debug: avcodec codec (H264 - MPEG-4 AVC (part 10)) started
[0x7f96840246b8] avcodec decoder debug: using frame thread mode with 3 threads
[0x7f96840246b8] main decoder debug: using decoder module "avcodec"
[0x7f9684034f68] main packetizer debug: looking for packetizer module matching "any": 21 candidates
[0x7f9684034f68] main packetizer debug: using packetizer module "packetizer_h264"
[0x7f9684150308] main demux meta debug: looking for meta reader module matching "any": 2 candidates
[0x7f9684150308] lua demux meta debug: Trying Lua scripts in /home/hashmak/.local/share/vlc/lua/meta/reader
[0x7f9684150308] lua demux meta debug: Trying Lua scripts in /usr/lib/vlc/lua/meta/reader
[0x7f9684150308] lua demux meta debug: Trying Lua playlist script /usr/lib/vlc/lua/meta/reader/filename.luac
[0x7f9684150308] lua demux meta debug: Trying Lua scripts in /usr/share/vlc/lua/meta/reader
[0x7f9684150308] main demux meta debug: no meta reader modules matched
[0x7f968c0009b8] main input debug: `rtsp://127.0.0.1:1234/test.h264' successfully opened
[0x7f9684000e38] live555 demux debug: tk->rtpSource->hasBeenSynchronizedUsingRTCP()
[0x7f968c0009b8] main input error: ES_OUT_RESET_PCR called
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f9684034f68] packetizer_h264 packetizer warning: waiting for SPS/PPS
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f9684034f68] packetizer_h264 packetizer warning: waiting for SPS/PPS
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f9684034f68] packetizer_h264 packetizer warning: waiting for SPS/PPS
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f9684034f68] packetizer_h264 packetizer warning: waiting for SPS/PPS
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f9684034f68] packetizer_h264 packetizer warning: waiting for SPS/PPS
[0x7f9684034f68] packetizer_h264 packetizer warning: waiting for SPS/PPS
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f9684034f68] packetizer_h264 packetizer warning: waiting for SPS/PPS
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f9684034f68] packetizer_h264 packetizer warning: waiting for SPS/PPS
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f9684034f68] packetizer_h264 packetizer warning: waiting for SPS/PPS
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f9684034f68] packetizer_h264 packetizer warning: waiting for SPS/PPS
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f9684034f68] packetizer_h264 packetizer warning: waiting for SPS/PPS
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f9684034f68] packetizer_h264 packetizer warning: waiting for SPS/PPS
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f9684034f68] packetizer_h264 packetizer warning: waiting for SPS/PPS
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f9684034f68] packetizer_h264 packetizer warning: waiting for SPS/PPS
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f9684034f68] packetizer_h264 packetizer warning: waiting for SPS/PPS
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f9684034f68] packetizer_h264 packetizer debug: found NAL_SPS (sps_id=0)
[0x7f9684034f68] packetizer_h264 packetizer debug: found NAL_PPS (pps_id=0 sps_id=0)
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f9694002718] main spu text debug: looking for text renderer module matching "any": 2 candidates
[0x7f9694002718] freetype spu text debug: Building font databases.
[0x7f9694002718] freetype spu text debug: Took 0 microseconds
Fontconfig warning: FcPattern object size does not accept value "0"
Fontconfig warning: FcPattern object size does not accept value "0"
[0x7f9694002718] freetype spu text debug: Using Serif Bold as font from file /usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
[0x7f9694002718] freetype spu text debug: using fontsize: 2
[0x7f9694002718] main spu text debug: using text renderer module "freetype"
[0x7f969400e408] main scale debug: looking for video filter2 module matching "any": 55 candidates
[0x7f969400e408] swscale scale debug: 32x32 chroma: YUVA -> 16x16 chroma: RGBA with scaling using Bicubic (good quality)
[0x7f969400e408] main scale debug: using video filter2 module "swscale"
[0x7f9694025cc8] main scale debug: looking for video filter2 module matching "any": 55 candidates
[0x7f9694025cc8] yuvp scale debug: YUVP to YUVA converter
[0x7f9694025cc8] main scale debug: using video filter2 module "yuvp"
[0x7f9694001428] main video output debug: Deinterlacing available
[0x7f9694001428] main video output debug: deinterlace 0, mode blend, is_needed 0
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f9694001428] main video output debug: Opening vout display wrapper
[0x7f9674001248] main vout display debug: looking for vout display module matching "any": 12 candidates
[0x7f9674002618] main window debug: looking for vout window xid module matching "qt4,any": 4 candidates
[0x7f9674002618] qt4 window debug: requesting video window...
[0x6f3208] qt4 interface debug: Video was requested 0, 0
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f9674002618] main window debug: using vout window xid module "qt4"
[0x7f96740027e8] main inhibit debug: looking for inhibit module matching "any": 2 candidates
[0x7f96740027e8] dbus_screensaver inhibit debug: found service org.freedesktop.ScreenSaver
[0x7f96740027e8] main inhibit debug: using inhibit module "dbus_screensaver"
[0x7f9674001248] xcb_glx vout display debug: connected to X11.0 server
[0x7f9674001248] xcb_glx vout display debug:  vendor : The X.Org Foundation
[0x7f9674001248] xcb_glx vout display debug:  version: 11702000
[0x7f9674001248] xcb_glx vout display debug: using screen 0x73
[0x7f9674001248] xcb_glx vout display debug: using GLX extension version 1.4
[0x7f9674001248] xcb_glx vout display debug: using X11 window 05400000
shader program 1: WARNING: Output of vertex shader 'TexCoord1' not read by fragment shader
WARNING: Output of vertex shader 'TexCoord2' not read by fragment shader

[0x7f9674001248] main vout display debug: VoutDisplayEvent 'fullscreen' 0
[0x7f9674001248] main vout display debug: VoutDisplayEvent 'resize' 1215x724 window
[0x7f9674001248] main vout display debug: using vout display module "xcb_glx"
[0x7f9694001428] main video output debug: original format sz 640x480, of (0,0), vsz 640x480, 4cc I420, sar 1:1, msk r0x0 g0x0 b0x0
[0x7f9694002718] main spu text debug: removing module "freetype"
[0x7f9694002718] main spu text debug: looking for text renderer module matching "any": 2 candidates
[0x7f9694002718] freetype spu text debug: Building font databases.
[0x7f9694002718] freetype spu text debug: Took 0 microseconds
Fontconfig warning: FcPattern object size does not accept value "0"
Fontconfig warning: FcPattern object size does not accept value "0"
[0x7f9694002718] freetype spu text debug: Using Serif Bold as font from file /usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
[0x7f9694002718] freetype spu text debug: using fontsize: 2
[0x7f9694002718] main spu text debug: using text renderer module "freetype"
[0x7f96840246b8] avcodec decoder debug: using direct rendering
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f96840246b8] main decoder debug: End of video preroll
[0x7f96840246b8] main decoder debug: Received first picture
[0x7f9674001248] xcb_glx vout display debug: display is visible
[0x7f9674001248] main vout display error: Failed to resize display
[0x7f968c0009b8] main input debug: Buffering 0%
[h264 @ 0x7f9684037e40] illegal short term buffer state detected
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f9674001248] main vout display debug: auto hiding mouse cursor
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%

[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%

[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%


[0x7f968c0009b8] main input debug: Buffering 0%

[0x7f968c0009b8] main input debug: Buffering 0%

[0x7f968c0009b8] main input debug: Buffering 0%



[0x7f968c0009b8] main input debug: Buffering 0%

[0x7f968c0009b8] main input debug: Buffering 0%

[0x7f968c0009b8] main input debug: Buffering 0%


[0x7f968c0009b8] main input debug: Buffering 0%

[0x7f968c0009b8] main input debug: Buffering 0%

[0x7f968c0009b8] main input debug: Buffering 0%




[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%
[0x7f968c0009b8] main input debug: Buffering 0%

[0x7f968c0009b8] main input debug: Buffering 0%

[0x7f968c0009b8] main input debug: Buffering 0%

[0x7f968c0009b8] main input debug: Buffering 0%


[0x7f968c0009b8] main input debug: Buffering 0%


[0x7f968c0009b8] main input debug: Buffering 0%


[0x7f968c0009b8] main input debug: Buffering 0%

[0x7f968c0009b8] main input debug: Buffering 0%

Здесь вы видите, VLC всегда ждетпри буферизации, в то время как другие игроки могут получать буферы от моего сервера RTSP, также я вижу пакеты RTP на Wireshark, которые сервер постоянно отправляет данные в VLC.

Может ли кто-нибудь помочь мне в этом вопросе?

Большое спасибо заранее.

...