[vlc-devel] [HLS Live Stream] Playing a zoomable live stream

lokeyanhao at gmail.com lokeyanhao at gmail.com
Mon Oct 14 22:56:05 CEST 2013


Dear VLC Developers,

I have setup a custom HLS media server such that user can zoom (and pan) the video through mouse events to switch from a low-resolution video stream to a high-resolution video stream. As VLC provide support for web plugin, I am using VLC player for my project as the web client to play the HLS zoomable live stream. 

(Take note that i am not using the dynamic adaptive bandwidth playback function as specified in HLS standard; I coded the zoomable part)

The problem i have now is that i am not able to provide a smooth transition when switching from low-resolution MPEGTS video segment to high-resolution MPEGTS video segment. I suspect the problem is with the "blend" module.

When playing my HLS live stream, the output log shows the following at the time the player attempt to play the high resolution video segment from the low-resolution video segment

[0xb196b5f8] main blend debug: removing module "blend"
[0xb1901e70] main vout display debug: removing module "xcb_xv"
[0x9412d48] main video output debug: Opening vout display wrapper
[0xb1901e70] main vout display debug: looking for vout display module matching "any": 22 candidates
[0x9412d48] main video output debug: Reusing previous vout window
[0xb1901e70] xcb vout display debug: connected to X11.0 server
[0xb1901e70] xcb vout display debug:  vendor : The X.Org Foundation
[0xb1901e70] xcb vout display debug:  version: 11300000
[0xb1901e70] xcb vout display debug: using screen 0x165
[0xb1901e70] xcb_xv vout display debug: using XVideo extension v2.2
[0xb1901e70] xcb_xv vout display debug: using adaptor XA G3D Textured Video
[0xb1901e70] xcb_xv vout display debug: using port 98
[0xb1901e70] xcb_xv vout display debug: using image format 0x32315659
[0xb1901e70] xcb_xv vout display debug: using X11 visual ID 0x21 (depth: 24)
[0xb1901e70] xcb_xv vout display debug: using X11 window 0x04400000
[0xb1901e70] xcb_xv vout display debug: using X11 graphic context 0x04400002
[0xb1901e70] main vout display debug: VoutDisplayEvent 'fullscreen' 0
[0xb1901e70] main vout display debug: VoutDisplayEvent 'resize' 700x525 window
[0xb1901e70] main vout display debug: using vout display module "xcb_xv"
[0x9412d48] main video output debug: original format sz 704x544, of (0,0), vsz 700x525, 4cc I420, sar 1:1, msk r0x0 g0x0 b0x0
[0xb1901e70] xcb vout display debug: display is visible
[0x93947c8] main playlist debug: reusing provided vout
[0xb1901e70] main vout display debug: SOURCE  sz 704x544, of (0,0), vsz 700x525, 4cc I420, sar 1:1, msk r0x0 g0x0 b0x0
[0xb1901e70] main vout display debug: CROPPED sz 704x544, of (0,0), vsz 700x525, 4cc I420, sar 1:1, msk r0x0 g0x0 b0x0
[0xb1901e70] main vout display error: Failed to resize display

During the transition, I could see a black screen for a brief moment, before the high-resolution video segment is played.

Is there anyway to bridge the gap: to prevent a black screen from showing on the player? Or to prevent "blend" mode from been removed due to invalid attempt to blend the two picture (low-resolution vs high-resolution)?

Any assistance will be appreciable. Thanks.


More information about the vlc-devel mailing list