Неофициальный клуб пользователей HD видео плеера WD TV


»Юзер: »Пароль:   Запомнить? 
Написано:  10 Окт 2011 12:00
Можно попробовать, но ИМХО не вариант, т.к.: имеется разное разрешение, разный битрейт, возможно, разная продолжительность. Плюс ещё нужно же универсальное адаптивное решение, чтобы везде работало. Нельзя же за собой гиг всевозможных файликов таскать =) Я щаз диссертацию по теме WD+IPTV напишу =))))

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

Полюбому где-то символ пропустил или знак перепутал. Сегодня буду вчитываться в код. Но я уже на пути к решению! =)
Написано:  10 Окт 2011 12:53
Удачи
__________________
WD TV Live (1.02.21-..-0.4.7.3)
Для пива: WM R161810775332(руб);WM Z114867333413($);WM U219453404899(грн); Я.Money:410011402801986
Filmsonline, русский поиск ->Мэйл<- IPTV
Написано:  11 Окт 2011 09:02
Доброго времени суток!
есть непонимание, надеюсь на помощь
Установил пришивку:1.02.21_WDLXTV.COM_WDLXTV_LIVE-0.4.5.3, сделал как написано в 1 посте, пункт ИПТВ появился, список каналов вижу, но при запуске любого канала черный экран с "думающим кружочком" и через некоторое время обратно скидывает на список каналов . роутер длинк 320 с офф прошивкой. на компе через ИТ-ТВ плеер кажет нормально. от прова ТВ приходит через HTTP(в плейлисте HTTP), файлик S00custom-options так же лежит в корне и убран # перед config_tool -c UDPXY_LOCAL="OFF".
Написано:  11 Окт 2011 09:16
Попробовать посмотреть о чём говорит umsp-test.php
http://wdtvip/umsp/umsp-test.php (в 4.7.3 точно есть по умолчанию в прошивке, либо поставить отдельно как описано).
Ну и глянуть при проигрывании на компе в плеере какого типа видео, может оно не играется WDхой по умолчанию.
__________________
WD TV Live (1.02.21-..-0.4.7.3)
Для пива: WM R161810775332(руб);WM Z114867333413($);WM U219453404899(грн); Я.Money:410011402801986
Filmsonline, русский поиск ->Мэйл<- IPTV
Написано:  11 Окт 2011 09:20
можно по-подробнее о umsp-test.php? я пытался вчера вкурить по проведению этого теста, но либо понедельник-вечер  подвел, либо  я совсем ламер
Написано:  11 Окт 2011 09:33
Итак, докладываю, так сказать =)

Почти всё получилось. После всех приключений теперь разрешение определяется стабильно, но задержка перед началом вещания сохраняется. При этом формируемый wget'ом файлик начинает играть практически сразу.

Натолкнуло на мысль о буферизации. Испытания дали положительный результат. Создаю буфер эдак в пол мегабайта (примерно секунд 5-7 видео у моего провайдера), сохраняю в нём данные, а потом разом выплёвываю в ведро - данные звонко плюхаются и ведро начинает сразу же играть видео с верными параметрами разрешения и времени. Только теперь есть одно "но" =) На буферизацию уходит времени столько же, сколько висит само ведро до старта трансляции =))))

Пока что в воздухе витает почти твоя изначальная идея про кусок заранее сделанного файла. Но проблема с тем, что нужно фактически врезаться в существующий поток, хотя, возможно, ведро само догадается, что началось новое видео... Сегодня обязательно попробую хотя бы ради интереса впихнуть правильный кусок.
Написано:  11 Окт 2011 10:03   Отредактировано: DJArty
А почему вклиниться.. почти так же как буфер - только не надо ждать накопления.. Сначала "выплёвывается" ( сохраняю терминологию ) в ведро стартовые заготовленные 3-5 сек, а следом впритык реальный поток, лучше который с правильного кадра начинается. Для начала можно тренироваться на одном канале с одним разрешением. Насчет заготовленных 3-5 сек, раз известна и понимаема структура TS то можно и сгенерить чёрные кадры "самостоятельно" что конечно сложнее чем заготовку подсовывать. А потом если подстановка опытным путём оправдает себя.. То можно два варианта - один нерациональный - типа проходиться предварительно по плейлисту определяя разрешение что бы знать какой кадр подставлять. Второй - определять побыстряку разрешение потока ещё со стороны udpxy (оно ж ему видней из данных потока) и генерить чёрный кадр следом за которым подавать поток.
А для начала просто попробовать влепить пару метров предварительно захваченного ffmpeg-ом потока перед живып потоком.. даст ли это скорость срабатывания нормальную..
__________________
WD TV Live (1.02.21-..-0.4.7.3)
Для пива: WM R161810775332(руб);WM Z114867333413($);WM U219453404899(грн); Я.Money:410011402801986
Filmsonline, русский поиск ->Мэйл<- IPTV
Написано:  11 Окт 2011 10:59
У меня, пока что, возникает резонный вопрос: есть ли смысл выплёвывать эти 3-5 секунд? =) Время фактического включения канала от этого ведь не изменится, вот в чём косяк.

