Results 1 to 3 of 3

Thread: Remove query parameters from HLS chunk URLs?

  1. #1
    Join Date
    May 2013

    Default Remove query parameters from HLS chunk URLs?

    Currently the behavior of the HLS packetizer is that it will append any query parameters passed on the playlist.m3u8 to the returned chunklist.m3u8 URLs as well as passing any query string parameters on the chunklist.m3u8 to the returned media.ts URLs. For example, given a URL like "" the playlist returned will have chunklists like "chunklist_b264000.m3u8?foo=bar". Requesting this chunklist will then return chunks like "media_b264000_1.ts?foo=bar" etc.

    We are using CDN caching for our HLS delivery (which ignores query parameters for caching purposes), and because of this behavior incidental query params that get passed by clients end up polluting the cached chunklists, which is causing problems with other clients that don't expect the chunk URLs to have parameters that keep changing.

    I briefly attempted to call IHTTPStreamerSession.setQueryStr("") in onHTTPSessionCreate(), but this didn't seem to have any affect on the generated chunk URLs. Is there any way to have query parameters not propagated into returned .m3u8 contents?

  2. #2


    I hear you pain, as I've been there
    We have workaround different ways when trying to do this, as I've been feeding CDN with Wowza for over years even before Wowza had the option of HTTP Origin. Unfortunately, HTTP Origin doesn't work when you need query strings

    you can either ask your CDN to remove the query string when passed to your Origin and ignore the queries in the requests. I've done this with 2 CDN which accepted to do so.
    Other option I also did was to create our own responder to CDN, which run on a different port. For instace, port 8080 ... When CDN calls Wowza on port 8080, we retrieve the HLS manifest and chunks from 1935, and stripped off everything we don't need to go out to CDN

  3. #3

    Cool Remove query string parameters from manifest urls

    In case anyone is still having this issue, I found that as of version 3.6.2 there are new Application config parameters which can solve this issue:

    Added HTTPStreamer/Properties string properties (listed below) which is a pipe (|) delimited list of query parameters that will not be carried to the media URLs if they are present in the manifest/playlist URL
        httpQueryStrRemoveList (Removed from all forms of HTTP streaming)
        cupertinoQueryStrRemoveList (Removed from Apple HLS streaming)
        sanjoseQueryStrRemoveList (Removed from Adobe HDS streaming)
        smoothQueryStrRemoveList (Removed from Microsoft Smooth streaming)
        mpegdashQueryStrRemoveList (Removed from MPEG-DASH streaming)
    As of version 4.4.0, these settings also enable wildcard (*) characters:
    * (remove all query strings)
    name* (remove query strings that start with)
    *name (remove query strings that end with)

Similar Threads

  1. Replies: 3
    Last Post: 10-28-2014, 01:26 AM
  2. Using absolute URLs in HLS
    By vjagannathan in forum Media Players and Devices Discussion
    Replies: 1
    Last Post: 06-14-2013, 12:25 AM
  3. Add query params to *.ts urls inside hls playlist.m3u8
    By zallesov in forum Server-side Modules and Code Samples Discussion
    Replies: 1
    Last Post: 05-31-2013, 01:25 PM
  4. Query string placement in stream URLs
    By seanngreen in forum General Forum
    Replies: 1
    Last Post: 03-06-2013, 07:53 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts