Черный фон при переключении каналов

Здесь освещаются пути и тонкости в разработке собственных приложений Dune HD
Ответить
Аватара пользователя
gusav
Малообщительный
Сообщения: 18
Зарегистрирован: 09 апр 2020, 17:25

Черный фон при переключении каналов

Сообщение gusav » 09 апр 2020, 17:53

Доброго времени суток, уважаемые форумчане. Разбираю код плагинов, показывающих IPTV. Плагин myiptv_2.0 при переключении каналов, показывает черный фон пока грузится следующий канал. А все остальные , в том числе myiptv_1.0 показывают фон при переключении с udp-канала на http и наоборот. А если протокол один картинка текущего канала застывает, пока грузится следующий. Детальный анализ кода плагина с черным фоном показал следующее:
1. В функцию get_tv_stream_url переменная $playback_url не передается, а получается так

Код: Выделить всё

$playback_url = $this->global_channels[$playback_id]['urls'][$this->global_channels[$playback_id]['source']]; 
2. В функции загрузки плейлиста при создании нового экземпляра класса канала в конструктор класса передается не адрес потока, а адрес http://ts://blog.isayev.org.ua/$cid.
Просьба к знатокам пояснить оба пункта:
1. какая разница как получать $playback_url в функции get_tv_stream_url, почему в одном случае получается черный фон при переключении каналов, а во втором только при при переключении с udp-канала на http и наоборот?
2 Как я понял по адресу http://ts://blog.isayev.org.ua крутится некий сервер, который ретранслирует адрес потока в виде mpeg ts? Поправьте меня если я ошибаюсь. И какое программное обеспечение можно использовать для этих целей?
Dune 301 (150721_0136_B9) Сист.флешка присутствует

Аватара пользователя
gusav
Малообщительный
Сообщения: 18
Зарегистрирован: 09 апр 2020, 17:25

Сообщение gusav » 09 апр 2020, 18:20

