вторник, 29 января 2013 г.

Обмен медиа-информацие в файл-листах

Все привет!
В серой ветке начиная с r502-build build 12742 активирован обмен с fly-server-ом и фреймом просмотра файл-листов, позволяющий видеть характеристики файлов в шарах скачанных с пользователей использующие оригинальны клиенты без поддержки расширенных тэгов mediainfo
Алгоритм работы
При открытии любого файл листа клиент:
1. Просматривает видимый список файлов в ListView справа от дерева
2. Формирует get-JSON запрос на сервер для тех файлов, которых нет у него в шаре.
{
    "array": [
        {
            "size": "367742976",
            "tth": "QPIPCPFWZSZGECKSPNRVNJ44HD3PPJMF7XMS2NQ"
        },
        {
            "size": "367640576",
            "tth": "MHRRU45RGNCNROAEVAYKJEJ4IM52ZQOT6A6DZYA"
        }
    ]
}

3. Получает ответ с сервера и дополняет информационные колонки информацией.
4. Если в видимой части есть файлы находящиеся в шаре и они содержат медиа-информацию
клиент формирует второй set-JSON запрос и предает на сервер медиа-инфу по файлам.
{
   "array" : [
      {
         "media" : {
            "fly_audio" : "43mn 17s | MPEG , 192 Kbps, 2 channels",
            "fly_audio_br" : 192,
            "fly_video" : "MPEG-4 , 1 816 Kbps, 16:9, 23.976 fps",
            "fly_xy" : "720x400"
         },
         "size" : "
367742976",
         "tth" : "
MHRRU45RGNCNROAEVAYKJEJ4IM52ZQOT6A6DZYA"
      }
   ]
}
 

5. Для экономии трафика после выполнения пункта 4 массив переданных TTH сохраняется в локальной кэш-таблице (media_db.fly_send_to_server) и более по данному файлу клиент информацию на сервер не передает.
6. При скролировании списка файлов и ожиданни в течении 2 секунд. операция с шагами 1-5 автоматически повторяется для вновь появившихся файлов.

Шлите замечания.
Кто не активировал серый канал обновления тест-версию можете скачать тут
http://flylinkdc.dyndns.org/install/last-build/test-build-for-blog


6 комментариев:

Sasha комментирует...

build 12742. Жму "Refresh mediainfo", флайлинк зависает.

Pavel Pimenov комментирует...

Это отладочкая кнопочка - она работает в одном потоке с GUI
просто очень долго.
Если у вас много медиа-файлов алгоритм их повторно прогоняет через mеdiainfo без расчета TTH.
Это немного быстрее полного рехэша но всеравно требует времени.
Нужно подождать завершения или пока не нажимать :)

Анонимный комментирует...

как скачать хабы?только установила и везде пусто

Анонимный комментирует...

скажите адрес флайлинка на олимпе

Анонимный комментирует...

незнал куда написать,поэтому оставлю это здесь.Вобщем проблема в том,что с меня качают макс.512кв/с.Канал у меня 100мбит,в DC++ фильмы по 8мб/сек раздавал,а тут...:( Рылся везде,огр.скорости,актив/пассив,снимал галочки с медленных соединений и проч.С фаерволом всё тоже ок. Упирается рогом хоть ты тресни,и не даёт раздавать на скорости выше чем 500-550кб/сек.Уже и не знаю куда копать :(

Анонимный комментирует...

Ещё добавлю.То есть если с меня качают к примеру двое,то эти 500кб/с делятся между ними.Соответственно чем больше человек ко мне подключается,тем меньше они получают.Вот чувствуется,что реально стоит ограничение,и сеть или нагрузка тут ни при чём.Но где это снять-не знаю:(