В общем для генерации hls пришлось держать поток RTSP с камеры постоянно запущеным через exec_static ffmpeg .. в конфиге nginxа. На странице сайта следующий скрипт для плеера UPPOD:
<div id="videoplayer1" style="width:480px;height:270px;">
		<script type="text/javascript">
		var ua = navigator.userAgent.toLowerCase();
		var flashInstalled = false;
		if (typeof(navigator.plugins)!="undefined" && typeof(navigator.plugins["Shockwave Flash"])=="object") { 
	         flashInstalled = true; 
		} else if (typeof  window.ActiveXObject !=  "undefined") { 
			try { 
				if (new ActiveXObject("ShockwaveFlash.ShockwaveFlash")) { 
					flashInstalled = true; 
				} 
			} catch(e) {}; 
		};
	   if(ua.indexOf("iphone") != -1 || ua.indexOf("ipad") != -1 || (ua.indexOf("android") != -1 && !flashInstalled)){
	   		// HTML5
           
          this.videoplayer1 = new Uppod({m:"video",uid:"videoplayer1",comment:"Улица ночью",file:"http://1.2.3.4/hls/cam/stream.m3u8",st:"uppodvideo"});
           
           }else{
	      if(!flashInstalled){
	      	 // NO FLASH
	         document.getElementById("videoplayer1").innerHTML="<a href=http://www.adobe.com/go/getflashplayer>Требуется установить Flash-плеер</a>";
	      }else{
	         // FLASH
               var flashvars = {"comment":"Улица ночью","st":"http://5.6.7.8/st/video248-69.txt","file":"rtmp://1.2.3.4/cam/stream"};var params = {wmode:"transparent", allowFullScreen:"true", allowScriptAccess:"always",id:"videoplayer1"}; new swfobject.embedSWF("http://5.6.7.8/player/uppod.swf", "videoplayer1", "960", "576", "9.0.115.0", false, flashvars, params);
              }
	   }