Прошу прощения, я, кажется, создал тему не в том разделе( Просьба модератору, если можно, перенести ее в раздел Вопросы по плагинам.
Dune 301 (150721_0136_B9) Сист.флешка присутствует

Аватара пользователя
gusav
Малообщительный
Сообщения: 18
Зарегистрирован: 09 апр 2020, 17:25

Сообщение gusav » 09 апр 2020, 19:56

gusav писал(а):
09 апр 2020, 17:53
1. В функцию get_tv_stream_url переменная $playback_url не передается, а получается так

Код: Выделить всё

$playback_url = $this->global_channels[$playback_id]['urls'][$this->global_channels[$playback_id]['source']]; 
Получается, что черный фон при переключении каналов появляется из за того, что адрес потока мы получаем из $this->global_channels, а там как мы помним http://ts://blog.isayev.org.ua/$cid. В таком случае вопросы по 1 пункту снимаются, остаются вопросы только про программное обеспечение сервера по адресу http://ts://blog.isayev.org.ua/
Dune 301 (150721_0136_B9) Сист.флешка присутствует

Аватара пользователя
Brigadir
Администратор
Сообщения: 2818
Зарегистрирован: 07 янв 2018, 18:28
Откуда: С просторов необъятной
Контактная информация:

Сообщение Brigadir » 10 апр 2020, 19:26

Простите, а какая разница, черный фон или не черный? На разных платформах разные плеера, и поведение плееров в таких мелочах может отличаться. Даже если докопаться и пофиксить, далеко не факт что это будет работать на других платформах. И если так (что весьма вероятно), то зачем тратить время на все эти анализы?!
Dune HD Pro One 8K Plus (240201_2116_r22)
Dune HD Real Vision 4K (230929_0206_r21)
Dune HD Pro 4K II (230929_0206_r21)
Dune HD Sky 4K Plus (221018_1640_r20)
Dune HD 303D (190919_0242_r11) Сист. флешка присутствует, тестовая
-------------------------------
Keenetic Giga (KN-1010)

Чтобы получить log-файл плагинов, нужно создать на первом носителе, доступном пользователю (обычно внутренний HDD, или любое другое USB-хранилище при отсутствии внутреннего HDD) папку "dune_plugin_logs". Если вы используете USB-флешку, то отформатируйте ее в FAT32 перед тем, как создать папку для логов. После чего перезагрузите дюну и начните пользоваться плагином, в папке dune_plugin_logs появится файл лога.

Все мои (и не только) плагины Dune HD
Гранд-обзор Dune HD Pro One 8K Plus
Краткий обзор Dune HD Pro 4K II
Краткий обзор Dune HD Neo 4K с картинками


Отблагодарить автора (ЮMoney)

Аватара пользователя
gusav
Малообщительный
Сообщения: 18
Зарегистрирован: 09 апр 2020, 17:25

Сообщение gusav » 10 апр 2020, 19:57

Разница в адресе потока. Фиксить, простите, я никого ничего не просил - давно сам все пофиксил.Вопрос был в надежде, что вы поможете разобраться в ПО, ретранслирующем данный поток. Зря видимо, надеялся.
Dune 301 (150721_0136_B9) Сист.флешка присутствует

Аватара пользователя
Brigadir
Администратор
Сообщения: 2818
Зарегистрирован: 07 янв 2018, 18:28
Откуда: С просторов необъятной
Контактная информация:

Сообщение Brigadir » 10 апр 2020, 20:49

gusav писал(а):
10 апр 2020, 19:57
Разница в адресе потока. Фиксить, простите, я никого ничего не просил - давно сам все пофиксил.Вопрос был в надежде, что вы поможете разобраться в ПО, ретранслирующем данный поток. Зря видимо, надеялся.
Непонятно что вы хотите.
Dune HD Pro One 8K Plus (240201_2116_r22)
Dune HD Real Vision 4K (230929_0206_r21)
Dune HD Pro 4K II (230929_0206_r21)
Dune HD Sky 4K Plus (221018_1640_r20)
Dune HD 303D (190919_0242_r11) Сист. флешка присутствует, тестовая
-------------------------------
Keenetic Giga (KN-1010)

Чтобы получить log-файл плагинов, нужно создать на первом носителе, доступном пользователю (обычно внутренний HDD, или любое другое USB-хранилище при отсутствии внутреннего HDD) папку "dune_plugin_logs". Если вы используете USB-флешку, то отформатируйте ее в FAT32 перед тем, как создать папку для логов. После чего перезагрузите дюну и начните пользоваться плагином, в папке dune_plugin_logs появится файл лога.

Все мои (и не только) плагины Dune HD
Гранд-обзор Dune HD Pro One 8K Plus
Краткий обзор Dune HD Pro 4K II
Краткий обзор Dune HD Neo 4K с картинками


Отблагодарить автора (ЮMoney)

Аватара пользователя
gusav
Малообщительный
Сообщения: 18
Зарегистрирован: 09 апр 2020, 17:25

Сообщение gusav » 10 апр 2020, 22:54

Я хочу имитировать сервер http://ts//blog.isayev.org.ua/$cid . Именно этот урл является адресом потока, и именно он даёт чёрный фон при переключении каналов. Застывшая картинка, имхо, не красиво. Но не совсем понятно, что он делает и какое ПО для этого можно использовать.
Dune 301 (150721_0136_B9) Сист.флешка присутствует

Аватара пользователя
gusav
Малообщительный
Сообщения: 18
Зарегистрирован: 09 апр 2020, 17:25

Сообщение gusav » 10 апр 2020, 23:16

Код: Выделить всё

$channel = new SmartChannel($id, $this->global_channels[$id_key]['caption'], self::get_icon_path($id),"http://ts://blog.isayev.org.ua/$id_key", $n,	$past_epg_days,
self::get_future_epg_days($id), $is_protected, $buf_time, $arc);
..................................................................................................................................................................................................................................................................
public function get_tv_stream_url($playback_uid, &$plugin_cookies)
    {
    		$playback_id = substr($playback_uid, 31);

	$playback_url = $this->global_channels[$playback_id]['urls'][$this->global_channels[$playback_id]['source']];									
В таком виде имеем переключение каналов с черным фоном.

Код: Выделить всё

$channel = new SmartChannel($id, $this->global_channels[$id_key]['caption'], self::get_icon_path($id),$media_url, $n,	$past_epg_days,
self::get_future_epg_days($id), $is_protected, $buf_time, $arc);
..........................................................................................................................................................................................................................
public function get_tv_stream_url($playback_url, &$plugin_cookies)
    {
    				$this->finalUrl = $playback_url;
		if (preg_match("|^udp:\/\/\d|",$playback_url))
А в таком застывшая катринка при переключении. Основной вопрос, что мня мучает - что скрывается за адресом"http://ts://blog.isayev.org.ua/$id_key", и на каком ПО я могу собрать свой аналогичный сервис?
Dune 301 (150721_0136_B9) Сист.флешка присутствует

Аватара пользователя
Brigadir
Администратор
Сообщения: 2818
Зарегистрирован: 07 янв 2018, 18:28
Откуда: С просторов необъятной
Контактная информация:

Сообщение Brigadir » 10 апр 2020, 23:18

Что там скрывается неважно.
Parameters for playback URLs
Syntax:

Код: Выделить всё

   {media_url}|||dune_params|||param1:value1,...,paramN:valueN
Supported parameters:

keep_pic:0|1 (default: 1)
For MPEG-TS media.
Specifies if the last shown frame should be kept on screen (instead
of showing black screen) while switching between MPEG-TS streams. Has
effect only when both MPEG-TS streams are streamed in a way allowing
the system to optimize streams switching (e.g. both streams are
multicast streams, or both streams are HLS streams, etc) and avoid
full playback engine restart; when full playback engine restart
happens, blank screen is shown anyway.

Example:

Код: Выделить всё

   http://myserver.com/my_content|||dune_params|||keep_pic:0
SDK
Dune HD Pro One 8K Plus (240201_2116_r22)
Dune HD Real Vision 4K (230929_0206_r21)
Dune HD Pro 4K II (230929_0206_r21)
Dune HD Sky 4K Plus (221018_1640_r20)
Dune HD 303D (190919_0242_r11) Сист. флешка присутствует, тестовая
-------------------------------
Keenetic Giga (KN-1010)

Чтобы получить log-файл плагинов, нужно создать на первом носителе, доступном пользователю (обычно внутренний HDD, или любое другое USB-хранилище при отсутствии внутреннего HDD) папку "dune_plugin_logs". Если вы используете USB-флешку, то отформатируйте ее в FAT32 перед тем, как создать папку для логов. После чего перезагрузите дюну и начните пользоваться плагином, в папке dune_plugin_logs появится файл лога.

Все мои (и не только) плагины Dune HD
Гранд-обзор Dune HD Pro One 8K Plus
Краткий обзор Dune HD Pro 4K II
Краткий обзор Dune HD Neo 4K с картинками


Отблагодарить автора (ЮMoney)

Аватара пользователя
gusav
Малообщительный
Сообщения: 18
Зарегистрирован: 09 апр 2020, 17:25

Сообщение gusav » 11 апр 2020, 01:15

Спасибо) Это именно то, что я искал)
Dune 301 (150721_0136_B9) Сист.флешка присутствует

Ответить