[vlc-devel] [PATCH] demux: ts: support get length for non fastseekable

Zhao Zhili wantlamy at gmail.com
Fri Mar 18 08:12:05 CET 2016


Some test results. Yes, for a TS with multiple programs, there are a lot of
http requests (14 in this test).

For TS with single program, four requests is enough, and one of the
requests is to check if file size has changed.

==========================================================================
Input #0, mpegts, from 'http://localhost/bar.ts':
  Duration: 00:17:38.26, start: 41177.694378, bitrate: 21643 kb/s
  Program 82
    Metadata:
      service_name    : J2
      service_provider: TVB
    Stream #0:8[0x335]: Video: h264 (Main) ([27][0][0][0] / 0x001B),
yuv420p, 720x576 [SAR 16:11 DAR 20:11], 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:9[0x336]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo,
fltp, 192 kb/s
    Stream #0:7[0x337]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo,
fltp, 192 kb/s
    Stream #0:10[0x339](CHI): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)
    Stream #0:11[0x33a](CHS): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)
    Stream #0:6[0x3e9]: Unknown: none ([11][0][0][0] / 0x000B)
  Program 83
    Metadata:
      service_name    : Interactive Information Channel
      service_provider: TVB
    Stream #0:0[0x33f]: Video: h264 (Main) ([27][0][0][0] / 0x001B),
yuv420p, 720x576 [SAR 16:11 DAR 20:11], 25 fps, 25 tbr, 90k tbn, 50 tbc
  Program 85
    Metadata:
      service_name    : High Definition Jade
      service_provider: TVB
    Stream #0:1[0x353]: Video: h264 (High) ([27][0][0][0] / 0x001B),
yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn,
50 tbc
    Stream #0:2[0x354]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo,
fltp, 192 kb/s
    Stream #0:3[0x355]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz,
5.1(side), fltp, 384 kb/s
    Stream #0:4[0x357](CHI): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)
    Stream #0:5[0x358](CHS): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)
    Stream #0:6[0x3e9]: Unknown: none ([11][0][0][0] / 0x000B)
Unsupported codec with id 0 for input stream 6

==========================================================================

GET /bar.ts HTTP/1.1
Host: localhost
Accept: */*
Accept-Language: en_US
User-Agent: VLC/3.0.0-git LibVLC/3.0.0-git
Range: bytes=0-


HTTP/1.1 206 Partial Content
Server: nginx/1.9.13
Date: Fri, 18 Mar 2016 06:12:08 GMT
Content-Type: video/mp2t
Content-Length: 2863037951
Last-Modified: Fri, 18 Mar 2016 06:02:48 GMT
Connection: keep-alive
ETag: "56eb9a08-aaa67dff"
Content-Range: bytes 0-2863037950/2863037951


GET /bar.ts HTTP/1.1
Host: localhost
Accept: */*
Accept-Language: en_US
User-Agent: VLC/3.0.0-git LibVLC/3.0.0-git
If-Match: "56eb9a08-aaa67dff"
Range: bytes=2862802951-


HTTP/1.1 206 Partial Content
Server: nginx/1.9.13
Date: Fri, 18 Mar 2016 06:12:08 GMT
Content-Type: video/mp2t
Content-Length: 235000
Last-Modified: Fri, 18 Mar 2016 06:02:48 GMT
Connection: keep-alive
ETag: "56eb9a08-aaa67dff"
Content-Range: bytes 2862802951-2863037950/2863037951


GET /bar.ts HTTP/1.1
Host: localhost
Accept: */*
Accept-Language: en_US
User-Agent: VLC/3.0.0-git LibVLC/3.0.0-git
If-Match: "56eb9a08-aaa67dff"
Range: bytes=2863037951-


HTTP/1.1 416 Requested Range Not Satisfiable
Server: nginx/1.9.13
Date: Fri, 18 Mar 2016 06:12:08 GMT
Content-Type: text/html
Content-Length: 213
Connection: keep-alive
Content-Range: bytes */2863037951


GET /bar.ts HTTP/1.1
Host: localhost
Accept: */*
Accept-Language: en_US
User-Agent: VLC/3.0.0-git LibVLC/3.0.0-git
Range: bytes=208116-


HTTP/1.1 206 Partial Content
Server: nginx/1.9.13
Date: Fri, 18 Mar 2016 06:12:08 GMT
Content-Type: video/mp2t
Content-Length: 2862829835
Last-Modified: Fri, 18 Mar 2016 06:02:48 GMT
Connection: keep-alive
ETag: "56eb9a08-aaa67dff"
Content-Range: bytes 208116-2863037950/2863037951


GET /bar.ts HTTP/1.1
Host: localhost
Accept: */*
Accept-Language: en_US
User-Agent: VLC/3.0.0-git LibVLC/3.0.0-git
If-Match: "56eb9a08-aaa67dff"
Range: bytes=0-


HTTP/1.1 206 Partial Content
Server: nginx/1.9.13
Date: Fri, 18 Mar 2016 06:12:08 GMT
Content-Type: video/mp2t
Content-Length: 2863037951
Last-Modified: Fri, 18 Mar 2016 06:02:48 GMT
Connection: keep-alive
ETag: "56eb9a08-aaa67dff"
Content-Range: bytes 0-2863037950/2863037951


