Page 1 of 3

playlist

PostPosted: 02 Apr 2020, 13:46
by Virtual
очень очень легкий проигрыватель персонального плейлиста.
настраивается через http.
setplaylist.PNG
setplaylist.PNG (10.41 KiB) Viewed 6552 times


особенности:
1. плейлист всего один! и он статический.
2. возможность как импорта так и экспорта листа в формате m3u
3. само собой возможность вручную настраивать список из вэб интерфейса.
4. есть возможность показывать иконки каналов, что опознались.
5. Загрузить список каналов от провайдера, из известных в публичном доступе (чаще всего вещают на свою подсеть только.)
| +
setplaylist2.PNG
setplaylist2.PNG (17.82 KiB) Viewed 6552 times

Re: playlist

PostPosted: 30 Apr 2020, 17:09
by vik_m
Пробовал загружать разные плейлисты, работающие на других проигрывателях.
Ни один не работает.
Можно попросить выложить образец работающего плейлиста. Интересуют листы не от провайдеров, а с интернет ссылками.

Re: playlist

PostPosted: 01 May 2020, 07:58
by Virtual
для нативной работы HLS оное должно быть в прошивке! так что
1. viewtopic.php?f=21&t=1036
и да это лайт версия проигрывателя, плейлист должен быть статическим.(ссылки на потоки в файле)
| +
sc_2020_05_01_35524.jpg
sc_2020_05_01_35524.jpg (42.61 KiB) Viewed 6091 times

Re: playlist

PostPosted: 02 May 2020, 00:32
by vik_m
Спасибо за плейлист! К сожалению он у меня тоже не работает.
Проверил на компьютере в плеере IP-TV Player и в браузере Firefox с расширением Native MPEG-Dash + HLS Playback. Все ссылки плейлиста открываются мгновенно.
Это значит нет поддержки HLS в прошивке? Тогда понятно почему у меня большинство сервисов IP TV в moServices не работают.
Прошивка древняя, есть ли возможность вставить в нее поддержку HLS? Или это не лечится?

Re: playlist

PostPosted: 02 May 2020, 04:10
by Pokrass
Пожалуйста, изучите раздел FAQ перед обращением на форум.

Re: playlist

PostPosted: 15 Aug 2020, 20:57
by const
Большое спасибо за модуль!

Тем, кто захочет добавить его в HomeMenuReplacement нужно будет сделать линк на пиктограмму:
Code: Select all
ln -s /usr/local/etc/mos/www/modules/playlist/playlist.png /usr/local/etc/mos/iconmenu/images/playlist.fsp

и добавить в /usr/local/etc/mos/iconmenu/HomeMenu.rss такой код:
Code: Select all
<item>
<title>PlayList</title>
<imagePath> /usr/local/etc/mos/iconmenu/images/playlist </imagePath>
<onClick>
   <script>
         APName = "IMSAP";
         MenuType = "TopMenu";
         MenuLink = "http://127.0.0.1/?page=playlist_rss";
         menuCmd(APName, MenuType, MenuLink, BltType);
         null;
    </script>
</onClick>
</item>

Re: Модуль IPTVList - удобный просмотр IPTV + запись

PostPosted: 21 Oct 2020, 23:01
by AlexVong
Спасибо большое, да, этот модуль (Playlist) думаю больше всего подойдет для моих целей. Модуль IPTVList для меня очень сложен, тем более не хватает практических знаний, чтобы вносить правки в код.
| +
Прошу прощения, если не по теме, но у меня еще один вопрос, не могу понять как в rss можно выполнить функцию cUrl? В playlist.rss.php я вроде нашел ту часть кода которая отвечает за выполнение действий после нажатия кнопки Ок на пульте на выбраном iptv_канале
Code: Select all
   else if (userInput == "<?= getRssCommand('enter') ?>")
   {
      showIdle();
      url = getStringArrayAt(urlArray, i);
      playItemURL( url, 0 );
      cancelIdle();
      ret = "true";
   }

