Page 1 of 1

Stream RTSP without Android Surface

Posted: 08 Apr 2015 19:02
by feldman3
Is it possible to access a stream without attaching it to a surface? So far I have only been met with errors. I spent about a week trying to enable the snapshot functionality (which finally works!), but I would really like to be able to take a picture in the background without viewing the stream.

So far anytime I try to initialize a LibVLC instance without attaching to a surface my stream loads and buffers to 100% and then I get the same two errors:

04-08 12:56:40.699: D/VLC(15203): live555 demux: tk->rtpSource->hasBeenSynchronizedUsingRTCP()
04-08 12:56:40.699: E/VLC(15203): core input: ES_OUT_RESET_PCR called

These are the relevant log entries:

Code: Select all

04-08 12:56:37.472: D/VLC/LibVLC(15203): HWDec enabled: device working with: mediacodec,iomx,all 04-08 12:56:37.581: D/VLC(15203): core libvlc: meta ok for (null), need to fetch art 04-08 12:56:37.582: D/VLC(15203): core art finder: looking for meta fetcher module matching "any": 0 candidates 04-08 12:56:37.582: D/VLC(15203): core art finder: no meta fetcher modules 04-08 12:56:37.582: D/VLC(15203): core libvlc: searching art for rtsp://192.168.0.168:554/1 04-08 12:56:37.582: D/VLC(15203): core art finder: looking for art finder module matching "any": 1 candidates 04-08 12:56:37.582: D/VLC(15203): core art finder: no art finder modules matched 04-08 12:56:37.582: D/VLC(15203): core art finder: looking for meta fetcher module matching "any": 0 candidates 04-08 12:56:37.582: D/VLC(15203): core art finder: no meta fetcher modules 04-08 12:56:37.582: D/VLC(15203): core libvlc: searching art for rtsp://192.168.0.168:554/1 04-08 12:56:37.582: D/VLC(15203): core art finder: looking for art finder module matching "any": 1 candidates 04-08 12:56:37.582: D/VLC(15203): core art finder: no art finder modules matched 04-08 12:56:37.582: D/VLC(15203): core libvlc: art not found for rtsp://192.168.0.168:554/1 04-08 12:56:37.582: D/VLC(15203): core libvlc: art not found for rtsp://192.168.0.168:554/1 04-08 12:56:37.595: D/VLC/LibVLC/Media(15203): Title rtsp://192.168.0.168:554/1 04-08 12:56:37.595: D/VLC/LibVLC/Media(15203): Artist Unknown Artist 04-08 12:56:37.595: D/VLC/LibVLC/Media(15203): Genre Unknown Genre 04-08 12:56:37.595: D/VLC/LibVLC/Media(15203): Album Unknown Album 04-08 12:56:37.596: D/VLC(15203): core generic: creating audio output 04-08 12:56:37.596: D/VLC(15203): core audio output: looking for audio output module matching "opensles": 4 candidates 04-08 12:56:37.596: W/libOpenSLES(15203): class OutputMix interface 0 requested but unavailable MPH=43 04-08 12:56:37.596: D/VLC(15203): core audio output: using audio output module "opensles_android" 04-08 12:56:37.597: D/VLC(15203): core generic: keeping audio output 04-08 12:56:37.597: D/VLC(15203): core input: Creating an input for 'rtsp://192.168.0.168:554/1' 04-08 12:56:37.598: D/LocFragment(15203): Continuing2 playback from AudioService at index 0 04-08 12:56:37.598: D/VLC(15203): core input: using timeshift granularity of 50 MiB, in path '/tmp' 04-08 12:56:37.598: D/VLC(15203): core input: `rtsp://192.168.0.168:554/1' gives access `rtsp' demux `' path `192.168.0.168:554/1' 04-08 12:56:37.598: D/VLC(15203): core input: specified demux `any' 04-08 12:56:37.598: D/VLC(15203): core input: creating demux: access='rtsp' demux='any' location='192.168.0.168:554/1' file='(null)' 04-08 12:56:37.598: D/VLC(15203): core demux: looking for access_demux module matching "rtsp": 7 candidates 04-08 12:56:37.598: D/VLC(15203): live555 demux: version 2014.07.25 04-08 12:56:37.607: D/LocFragment(15203): Continuing3 playback from AudioService at index 0 04-08 12:56:37.630: D/VLC(15203): live555 demux: RTP subsession 'video/JPEG' 04-08 12:56:37.635: D/VLC(15203): core input: selecting program id=0 04-08 12:56:37.635: D/VLC(15203): live555 demux: setup start: 0.000000 stop:0.000000 04-08 12:56:37.647: D/VLC(15203): live555 demux: We have a timeout of 60 seconds 04-08 12:56:37.647: D/VLC(15203): live555 demux: spawned timeout thread 04-08 12:56:37.647: D/VLC(15203): live555 demux: play start: 0.000000 stop:0.000000 04-08 12:56:37.647: D/VLC(15203): core demux: using access_demux module "live555" 04-08 12:56:37.647: D/VLC(15203): core decoder: looking for decoder module matching "mediacodec,iomx,all": 33 candidates 04-08 12:56:37.647: D/VLC(15203): mediacodec decoder: codec MJPG not supported 04-08 12:56:37.694: D/VLC(15203): avcodec decoder: CPU flags: 0x0000003f 04-08 12:56:37.702: D/VLC(15203): avcodec decoder: trying to use direct rendering 04-08 12:56:37.702: D/VLC(15203): avcodec decoder: allowing 4 thread(s) for decoding 04-08 12:56:37.703: D/VLC(15203): avcodec decoder: codec (mjpeg) started 04-08 12:56:37.703: D/VLC(15203): core decoder: using decoder module "avcodec" 04-08 12:56:37.703: D/VLC(15203): core demux meta: looking for meta reader module matching "any": 1 candidates 04-08 12:56:37.703: D/VLC(15203): core demux meta: no meta reader modules matched 04-08 12:56:37.705: D/VLC(15203): core input: `rtsp://192.168.0.168:554/1' successfully opened 04-08 12:56:37.707: D/VLC(15203): core input: Buffering 0% 04-08 12:56:37.707: D/VLC(15203): core spu text: looking for text renderer module matching "any": 1 candidates 04-08 12:56:37.707: D/VLC(15203): core input: Buffering 2% 04-08 12:56:37.707: D/VLC(15203): freetype spu text: Using /system/fonts/DroidSans-Bold.ttf as font from file /system/fonts/DroidSans-Bold.ttf 04-08 12:56:37.708: D/VLC(15203): freetype spu text: Using /system/fonts/DroidSansMono.ttf as mono-font from file /system/fonts/DroidSansMono.ttf 04-08 12:56:37.711: D/VLC(15203): freetype spu text: using fontsize: 2 04-08 12:56:37.711: D/VLC(15203): core spu text: using text renderer module "freetype" 04-08 12:56:37.711: D/VLC(15203): core scale: looking for video filter2 module matching "any": 35 candidates 04-08 12:56:37.712: D/VLC(15203): swscale scale: 32x32 (32x32) chroma: YUVA -> 16x16 (16x16) chroma: RGBA with scaling using Bicubic (good quality) 04-08 12:56:37.712: D/VLC(15203): core scale: using video filter2 module "swscale" 04-08 12:56:37.712: D/VLC(15203): core scale: looking for video filter2 module matching "any": 35 candidates 04-08 12:56:37.712: D/VLC(15203): yuvp scale: YUVP to YUVA converter 04-08 12:56:37.712: D/VLC(15203): core scale: using video filter2 module "yuvp" 04-08 12:56:37.713: D/VLC(15203): core video output: Deinterlacing available 04-08 12:56:37.713: D/VLC(15203): core video output: deinterlace 0, mode blend, is_needed 0 04-08 12:56:37.713: D/VLC(15203): core window: looking for vout window module matching "any": 1 candidates 04-08 12:56:37.713: D/VLC(15203): core window: no vout window modules matched 04-08 12:56:37.714: D/VLC(15203): core video output: Opening vout display wrapper 04-08 12:56:37.714: D/VLC(15203): core vout display: looking for vout display module matching "androidsurface": 4 candidates 04-08 12:56:37.715: D/VLC(15203): android_surface vout display: Pixel format RV32 04-08 12:56:37.715: D/VLC(15203): core vout display: VoutDisplayEvent 'fullscreen' 0 04-08 12:56:37.715: D/VLC(15203): core vout display: using vout display module "android_surface" 04-08 12:56:37.715: D/VLC(15203): core vout display: A filter to adapt decoder to display is needed 04-08 12:56:37.716: D/VLC(15203): core filter: looking for video filter2 module matching "any": 35 candidates 04-08 12:56:37.716: D/VLC(15203): swscale filter: 320x240 (320x256) chroma: J420 -> 320x240 (320x256) chroma: RV32 with scaling using Bicubic (good quality) 04-08 12:56:37.716: D/VLC(15203): core filter: using video filter2 module "swscale" 04-08 12:56:37.716: D/VLC(15203): core vout display: Filter 'Swscale' (0xb93550cc) appended to chain 04-08 12:56:37.718: D/VLC(15203): core video output: original format sz 320x256, of (0,0), vsz 320x240, 4cc J420, sar 1:1, msk r0x0 g0x0 b0x0 04-08 12:56:37.719: D/VLC(15203): core spu text: removing module "freetype" 04-08 12:56:37.720: D/VLC(15203): core input: Buffering 4% 04-08 12:56:37.720: D/VLC(15203): core spu text: looking for text renderer module matching "any": 1 candidates 04-08 12:56:37.720: D/VLC(15203): freetype spu text: Using /system/fonts/DroidSans-Bold.ttf as font from file /system/fonts/DroidSans-Bold.ttf 04-08 12:56:37.720: D/VLC(15203): freetype spu text: Using /system/fonts/DroidSansMono.ttf as mono-font from file /system/fonts/DroidSansMono.ttf 04-08 12:56:37.721: D/VLC(15203): freetype spu text: using fontsize: 2 04-08 12:56:37.721: D/VLC(15203): core spu text: using text renderer module "freetype" 04-08 12:56:37.722: D/VLC(15203): avcodec decoder: enabling direct rendering 04-08 12:56:37.725: D/VLC(15203): core decoder: End of video preroll 04-08 12:56:37.725: D/VLC(15203): core decoder: Received first picture 04-08 12:56:37.725: W/VLC(15203): avcodec decoder: cannot decode one frame (22447 bytes) 04-08 12:56:37.752: D/VLC(15203): core input: Buffering 6% 04-08 12:56:37.789: D/VLC(15203): core input: Buffering 8% 04-08 12:56:37.822: D/VLC(15203): core input: Buffering 11% 04-08 12:56:37.860: D/VLC(15203): core input: Buffering 13% 04-08 12:56:37.961: D/VLC(15203): core input: Buffering 15% 04-08 12:56:37.967: D/VLC(15203): core input: Buffering 17% 04-08 12:56:37.969: D/VLC(15203): core input: Buffering 20% 04-08 12:56:37.990: D/VLC(15203): core input: Buffering 22% 04-08 12:56:38.022: D/VLC(15203): core input: Buffering 24% 04-08 12:56:38.060: D/VLC(15203): core input: Buffering 26% 04-08 12:56:38.090: D/VLC(15203): core input: Buffering 28% 04-08 12:56:38.122: D/VLC(15203): core input: Buffering 31% 04-08 12:56:38.160: D/VLC(15203): core input: Buffering 33% 04-08 12:56:38.190: D/VLC(15203): core input: Buffering 35% 04-08 12:56:38.222: D/VLC(15203): core input: Buffering 37% 04-08 12:56:38.261: D/VLC(15203): core input: Buffering 40% 04-08 12:56:38.290: D/VLC(15203): core input: Buffering 42% 04-08 12:56:38.322: D/VLC(15203): core input: Buffering 44% 04-08 12:56:38.361: D/VLC(15203): core input: Buffering 46% 04-08 12:56:38.389: D/VLC(15203): core input: Buffering 48% 04-08 12:56:38.422: D/VLC(15203): core input: Buffering 51% 04-08 12:56:38.462: D/VLC(15203): core input: Buffering 53% 04-08 12:56:38.489: D/VLC(15203): core input: Buffering 55% 04-08 12:56:38.522: D/VLC(15203): core input: Buffering 57% 04-08 12:56:38.552: D/VLC(15203): core input: Buffering 60% 04-08 12:56:38.590: D/VLC(15203): core input: Buffering 62% 04-08 12:56:38.628: D/VLC(15203): core input: Buffering 64% 04-08 12:56:38.660: D/VLC(15203): core input: Buffering 66% 04-08 12:56:38.690: D/VLC(15203): core input: Buffering 68% 04-08 12:56:38.722: D/VLC(15203): core input: Buffering 71% 04-08 12:56:38.773: D/VLC(15203): core input: Buffering 73% 04-08 12:56:38.795: D/VLC(15203): core input: Buffering 75% 04-08 12:56:38.827: D/VLC(15203): core input: Buffering 77% 04-08 12:56:38.874: D/VLC(15203): core input: Buffering 80% 04-08 12:56:38.890: D/VLC(15203): core input: Buffering 82% 04-08 12:56:38.924: D/VLC(15203): core input: Buffering 84% 04-08 12:56:38.975: D/VLC(15203): core input: Buffering 86% 04-08 12:56:38.990: D/VLC(15203): core input: Buffering 88% 04-08 12:56:39.022: D/VLC(15203): core input: Buffering 91% 04-08 12:56:39.072: D/VLC(15203): core input: Buffering 93% 04-08 12:56:39.090: D/VLC(15203): core input: Buffering 95% 04-08 12:56:39.122: D/VLC(15203): core input: Buffering 97% 04-08 12:56:39.172: D/VLC(15203): core input: Buffering 100% 04-08 12:56:39.190: D/VLC(15203): core input: Stream buffering done (1533 ms in 1483 ms) 04-08 12:56:39.190: D/VLC(15203): core input: Decoder wait done in 0 ms 04-08 12:56:40.699: D/VLC(15203): live555 demux: tk->rtpSource->hasBeenSynchronizedUsingRTCP() 04-08 12:56:40.699: E/VLC(15203): core input: ES_OUT_RESET_PCR called
I suspect I have to explicitly disable to video output, but I don't know where or how I would do that.

Re: Stream RTSP without Android Surface

Posted: 10 Apr 2015 12:36
by Jean-Baptiste Kempf
No. You cannot display, without a surface.

Re: Stream RTSP without Android Surface

Posted: 10 Apr 2015 18:36
by feldman3
I don't want to display it, I just want access to the stream without a surface.

Re: Stream RTSP without Android Surface

Posted: 14 Apr 2015 23:10
by Jean-Baptiste Kempf
So far, you cannot do it, unless you disable the video track explicitely