1

Тема: Когда HMS отдает контент через pipe

При запросе аудио или видео, если формат поддерживается устройством или возможно ремуксирование, HMS отдает поток через pipe.
Если это аудио, то первые несколько секунд, звук заикается. Потом все нормуль.
Если это видео, то первые несколько секунд картинка дергается. Потом все нормуль. Однако, стоит немного перемотать или запросить видео из середины - стабильный рассинхрон звука.
Кэш HMS на SSD, тормоза исключены.
И на телеке и на ipad ситуация идентична.
Что посоветуете?

2

Re: Когда HMS отдает контент через pipe

А вот тоже наткнулся на странное поведение получение потока через пайп, когда делал обработку запуска видео подкаста в VLC.
Сейчас сделал так, что когда программа возвращает pipe, то вместо этого я просто беру ссылку для просмотра в VLC через веб доступ, т.е. не используя pipe.
Однако, если перенаправить пайп в VLC - очень странная фигня могла происходить: задержка звука, видео, какие-то периодические тупняки. Так и не разобрался с этим. Думал малый буфер у самого VLC, пытался его устанавливать ключами --file-caching=3000 и --http-caching=3000, ничего не помогло.

Думаю нужно где-то подкрутить буфер, который бы перед началом передачи потока немного поднакопил данных.

Sony Bravia KDL-32CX523

3

Re: Когда HMS отдает контент через pipe

ВЛЦ умеет сразу поток гнать по http
Как-то экспериментировал как не использовать pipe - так вот такой способ нормально работал

+ открыть спойлер

тут небольшой кусочек для пояснения

--sout-all --sout=#duplicate{dst=std{access=http{mime="video/MP2T"},mux=ts,dst=:22222}} | "C:\ffmpeg\ffmpeg.exe" -i "http://127.0.0.1:22222" -vcodec copy -acodec copy

4

Re: Когда HMS отдает контент через pipe

А если попробовать поставить в файлы/субтитры размер для начала передачи данных поменьше и размер передачи порций данных уменьшить в upnp/dlna (в настройках устройства), это позволит быстрее стартовать потоку, но есть минус некоторые устройства начинают выбиваться от этого

WD TV LS+Sony KDLS5600/Samsung UEF5400/Sony PS 3/Yamaha RX-V379/hms 2.33
Кладовая HMS (список полезных ссылок и инструкций)
https://hms.lostcut.net/misc.php?action=pun_attachment&item=2914&download=0
Временно отсутствую

5

Re: Когда HMS отдает контент через pipe

Поигрался немного с буферами и порциями. Увеличение параметра "Размер для начала передачи файла" в профиле устройства для интернет радио похоже дало положительный эффект. Икания прекратились. Еще понаблюдаю ибо слушаю часто.
А вот с видео никаких изменений. Так же подергивается. Попробую на видео заснять сей момент.
На днях потестирую, когда время найду.

6

Re: Когда HMS отдает контент через pipe

Вы ещё максимальный размер в файл/субтитры поставьте -1, иногда даёт положительный результат

WD TV LS+Sony KDLS5600/Samsung UEF5400/Sony PS 3/Yamaha RX-V379/hms 2.33
Кладовая HMS (список полезных ссылок и инструкций)
https://hms.lostcut.net/misc.php?action=pun_attachment&item=2914&download=0
Временно отсутствую

7

Re: Когда HMS отдает контент через pipe

Big Dog пишет:

Вы ещё максимальный размер в файл/субтитры поставьте -1, иногда даёт положительный результат

Учту :)

8

Re: Когда HMS отдает контент через pipe

d1mas
Долго вникал в вашу проблему, копался в настройками и выяснил следующее, многие проблемы hms в неправильном взаимодействие с ОС, точнее в приоритетах и вот что получилось, если выставить приоритет транскода в положение низкий, то пропадают многие лаги, fps на многих подкастах вырастает, хоть и незначительно, идет более равномерное наполнения буфера самого hms, меньше нагрузки на ЦП и HDD, соответственно более плавное воспроизведение.

P.S. Не ручаюсь, что это 100% метод, так как проверял только на своём оборудование (в подписи) и на версии hms 2.01
И небольшой тест на кодировщике TsMuxer

Прикреплённые файлы сообщения

приоритет.png 171.09 kb, скачивалось 432 раза, начиная с 2016.03.16

приоритет2.png 162.89 kb, скачивалось 392 раза, начиная с 2016.03.16

приоритет3.png 206.51 kb, скачивалось 411 раз, начиная с 2016.03.16

WD TV LS+Sony KDLS5600/Samsung UEF5400/Sony PS 3/Yamaha RX-V379/hms 2.33
Кладовая HMS (список полезных ссылок и инструкций)
https://hms.lostcut.net/misc.php?action=pun_attachment&item=2914&download=0
Временно отсутствую

9

Re: Когда HMS отдает контент через pipe

Big Dog пишет:

d1mas
Долго вникал в вашу проблему, копался в настройками и выяснил следующее, многие проблемы hms в неправильном взаимодействие с ОС, точнее в приоритетах и вот что получилось, если выставить приоритет транскода в положение низкий, то пропадают многие лаги, fps на многих подкастах вырастает, хоть и незначительно, идет более равномерное наполнения буфера самого hms, меньше нагрузки на ЦП и HDD, соответственно более плавное воспроизведение.