Мне надо чтобы по этому событию в первую очередь было отправлено два post запроса - 1 переключить на нужный канал на веб сервере ресивера (пример: http://192.168.1.100/webstv/video.html? ... lIndex=40; и 2 запустить стрим данного канала (пример: http://192.168.1.100/json/get_channel_stream?gid=40; и только после этого выполнить playItemURL по ссылке на видео файл из плейлиста. В rss cUrl не работает, подскажите если я пропишу функцию с cUrl в php, как сделать чтобы она выполнялась первой по событию getRssCommand('enter'). Буду очень благодарен за помощь!

Re: playlist

PostPosted: 22 Oct 2020, 05:35
by Virtual
смотри модуль youtube 8-)
Code: Select all
url = "<?= getMosUrl() ?>?page=youtube_get&amp;id=" + getStringArrayAt(idArray, i);
                playItemURL( url, 0 );

идея проста, в playItemURL ты вызываеш не прямой урл на ресивер, а локальный пхп в коий передаеш ID канала.... ну а уже сам пхп сделает все нужное по подготовке рессивера, и на финише отдаст редирект на урл ресивера с каналом.

Re: playlist

PostPosted: 27 Oct 2020, 19:28
by AlexVong
(cut) overquoting! Пункт 4.19 Правил форума!

Спасибо большое! Посмотрел как устроена работа в модуле ютуба, пробую сделать костыль в модуле playlist для работы с моим ресивером.
Создал файл get.php написал в нем весь процесс который должен выполниться (пока примитивно, без проверок переменных и т.д.)
Code: Select all
<?php
function playspark_get_content()
{

    $id = $_REQUEST['id'];
    $play_list = array();

    if (is_file(dirname(__FILE__) . '/playlist.config.php')) {
        include(dirname(__FILE__) . '/playlist.config.php');
    }

    $link1 = $play_list[$id]['index'];
    $link2 = $play_list[$id]['gid'];
    $link3 = $play_list[$id]['link'];

    $ch = curl_init("http://192.168.1.100/webstv/video.html?op=1&channelIndex=" . $link1);
    curl_setopt($ch, CURLOPT_POST, 0);
    curl_exec($ch);
    curl_close($ch);

    $ch2 = curl_init("http://192.168.1.100/json/get_channel_stream?gid=" . $link2);
    curl_setopt($ch2, CURLOPT_POST, 0);
    curl_exec($ch2);
    curl_close($ch2);

    header ( 'Location: '. $link3 );
}
?>

В файле def_pages.php добавил
Code: Select all
$nav_pages['playspark_get'] = array (
   'type'  => 'location',
   'module'=> 'playlist',
   'load'   => 'get.php'
);

В файле playlist.rss.php прописал в переменной url ссылку
Code: Select all
else if (userInput == "<?= getRssCommand('enter') ?>")
   {
      showIdle();
                url = "<?= getMosUrl() ?>?page=playspark_get&amp;id="+i);
      playItemURL( url, 0 );
      cancelIdle();
      ret = "true";
   }[/b]

Пример файла playlist.config.php
Code: Select all
<?php
$play_conf = array (
    'showIcons' => false,
);
$play_list = array (
    0 =>
        array (
            'name' => 'ТНТ',
            'link' => 'http://192.168.1.100:8000/S2D5.mp4',
            'index' => '40',
            'gid' => '39',
        ),
    1 =>
        array (
            'name' => 'Россия1',
            'link' => 'http://192.168.1.100:8000/S28F.mp4',
            'index' => '37',
            'gid' => '36',
        ),
    2 =>
        array (
            'name' => 'НТВ',
            'link' => 'http://192.168.1.100:8000/S25C.mp4',
            'index' => '36',
            'gid' => '35',
        ),
    3 =>
        array (
            'name' => 'СТС',
            'link' => 'http://192.168.1.100:8000/S2B8.mp4',
            'index' => '12',
            'gid' => '11',
        ),
);
?>


Запускаю модуль, выбираю канал из списка, на ресивере переключается канал, запускается стрим. Но ссылка на видео так и не передается в плеер. Что я делаю не так? В php только начинаю разбираться, пожалуйста тыкните носом из-за чего плеер не видит ссылку на видеофайл?

Re: playlist

PostPosted: 27 Oct 2020, 21:45
by Virtual
https://www.php.net/manual/ru/function.header.php

Code: Select all
header("Location:

там должна быть соблюдена масса условий дабы произошел редирект.
лишний байт до или после передачи заголовка - редиректа не будет, а курл славится тем что флудит в консоль.