Поэтому надо будет экспериментально установить минимальный размер буфера. Если он будет равен тем же 5 секундам - то и нет смысла заморачиваться, понимает правильно разрешение - и хватит.
Написано:  11 Окт 2011 11:23   Отредактировано: DJArty
Ну допустим 5 сек правильной буферизации + 3 сек черного кадра и фиксированно получение картинки на 8 секунде (5+3) нормальный результат.. Это всеравно пока испытания - если будет результат, дальше можно уменьшать. (да и возможно первоначальные 5 сек будут меньше)
И почему не излечится? Вроде бы ж постановили что время во многом зависит от правильности поступления первых кардров. Ведь один и тот же канал бывает норм разрешение показывает и через 5 сек картинку дает а бывает и ненормальное показывает и долго картинку не дает... Так и подсунем ему сразу правильные первые секунды, остальные текущие прилепим, от того что они будут слегка неправильные возможно уже будет всеравно..
__________________
WD TV Live (1.02.21-..-0.4.7.3)
Для пива: WM R161810775332(руб);WM Z114867333413($);WM U219453404899(грн); Я.Money:410011402801986
Filmsonline, русский поиск ->Мэйл<- IPTV
Написано:  11 Окт 2011 15:46   Отредактировано: Rushmore
Кроме того что тупой плеер не умеет пропускать TS-пакеты до начала VideoSequence, он еще и поток открывает не с первого раза. Вот смотрю на логи Апача:

1) ведро выдает запрос HEAD
2) выдает запрос GET, читает 20 - 30 кбайт и закрывает соединение
3) выдает еще один запрос GET и читает снова где-то 20 - 30 кбайт и снова бросает соединение
4) снова выдает GET и уже тогда начинает читать данные (и показывать).

Естественно, скорости при переключении канала это тоже не добавляет.

Теряюсь в догадках, что это оно делает. Может, в первом запросе пытается определить текущий PID видео, а во втором аудио???

Китайцы они такие китайцы!

Меньше 5 секунд задержки не получается сделать
Написано:  11 Окт 2011 15:57
Меньше и не надо - надо стабильно 5
__________________
WD TV Live (1.02.21-..-0.4.7.3)
Для пива: WM R161810775332(руб);WM Z114867333413($);WM U219453404899(грн); Я.Money:410011402801986
Filmsonline, русский поиск ->Мэйл<- IPTV
Написано:  12 Окт 2011 06:50
DJArty, проверь почту =)

2Rushmore: если пускать напрямую к udpxy - у последнего периодически вообще крыша съезжает, т.к. вебро начинает флудить соединениями с сервером =\
Написано:  12 Окт 2011 08:54
Почта работает   И какой ченджлог? (что б диффами не мучать)
__________________
WD TV Live (1.02.21-..-0.4.7.3)
Для пива: WM R161810775332(руб);WM Z114867333413($);WM U219453404899(грн); Я.Money:410011402801986
Filmsonline, русский поиск ->Мэйл<- IPTV
Написано:  12 Окт 2011 09:16
Ищет PAT, затем PMT, затем начало кадра, пока ищет - всё пишет в буфер, затем втыкает найденное в самое начало буфера и плюёт в ведро сначала буфер, а потом текущую трансляцию.

Т.е. по идее получается более или менее правильный MPEG2 TS файл. На 1.02.21 стабильно определяется верное разрешение.