P.S. Не ручаюсь, что это 100% метод, так как проверял только на своём оборудование (в подписи) и на версии hms 2.01
И небольшой тест на кодировщике TsMuxer

Спасибо за участие в попытках разобраться. Кажется поймал сценарий, при котором появляются подергивания.

Происходит это, если сразу (с интервалом менее 5 секунд) запросить фильм с тем же профилем транскодирования. Т.е. запускаю серию, срабатывает профиль "Фильмы - TsMuxer", воспроизведение начинается плавно. Останавливаю. Сразу же запускаю другую серию, срабатывает профиль "Фильмы - TsMuxer", и воспроизведение идет с рывками первые несколько секунд. Такое ощущение, что накладываются какие-то процессы очистки ресурсов, в HMS или в системе, понять не могу. Погоняю еще, чтобы разобраться с рассинхроном звука.

Жонглирование с приоритетом никакого эффекта в моем случае не дает :(.

10

Re: Когда HMS отдает контент через pipe

d1mas
Попробуйте профиль Фильмы - TsMuxer (5.1), у меня на оригинальном Фильмы - TsMuxer (если многоканальный звук был в файле), тоже был рассинхрон звука.

WD TV LS+Sony KDLS5600/Samsung UEF5400/Sony PS 3/Yamaha RX-V379/hms 2.33
Кладовая HMS (список полезных ссылок и инструкций)
https://hms.lostcut.net/misc.php?action=pun_attachment&item=2914&download=0
Временно отсутствую

11

Re: Когда HMS отдает контент через pipe

:) та на TsMuxer это нормальное явление, он же муксит и полным ходом использует приоритет ввода-вывода, нагрузка на винт высокая вот и тупяки при старте, я еще года 2 назад это сразу просёк и поставил ему низкий приоритет через реестр.

Можно вот через cmd прописать .
и тормозов не будет.

Прикреплённые файлы сообщения

save_process_priority.cmd 3.99 kb, скачивалось 752 раза, начиная с 2016.03.19

12

Re: Когда HMS отдает контент через pipe

Спасибо за советы. Все попробую. Отпишусь.

p.s. насчет ввода-вывода я удивлен. у меня tmp папка на ссд диске. даже этого ему мало? :)

13 (2016.03.20 23:31:35 отредактировано pomacik)

Re: Когда HMS отдает контент через pipe

Дело в том что он использует диск по полной при нормальном приоритете и не важно ссд или шдд он просто грузит его по полной :) , до того как я ему изменил приоритет, tsmuxer грузил винт на 100% 80-120 мб/сек , когда поставили ему низкий приоритет через реестр,  15-40 мб/сек . В обычном режиме он просто забирает всё на себя поэтому и затыки в начале передечи.

14

Re: Когда HMS отдает контент через pipe

Тоже столкнулся с проблемой загруженности диска.
Решение оказалось удивительно простым - ограничить скорость сети любой программой, например NetLimiter
Конкретно для себя "прижал" три процесса до 2,5 мегабайт/сек:
Домашний медиа сервер(hms.exe) - pipe больше не беспокоит
Модуль запуска FFMPEG - разгрузка процессора при перекодировании в 2-3 раза
ace_engine.exe - плавный старт каналов

+ скриншот

https://img-fotki.yandex.ru/get/59115/103064218.3a3/0_ba51c_6ab6d290_orig


Этого достаточно для комфортного просмотра любого контента из сети, включая FHD.
Всё работает как часы, обрывов не замечено.

15 (2016.04.18 15:21:55 отредактировано d1mas)

Re: Когда HMS отдает контент через pipe

routir пишет:

Тоже столкнулся с проблемой загруженности диска.
Решение оказалось удивительно простым - ограничить скорость сети любой программой, например NetLimiter
Конкретно для себя "прижал" три процесса до 2,5 мегабайт/сек:
Домашний медиа сервер(hms.exe) - pipe больше не беспокоит
Модуль запуска FFMPEG - разгрузка процессора при перекодировании в 2-3 раза
ace_engine.exe - плавный старт каналов

+ скриншот

https://img-fotki.yandex.ru/get/59115/103064218.3a3/0_ba51c_6ab6d290_orig


Этого достаточно для комфортного просмотра любого контента из сети, включая FHD.
Всё работает как часы, обрывов не замечено.

Вот это интересная теория. У меня компьютер и роутер на гигабите, а вот телек только 100 мбит тянет. FullHD с высоким битрейтом уже заикается.
С одной стороны мощное железо, скоростная сеть - отдавать компьютер должен очень быстро и тут, я допускаю, гигабитная сеть может работать и работает шустрее, чем дисковые операции.
Но все-равно упираемся в макс поддерживаемую телевизором скорость, т.е. в 100 Mbit/s.
И, главное, затупы только в самом начале просмотра - при запросе файла. Потом все замечательно. Такое ощущение, что при первичной обработке или буферизации конфликты. В качестве эксперимента попробую перекинуть LAN адаптер в 100 Mbit и посмотрю, что получится.

Благодарю за идею.

P.S. Все вышеозвученное касается только просмотра фильмов по локальной сети или прослушивании сетевого радио. Видеоподкасты не смотрю.