Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Переделать скрипт Java (https://javascript.ru/forum/misc/83705-peredelat-skript-java.html)

fansat81 18.02.2022 05:21

Переделать скрипт Java
 
Есть такой офлайн конвертор:
<html>    
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script language="javascript" type="text/javascript">
        
        
        String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, ''); };

        function WriteForm(e)
        {
            try
            {
                var base=document.getElementById("baseUrl").value;   
                
                e=document.getElementById("ExampleOutput");

                l=e.value.split("\n");
                s='#NAME IPTV\n';    
                name='';
                for (var i=0;i<l.length;i++)
                    {
                        v=l[i].trim();if (v=='') continue;
                        if (v.indexOf("#")!==-1)
                            {
                                if (v.toUpperCase().indexOf("#EXTINF")!=-1)
                                    {
                                        ci=v.indexOf(',');
                                        if (ci!==-1) name=v.substr(ci+1);
                                    }
                            }
                        else
                            {
                                 if (v.trim().toUpperCase().indexOf('UDP:')!=-1) 
                                     {                                         
                                         url=base+v.replace('udp://@', "udp/","i");
                                     }
                                 else url=v;
								 url=url.replace(/:/g,'%3a');
								 name=name.replace(/#EXTINF:|[0-9],|-[1-9],|,/g,'');
								 name=name.replace(/^\s+/g,'');
                                 if (name=='') name='Канал '+i;
                                 s+='#SERVICE 4097:0:1:';
								 s+=i+':0:0:0:0:0:0:';
								 s+=url;
								 s+=':';
								 s+=name+'\n';
								 s+='#DESCRIPTION '
								 s+=name+'\n';
                                 name='';
                            }
                    }
                
                s=s.split('&').join('&amp;');
                e.value=s;


            }
            catch(Err)
            {
                alert("Error: " + Err.description);               
            }
            return false;
        }
        
        
        function OpenForm(e)
        {
            var e=document.getElementById("ExampleOutput");            
            window.open('data:text/xml;charset=utf-8,' + encodeURIComponent(e.value),'webtv_usr.xml');
        }
        function OpenFormData(e)
        {
            var e=document.getElementById("ExampleOutput");                        
            window.open('data:application/octet-stream;charset=utf-8,' + encodeURIComponent(e.value),'userbouquet.iptv__tv_.tv');
        }
        
        
    </script>
</head>
<body>   

    <br /> Адрес udpxy <input id="baseUrl" value="http://localhost:81/">
    <br />
   <a href="#" onclick="WriteForm();">Генерировать.</a><br />
<!--   <a href="#" onclick="OpenForm();">Открыть.</a><br />-->
<!--   <a href="#" onclick="OpenFormData();">Скачать.</a><br />-->
    Вставьте  M3U
    <br />
    <form>
        <textarea id="ExampleOutput" style="width:100%" rows="40"></textarea>
    </form>
    
</body>
</html>

Он преобразует файл плейлиста .m3u в формат engma2 (для спутниковых ресиверов)
То есть из 1.m3u --- получается файл :
#NAME IPTV
#SERVICE 4097:0:1:2:0:0:0:0:0:0:http%3a//tochkatv-live.cdnvideo.ru/tochkatv/tainatv.stream_aac/playlist.m3u8:Тайна ТВ
#DESCRIPTION Тайна ТВ
#SERVICE 4097:0:1:4:0:0:0:0:0:0:https%3a//sc.id-tv.kz%3a443/ViasatHistory_34_35.m3u8:Viasat History
#DESCRIPTION Viasat History
#SERVICE 4097:0:1:6:0:0:0:0:0:0:http%3a//cdnmg.secure.live.rtr-vesti.ru/live/smil%3amplan.smil/chunklist_b1600000.m3u8:Моя Планета
#DESCRIPTION Моя Планета
#SERVICE 4097:0:1:8:0:0:0:0:0:0:http%3a//85.238.112.40%3a8810/hls_sec/239.33.16.32-.m3u8:100% News
#DESCRIPTION 100% News
Как сделать чтобы преобразование было наоборот ?
-------------------------
1.m3u

#EXTM3U
#EXTINF:-1,Тайна ТВ
http://tochkatv-live.cdnvideo.ru/toc.../playlist.m3u8
#EXTINF:-1 ,Viasat History
https://sc.id-tv.kz:443/ViasatHistory_34_35.m3u8
#EXTINF:-1 ,Моя Планета
http://cdnmg.secure.live.rtr-vesti.r..._b1600000.m3u8
#EXTINF:-1,100% News
http://85.238.112.40:8810/hls_sec/239.33.16.32-.m3u8


Часовой пояс GMT +3, время: 02:08.