Одно "НО" - работает пока только через http-proxy (у меня), напрямую к udpxy выдаёт хрень =( С вставкой коротенького ролика не получилось, зато появилась другая идея... Попробую - отпишусь.

Плюс появилась идея, чтобы udpxy при подключении напрямую не сходил с ума. Если вкратце: если с IP уже было подключение и организовывается новое, то старое закрывать принудительно. Иначе ведро пытается зачем-то открыть несколько соединений, а udpxy сходит с ума.
Написано:  12 Окт 2011 10:17
Цитата:
Ищет PAT, затем PMT, затем начало кадра

По моим исследованиям, можно на PAT и PMT забить, ведро само их найдет. Главное чтобы видео начиналось с Video Sequence. По крайней мере, для потоков MPEG-2.

Я в коде прокси делаю следующее:

1) При получении запроса HEAD от ведра удаляю файл-флаг из /tmp/, возвращаю заголовок и отваливаю.

2) При получении запроса GET проверяю - если нет файл-флага, то создаю его в /tmp/ и потом начинаю читать и анализировать TS-пакеты от udpxy до получения первого пакета, содержащего VideoSeq (00 00 01 B3).

3) При получении пакета, содержащего VideoSeq, формирую и отдаю заголовок, далее отдаю этот пакет и через fpassthru все остальное.

4) Если файл-флаг есть, значит это уже не первое соединение и ведро уже знает разрешуху. В этом случае просто отдаю заголовок и через fpassthru все остальное.

Работает.

Есть фришная софтина для анализа пакетов MPEG-2 Transport Stream packet analyser
Написано:  12 Окт 2011 10:36
На сколько работает? Время старта?

И ещя я хочу добиться, чтобы udpxy напрямую отдавал ведру, без ненужного прокси. PAT и PMT обычно находятся в самом начале видео и была идея ускорить работу ведра за счёт формирования "правильного" расположения заголовков. Не помогло, но т.к. не мешает - оставил =) Суть у нас получается одна, точка применения несколько разная - ты пишешь на стороне ведра, а я на стороне udpxy. =)
Написано:  12 Окт 2011 10:58   Отредактировано: DJArty
Landgraph
На девайсе только вечером смогу проверить, а так из далека видно по логам что ищет...
Rushmore
"Работает" - насколько удачно? А ознакомиться с кодом можно? (dj_arty(at)mail(dot)ru)

Насчет нескольких запросов - да странно, есть такоe. Но отчасти есть объяснение такого типа (IMHO): плугин то для umsp.. и мы для umsp готовим массив с описанием названия и местоположения. Но когда используется прокси, так ещё и данные проталкиваем через него. Если бы не было прокси и umsp то теоретически можно было бы ВДхе с тем самым DLNA подсунуть прямой линк на поток. И уже сама ВДха закрытыми от нас методами должна гетнуть поток (может и тут несколько раз оно это делает с каких то дел - но этого не побороть). Но если используется прокси то в самом его коде мы то ещё и сами всякие headerpassed проделываем и проталкиваем get. Возможно он тоже ж дает лишние запросы. И ещё не известно что происходит внутри самого umsp ) Ещё всякие хитрые 65535 чего стоят...
Как ни странно но upnp-cmd вроде бы как призванный работать напрямую с ВД тоже судя по логам udpxy запрашивает раза три, что всё же говорит о скрытой части (но надо смотреть внутренности upnp-cmp может и не очень прямо работает). А вообще надо натравить upnp-cmd прямой линк не на udpxy поток а на обычный видеофайл лежащий на сервачке и глянуть логи а сколько таки запросов поступает от ВДхи в таком случае..
__________________
WD TV Live (1.02.21-..-0.4.7.3)
Для пива: WM R161810775332(руб);WM Z114867333413($);WM U219453404899(грн); Я.Money:410011402801986
Filmsonline, русский поиск ->Мэйл<- IPTV
Написано:  12 Окт 2011 11:07
Цитата:
На сколько работает? Время старта?
Не более 10 секунд. Обычно за 5 - 7 скунд поток стартует. Правда, тестировал только с MPEG-2 в SD-разрешухе, т.к. провайдер не вещает IPTV в H.264 и попробовать больше негде

Прошивка WDLXTV 1.02.21-0.4.7.3
Написано:  12 Окт 2011 11:15
Кстати надо будет попробовать сегодня выложить файлик через вебсервер на компе и скормить его через umsp ведру.

Я так подозреваю, что тут пахнет стандартом upnp. Возможно на первые запросы сервер должен что-то выслать служебное или как-то себя повести по-специальному...

Может кто-нить выложить сейчас сюда запросы от ведра к серверу (GET /...)?
Написано:  12 Окт 2011 11:22
Цитата:
Может кто-нить выложить сейчас сюда запросы от ведра к серверу
Вечером могу выложить, как до ведра доберусь.
Написано:  12 Окт 2011 11:31
Блин, вечером я тоже могу =) Я просто помню, что там в одном из запросов (именно в запросе, стандарт исключает эту возможность!) стоит Content-Length: 0 и вот я не помню, там Connection случайно не close стоит?