GET /bar.ts HTTP/1.1
Host: localhost
Accept: */*
Accept-Language: en_US
User-Agent: VLC/3.0.0-git LibVLC/3.0.0-git
If-Match: "56eb9a08-aaa67dff"
Range: bytes=253236-


HTTP/1.1 206 Partial Content
Server: nginx/1.9.13
Date: Fri, 18 Mar 2016 06:12:08 GMT
Content-Type: video/mp2t
Content-Length: 2862784715
Last-Modified: Fri, 18 Mar 2016 06:02:48 GMT
Connection: keep-alive
ETag: "56eb9a08-aaa67dff"
Content-Range: bytes 253236-2863037950/2863037951


GET /bar.ts HTTP/1.1
Host: localhost
Accept: */*
Accept-Language: en_US
User-Agent: VLC/3.0.0-git LibVLC/3.0.0-git
If-Match: "56eb9a08-aaa67dff"
Range: bytes=2862802951-


HTTP/1.1 206 Partial Content
Server: nginx/1.9.13
Date: Fri, 18 Mar 2016 06:12:08 GMT
Content-Type: video/mp2t
Content-Length: 235000
Last-Modified: Fri, 18 Mar 2016 06:02:48 GMT
Connection: keep-alive
ETag: "56eb9a08-aaa67dff"
Content-Range: bytes 2862802951-2863037950/2863037951


GET /bar.ts HTTP/1.1
Host: localhost
Accept: */*
Accept-Language: en_US
User-Agent: VLC/3.0.0-git LibVLC/3.0.0-git
If-Match: "56eb9a08-aaa67dff"
Range: bytes=2863037951-


HTTP/1.1 416 Requested Range Not Satisfiable
Server: nginx/1.9.13
Date: Fri, 18 Mar 2016 06:12:08 GMT
Content-Type: text/html
Content-Length: 213
Connection: keep-alive
Content-Range: bytes */2863037951


GET /bar.ts HTTP/1.1
Host: localhost
Accept: */*
Accept-Language: en_US
User-Agent: VLC/3.0.0-git LibVLC/3.0.0-git
Range: bytes=253236-


HTTP/1.1 206 Partial Content
Server: nginx/1.9.13
Date: Fri, 18 Mar 2016 06:12:08 GMT
Content-Type: video/mp2t
Content-Length: 2862784715
Last-Modified: Fri, 18 Mar 2016 06:02:48 GMT
Connection: keep-alive
ETag: "56eb9a08-aaa67dff"
Content-Range: bytes 253236-2863037950/2863037951


GET /bar.ts HTTP/1.1
Host: localhost
Accept: */*
Accept-Language: en_US
User-Agent: VLC/3.0.0-git LibVLC/3.0.0-git
If-Match: "56eb9a08-aaa67dff"
Range: bytes=0-


HTTP/1.1 206 Partial Content
Server: nginx/1.9.13
Date: Fri, 18 Mar 2016 06:12:08 GMT
Content-Type: video/mp2t
Content-Length: 2863037951
Last-Modified: Fri, 18 Mar 2016 06:02:48 GMT
Connection: keep-alive
ETag: "56eb9a08-aaa67dff"
Content-Range: bytes 0-2863037950/2863037951


GET /bar.ts HTTP/1.1
Host: localhost
Accept: */*
Accept-Language: en_US
User-Agent: VLC/3.0.0-git LibVLC/3.0.0-git
If-Match: "56eb9a08-aaa67dff"
Range: bytes=298356-


HTTP/1.1 206 Partial Content
Server: nginx/1.9.13
Date: Fri, 18 Mar 2016 06:12:08 GMT
Content-Type: video/mp2t
Content-Length: 2862739595
Last-Modified: Fri, 18 Mar 2016 06:02:48 GMT
Connection: keep-alive
ETag: "56eb9a08-aaa67dff"
Content-Range: bytes 298356-2863037950/2863037951


GET /bar.ts HTTP/1.1
Host: localhost
Accept: */*
Accept-Language: en_US
User-Agent: VLC/3.0.0-git LibVLC/3.0.0-git
If-Match: "56eb9a08-aaa67dff"
Range: bytes=2862802951-


HTTP/1.1 206 Partial Content
Server: nginx/1.9.13
Date: Fri, 18 Mar 2016 06:12:08 GMT
Content-Type: video/mp2t
Content-Length: 235000
Last-Modified: Fri, 18 Mar 2016 06:02:48 GMT
Connection: keep-alive
ETag: "56eb9a08-aaa67dff"
Content-Range: bytes 2862802951-2863037950/2863037951


GET /bar.ts HTTP/1.1
Host: localhost
Accept: */*
Accept-Language: en_US
User-Agent: VLC/3.0.0-git LibVLC/3.0.0-git
If-Match: "56eb9a08-aaa67dff"
Range: bytes=2863037951-


HTTP/1.1 416 Requested Range Not Satisfiable
Server: nginx/1.9.13
Date: Fri, 18 Mar 2016 06:12:08 GMT
Content-Type: text/html
Content-Length: 213
Connection: keep-alive
Content-Range: bytes */2863037951


GET /bar.ts HTTP/1.1
Host: localhost
Accept: */*
Accept-Language: en_US
User-Agent: VLC/3.0.0-git LibVLC/3.0.0-git
Range: bytes=298356-


HTTP/1.1 206 Partial Content
Server: nginx/1.9.13
Date: Fri, 18 Mar 2016 06:12:08 GMT
Content-Type: video/mp2t
Content-Length: 2862739595
Last-Modified: Fri, 18 Mar 2016 06:02:48 GMT
Connection: keep-alive
ETag: "56eb9a08-aaa67dff"
Content-Range: bytes 298356-2863037950/2863037951



On Fri, Mar 18, 2016 at 12:24 AM, Francois Cartegnie <fcvlcdev at free.fr>
wrote:

> Le 17/03/2016 23:06, Zhao Zhili a écrit :
> > ping?
> >
> Unsure if increasing the number of probings can really work over http
> without slowing down the whole thing.
> Need more tests, especially with multiple programs.
>
>
> Francois
>
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20160318/52737c7d/attachment.html>


More information about the vlc-devel mailing list