Some beginner-questions about wowza VOD HLS stream
I'm not familiar with VOD streaming using Wowza. Currently I know that to do VOD streaming we can put a mp4 file in the content folder and create a wowza application. Then play HLS with this URL:
http://wowza_IP/[APPName]/mp4:filename/playlist.m3u8 and immediately wowza returns a playlist with all ts segment URI.
My first question:
I guess when a client requests for VOD HLS stream, wowza server reads in the mp4 file and re-packetizes it to .ts format (compliant with HLS specification ). But how can wowza returns the complete playlist immediately? How can it know every segment duration?
My second question:
Can we use .ts files as the input to do VOD HLS streaming, instead of mp4 files? Currently I have some video files in .ts format and I want to stream them using Wowza.
My last question may sound a little silly: Not like live streaming where we have encoder publish rtmp stream to a wowza application, when doing VOD HLS stream, we can create an application with whatever name and use that URL I put above to stream the mp4 file. It seems that the application and mp4 file are not related at all. Why do we bother creating an application to do that? Moreover, I used Wowza IDE to check the IMediaStream applicationInstance.getStreams(). The "streamNames (or streams, I cannot remember)" field of this IMediaStream object is NULL. No stream is bond to this application......
When a request is made for playlist.m3u8, Wowza returns that file, and inside there is a chunklist file. When the chunklist file is fetched it returns with a list of the actual media TS files.
You can't currently use a TS file rather than an MP4 file in your HLS /playlist.m3u8 URL. You could convert the files to MP4 of course or re-encode them on the fly as an input stream them using something like ffmpeg.
Wowza allows applications to have their own content directory (StorageDir in your Application.xml file). So if for example sample.mp4 was in the "vod" content directory and that directory was not used by any other apps then you could only reference the file by specifying the application name as well as the vod asset.