По идее udpxy должен в таком случае отправить заголовки и сразу же закрыть соединение, не начиная отправку контента.
Написано:  12 Окт 2011 11:57
Landgraph
Насколько я помню, там во всех запросах эта фигня фигурирует. Насчет чего там в Connection он пишет - не помню, но первое соединение закрывает сам.

DJArty
Код отправил.
Написано:  12 Окт 2011 12:11
Rushmore
Спасибо! посмотрю.. там встречное предложение написал

Landgraph
Ну теоретически я могу удаленно попробовать и к серваку своему подключиться и к ВДхе. Только ж вслепую касательно ВДхи
__________________
WD TV Live (1.02.21-..-0.4.7.3)
Для пива: WM R161810775332(руб);WM Z114867333413($);WM U219453404899(грн); Я.Money:410011402801986
Filmsonline, русский поиск ->Мэйл<- IPTV
Написано:  12 Окт 2011 12:19
Я вот тут думаю, может быть ведро ожидает HTTP/1.1 Свистопляску (MS - MediaServer):
WD: - HEAD ... А скажи мне, американец, какие getContentFeatures ты поддерживаешь?
MS: - HTTP/1.1 200 OK
contentFeatures: а вот хрен тебе, а не перемотка вперёд-назад! =)

WD: - GET ... Дай файлик?
MS: - HTTP/1.1 302 Found
Я файлик нашел, но тебе не дам, мордой не вышел!

WD: - GET ... Ну дай файлик...
MS: - HTTP/1.1 А не отдам!

WD: - GET ... Не дашь - по морде получишь...
MS: - HTTP/1.1 200 OK, какие проблемы, бери всё что захочешь, для своих не жалко!

Просто по китайски это всё сделано так: зачем учить стандарт, пускай его сервероделы учат... Ну примерно как мы сейчас ждём заголовков и только потом ведру скармливаем =)
Написано:  12 Окт 2011 12:25   Отредактировано: Landgraph
Ну если получится - сможешь сейчас запостить сюда? =)

Опять же, как вариант, ведро ждёт третьего ответа с контентом, а первые два - информационные, а мы ему пихаем уже в первом пакеты TS, которые он тупо пропускает (ну или не так учитывает, хз).
Написано:  12 Окт 2011 12:31
.. HTTP/1.1  ..  только вроде бы недавно постановили что только HTTP/1.0
__________________
WD TV Live (1.02.21-..-0.4.7.3)
Для пива: WM R161810775332(руб);WM Z114867333413($);WM U219453404899(грн); Я.Money:410011402801986
Filmsonline, русский поиск ->Мэйл<- IPTV
Написано:  12 Окт 2011 12:47
Ну вообще в доке было сказано The clarifying IETF specification ([21]) states that HTTP/1.1 servers should return HTTP/1.1 even if the HTTP server receives a request marked with HTTP/1.0. The robustness rules, specified by the HTTP specification, enables clients and servers that employ different HTTP version numbers to coexist properly.

Интересно, а если отвечать в режиме HTTP/1.0, может всё будет лучше?.. Апач, по-моему, отвечает в режиме HTTP/1.1, нет? Есть wget с ответными заголовками UMSP? =)))
Написано:  12 Окт 2011 13:34
Подосвободился.. так ... какой конф в апаче подкрутить? что б подробней рассказывал..
__________________
WD TV Live (1.02.21-..-0.4.7.3)
Для пива: WM R161810775332(руб);WM Z114867333413($);WM U219453404899(грн); Я.Money:410011402801986
Filmsonline, русский поиск ->Мэйл<- IPTV
Написано:  12 Окт 2011 14:31
А фиг его знает =))) Мой udpxy в консоль выводит запросы и ответы =)))
Написано:  12 Окт 2011 15:11
udpxy то выводит а то апач для обычного файла.. Еще не досмотрел  - снова работой отвлекают С такими темпами и вечер уж начнется.
__________________
WD TV Live (1.02.21-..-0.4.7.3)
Для пива: WM R161810775332(руб);WM Z114867333413($);WM U219453404899(грн); Я.Money:410011402801986
Filmsonline, русский поиск ->Мэйл<- IPTV

Поделитесь со своими друзьями в соцсетях: