Streaming methods used from this server

True http live stream vs HLS within text
(require vlc NPAPI plug-in, not more supported by current browsers)
html video tag
Simple external call
The usage of vlc for offline splicing of mp4 file and generation of a m3u8 metafile
The usage of vlc plug-in for realtime generation of a m3u8 file

True http live stream vs hls within text

require the support of vlc NPAPI plug-in (no more supported by current browsers)
The usage of legacy version of common browsers is the only chance to use VLC NPAPI plug-in as I wrote in
True unicast streaming has lost his appeal

Original live http streaming with VLC
(no more supported by current browsers)


The embedded stream can be directly loaded with an h265 player (such as VLC media player) recalling http://www.iginomanfre.it/yosemite_SD100.

The banned VLC cone means that your browser do not support VLC NPAPI Plug-in

Segmented stream in HLS generated with VLC
(no more supported by current browsers)


The embedded stream can be directly loaded with an h265 player (such as VLC media player) recalling http://www.iginomanfre.it/hls8/hls8.m3u8, the metafile of HLS trasmission.
You may perceive a clear delay between the videos (leftmost should be before) but this may be compensated by errors and compensation of streaming reception.



This is how this page appears with firefox 51.0b9.
The video from the website yosemite project is a timelapse video 5 minute long
More informations about Colin Delehanty and Sheldon Neil that directed the people that made it can be read on the about page
Technically it is a Standard definition 720x400 progressive video precompressed in hevc (h265) 16:9 100-300 Kbps variable bitrate, 24 frame per second with 64 Kbps AAC-LC stereo 44KHz audio through the FFmpeg x265 encoder, wrapped in mpeg-4 ISO container.
A mean variable bitrate of 200 Kbps means a bandwidth variable 100 and 350 Kbps, it could be arranged by the ISO mpeg wrapper but this is not the case.
The decompression of hevc, being about 1000 time more complex than mpeg2, requires enough power, and this page that may contains two simultaneous streams, could not be light to be processed.
But do not worry: at 99.99% probability your browser will not show you any video within text.
These streams are transmitted (in unicast) and could not reproduced by any browser through its native capabilities and the <video> instruction because, for license problems, browsers can only play h264 and vp8 video formats.


html video tag

The following is a plain usage of a html video tag of the h264 video file streamed by Apache: the video file is on the server and it is recalled by the streaming server on request.

Only h264 (or VP8) video can be embedded in html page in this way, and it is reproduced from a copy in the terminal cache.
Not all the terminals could be able to download it seamless, because not all the terminals could have enough cache for this purpose.
On the contrary almost all terminals have enough computational power to decode h264 (and generally speaking much much more).
From these potential unavailability moves the
MPEG-DASH standard
The video is locally downloaded as it is (thanks to the TCP/IP) and reproduced through the commands.
For the peace of the sense of rights people this content will be deleted and will be hardly reacheable from outside.

<video id="yosemite_h264" poster="../jpg/yosemite_poster.jpg" controls> <source src="../media/Yosemite_h264_SD100.mp4" type="video/mp4" /> </video>


Simple external call

Please note that this streaming way could not be available: it is always available only for hsl8z, because it has been spliced offline.

This one is the plain external reference to an .m3u8 metafile to be open with an application resident on the client:


the above image is a plain link to an external object...
But
1) depends on the chosen player: there could be some opening problem

These are the m3u8 files downloaded (and opened) in sequence repeating the recall n times

2) m3u8 file has been thought for playlists, the player plays the download state (hls8-n), not the next (hls8-n+1).
hls2.m3u8 works always because it is steady .m3u8 file: it is a fixed and closed playlist,
which never updates and whose content are never updated.
Clicking on the repeat option the reproduction will never last.
anyhow the calling line is the following:

<p><a href="http://iginomanfre.it/hls8/hls8.m3u8"><img border=0 src="../jpg/yosemite_poster.jpg"></a> passing through the following steps:

or

depending on the player and its version.
Clicking on the image your browser will ask you what I must do with this file? Open or download.


Really it will anyhow downloaded but automatically it will opened with the application you specify in the settings (here VLC).


The usage of vlc for offline splicing of mp4 file and generation of a m3u8 metafile

The usage of vlc for continous streaming as well realtime splicing easily bring the system in an unstable state because the loop of VLC drains loop by loop a very small amount of system RAM, that - in few days - reboot.
The reproduction of a m3u8 metafile (or more exactly playlist) can also be shared on the web by a standard streaming server such as apache: it is sufficient to split offline the file and save the chops as generated by VLC.
This can be done with a command line such as:

"c:\program files\vlc\vlc" :file-caching=300 "mp4_file_with_path" :sout=#std { access=livehttp{seglen=10,delsegs=false, index="target_m3u8_file_with_path", index-url=target url (to be used inside the m3u8 file-########.ts}, mux=ts{use-key-frames}, dst="path and filename of chops-########.ts" }

... to be continued ...

The usage of vlc for realtime generation of a m3u8 file

VLC plug-in is no more supported by latest browsers. The m3u8 manifest file (or metafile) is a realtime updated file by VLC meanwhile it produces the chops of the original source http://www.iginomanfre.it/yosemite_SD100.
The following is http://iginomanfre.it/hls8/hls8.m3u8 one day after it has been launched:

#EXTM3U #EXT-X-TARGETDURATION:10 #EXT-X-VERSION:3 #EXT-X-ALLOW-CACHE:NO #EXT-X-MEDIA-SEQUENCE:31691 #EXTINF:8.05, http://iginomanfre.it/hls8/hls8-00031691.ts #EXTINF:7.96, http://iginomanfre.it/hls8/hls8-00031692.ts #EXTINF:8.12, http://iginomanfre.it/hls8/hls8-00031693.ts #EXTINF:7.91, http://iginomanfre.it/hls8/hls8-00031694.ts #EXTINF:7.91, http://iginomanfre.it/hls8/hls8-00031695.ts And these are the files generated (sorted by date)

The red border window ideally moves up passing the time (and changing the m3u8 file)

The stream in input is a loop continously generated by VLC and broken in few seconds chops (aka segments) by a further instance of VLC which updates in realtime the .m3u8 manifest/metafile.
Counters, starting from 1, are resetted periodically (they have a lenght of 8 digit) and all the segments are deleted before restarting the splitting.
Metafile and chops are accessed through Apache.
The required bandwidth is about equal the nominal transmitted.

The meaningful section of the batch I used for the generation is the following:
del "C:\Program Files (x86)\...\hls8\*.*" /Q "c:\program files\vlc\vlc" --network-caching=300 http://localhost:64039/Yosemite :sout=#std{access=livehttp{seglen=10,delsegs=true,numsegs=5, index="C:\Program Files (x86)\...\hls8\hls8.m3u8", index-url=http://iginomanfre.it/hls8/hls8-########.ts},mux=ts{use-key-frames}, dst="C:\Program Files (x86)\...\hls8\hls8-########.ts"} --qt-start-minimized" The meaning of these lines is:
Open the true stream (in loop, never ending) http://localhost:64039/Yosemite
(available to external viewing as http://iginomanfre.it/Yosemite_SD100)
split it in slices of 10 seconds each, delete the segments after 5 new good items
create this m3u8 file referring the urls as ...
align the splittings to key-frames, save the slices on the server on this directory .

Please note that the video is hevc (h265) despite not at the maximum compression efficiency.

The source stream
General ID : 27220 (0x6A54) Complete name : C:\Program Files (x86)\...\hls8\hls8-00031912.ts Format : MPEG-TS File size : 273 KiB Duration : 7 s 848 ms Overall bit rate mode : Variable Overall bit rate : 275 kb/s Video ID : 100 (0x64) Menu ID : 1 (0x1) Format : HEVC Format/Info : High Efficiency Video Coding Format profile : Main@L3@Main Codec ID : 36 Duration : 16 h 50 min Width : 720 pixels Height : 400 pixels Display aspect ratio : 16:9 Frame rate : 23.976 (23976/1000) FPS Color space : YUV Chroma subsampling : 4:2:0 Bit depth : 8 bits Writing library : x265 1.7:[Windows][GCC 4.9.2][32 bit] Encoding settings : wpp / ctu=64 / min-cu-size=8 .... Audio ID : 200 (0xC8) Menu ID : 1 (0x1) Format : AAC Format/Info : Advanced Audio Codec Format version : Version 4 Format profile : LC Muxing mode : ADTS Codec ID : 15 Duration : 7 s 941 ms Bit rate mode : Variable Channel(s) : 2 channels Channel positions : Front: L R Sampling rate : 44.1 kHz Frame rate : 43.066 FPS (1024 spf) Compression mode : Lossy Delay relative to video : -68 ms Menu ID : 32 (0x20) Menu ID : 1 (0x1) Duration : 7 s 848 ms List : 200 (0xC8) (AAC) / 100 (0x64) (HEVC) Service type : advanced codec SD digital television