Как правильно качать в p2p сетях или магнит с битрейтом

в 17:10, , рубрики: big buck bunny, online, p2p-сети, Peer-to-Peer, шаринг

Раз уж пошла такая пляска, то и я расскажу про новый параметр магнет ссылки.

br=192000

Как правильно качать в p2p сетях или магнит с битрейтом - 1
В магнет-ссылке он выглядит так.

magnet:?dn=pop_music.mp3...&br=192000

Этот параметр позволяет совместить преимущества последовательного и случайного выбора частей для загрузки. Назовем это «смешанный способ выбора частей». Тем самым давая возможность «онлайн» просмотра/прослушивания без ущерба для скорости загрузки.

Вычислить битрейт можно так

 br=[размер файла в байтах]*8 / [продолжительность аудио или видео в секундах]

Он будет больше битрейт потока аудио файла и больше суммы битрейтов потоков видео файла.

Вспомним какие способы загрузки существуют и далее что предлагаю я.

Битрейт тестового файла: 2.6 Mb/s

Последовательная загрузка.

Как правильно качать в p2p сетях или магнит с битрейтом - 2
Так загружаются видео и аудио файлы в интернете для просмотра онлайн во Flash и HTML5 плеерах. Файлы находятся на серверах которые в состоянии обеспечить скорость отдачи для комфортного просмотра каждому пользователю. В p2p сетях источником файла является компьютер рядового пользователя который не может обеспечить необходимой скорости для комфортного просмотра.

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

Достоинства:

  1. Можно смотреть/слушать сразу.

Недостатки:

  1. Медленная скорость загрузки.

Загрузка в случайном порядке.

Как правильно качать в p2p сетях или магнит с битрейтом - 3
Это стратегия выживания p2p сетей. Каждый пир запрашивает разные случайные части файла а потом обменивается этими частями с другими пирами что увеличивает скорость. Но поскольку части запрашиваются случайные то до окончания загрузки файл «рваный». При воспроизведении такого файла плеер будет проскакивать не загруженные части или зависнет на первом обрыве.

Достоинства:

  1. Высокая скорость

Недостатки:

  1. Файл воспроизводится кусками или зависает плеер.

Смешанный порядок

Как правильно качать в p2p сетях или магнит с битрейтом - 4
Файл загружается последовательно со скоростью достаточной для «онлайн» просмотра.

В случае недостатка скорости для комфортного просмотра файла «онлайн»(1) он загружается случайным образом. Если скорость загрузки достаточна включается смешанный режим (2)

Алгоритм:

1 Если (скорость загрузки файла меньше заданного битрейта)
	то файл загружается случайным порядком;
2 Иначе
	Если (скорость загрузки непрерывного участка от начала файла меньше или равна битрейту)
		то файл загружается последовательно;
	Иначе
		файл загружается случайно;

Достоинства:

  1. Высокая скорость
  2. Возможность онлайн просмотра без обрывов

Недостатки:

  1. Нет (относительно)

Данный режим я опробовал в своей версии клиента Shareaza. Реализовал его немного по другому. Во второй части вычисляется маркер воспроизведения (битрейт * время от начала загрузки / 8). Доступные части до маркера загружаются последовательно. Если доступны для загрузки части только после маркера то выбирается случайно.

Если вы хотите опробовать онлайн просмотр в Shareaza

Скачать эту версию Shareaza

Переключаем в оконный режим: в меню Вид сначала выбрать Режим опытных, а затем — уже сам Оконный режим.

Задать внешний плеер: в меню Инструменты нажать Настройки. В открывшимся окне выбираем пункт Проигрыватель. Раскрываем список Выбрать менеджер и нажимаем пункт (Пользовательский...). Далее ищем на диске VLC или любой другой плеер.

Тестовый магнит: big_buck_bunny_720p_stereo.ogg

Как начнётся загрузка открываем контекстное меню (правой кнопкой мыши) на загрузке и выбираем пункт Открыть.

Картинку с кроликом пришлось отфотошопить поскольку изображение в плеере принтскрином не копируется.

Автор: ivan386

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js