Java+Kotlin=Love
Site about programming in Java, its features and surprises with examples of coding.
Последовательное скачивание файлов торрент-клиентом
Часто при скачивании торрент-файлов возникает желание, чтобы торрент-клиент производил скачивание не хаотически, а последовательно, чтобы можно было оценить медиа-продукт в самом начале его скачивания, а не тратить на это драгоценный трафик и более драгоценное время. Все это можно устроить, сделав дополнительные настройки для известных торрент-клиентов BitTorrent (uTorrent и т.п. они все друг на друга похожи).
Если просмотреть дополнительные настройки (Настройки=>Настройки программы=>Дополнительные настройки) у программ-клиентов, работающих с торрент-файлами, то можно обнаружить список некоторых настроек (опций), доступ к которым через GUI программы невозможен. Среди них и опции: bt.sequential_download и bt.sequential_files.
bt.sequential_download
Эта опция указывает торрент-клиенту скачивать файлы последовательно, но части файлов при этом скачиваются по-прежнему хаотично. Торрент-клиент сам расставляет приоритеты файлов: текущий скачиваемый файл устанавливается в высокий приоритет, остальные не скачанные в очереди — в низкий. При этом торрент-клиент «позволяет себе» скачивать части файлов и с низким приоритетом. В общем, работает как обычно, но устанавливает текущему скачиваемому файлу высокий приоритет . Изменять приоритет еще не скачанных файлов невозможно, мы можем лишь отключить скачивание.
bt.sequential_files
Эта опция указывает торрент-клиенту скачивать как файлы, так и части файлов последовательно. Изменение приоритета доступно, но эффекта не дает. Мы можем лишь отключить скачивание определенного файла.
Процедура добавления опций к файлу настроек торрент-клиента
Для включения опций bt.sequential_download и bt.sequential_files нужно добавить их «в корень» настроек в файл: %APPDATA%\uTorrent\settings.dat
Сделать это можно с помощью программы BEncode Editor для редактирования .torrent файлов (внутренний формат settings.dat также использует Bencode-кодирование). Лучше всего программу BEncode Editor.exe скопировать в корневую папку торрент-клиента и запустить прямо оттуда.
Открываем файл настроек settings.dat и добавляем интересующую нас опцию.
Добавляем в «корень» «дерева» настроек нужную опцию, выбираем для неё тип значения Integer, значение «1».
Важно! Изменения нужно производить при выключенном торрент-клиенте, потому что:
- Его все равно нужно перезапустить, чтобы применить настройки;
- При завершении работы торрент-клиент перезаписывает файл settings.dat.
Обратите внимание: в начале setting.dat имеется важный ключ .fileguard. В нём находится контрольная сумма всей базы данных.
После редактирования настроек и перед сохранением setting.dat этот ключ нужно обязательно удалить, чтобы торрент-клиент, при перезаписи setting.dat заново восстановил ключ контроля с правильным значением.
После редактирования и удаления ключа контроля следует сохранить файл setting.dat.
В результате добавления опции bt.sequential_files ваш торрент-клиент начнет загружать блоки в файлах последовательно. Если ваш плеер (например KMPlayer или VLC плеер) поддерживает возможность просмотра недокачанных файлов — сможете просматривать фильм в процессе скачивания.
Примечание 1: Если вы хотите, чтоб настройки распространялись только на некоторые файлы, разумней всего будет запускать две копии программы или два разных торрент-клиент. Для запуска второй копии торрент-клиента нужно скопировать настройки, например, для uTorrent: %AppData%\uTorrent и сам файл uTorrent.exe в любое удобное место и запускать его ярлыком с ключом /RECOVER. Для того чтоб быстро различать клиенты в одном из них можно поменять иконку, которая будет в трее.
Примечание 2 : Некоторые пользователи, не понимая, как работает BitTorrent, требуют, чтобы файлы всегда загружались последовательно. Вот почему это очень… плохо:
- Это угрожает работе небольших групп пиров из-за низкой доступности определенных частей файла.
- Это сильно ограничивает набор пиров, заинтересованных друг в друге, тем самым уменьшая общее и локальное быстродействие.
- Это уменьшает скорость загрузки частей, расположенных в конце каждого файла, из-за более низкой его доступности.
Кое-кто может возразить, что на очень активных раздачах с большим количеством пиров это не проблема. Но если данную возможность сделать доступной официально и «по умолчанию», то она будет использоваться чаще и этим ухудшит ситуацию в целом в торрент-сообществе. (Wiki.torrent)
Как в qbittorrent загружать файлы по очереди
Самая важная функция торрентов, помимо собственно файлообмена, — это последовательное скачивание файлов.
В процессе обмена торрент-клиент сам выбирает фрагменты файлов для приема и передачи, обычно исходя из информации об их доступности. На практике это приводит к загрузке фрагментов в случайном порядке.
Порядок загрузки не имеет значения, если вы скачиваете фильм на медленном соединении. Или программу. Или образ диска операционной системы. Но если у вас быстрый интернет, и двухчасовой фильм скачается за час, не получится ли загружать фрагменты фильма последовательно и сразу отправлять их в плеер? Тогда начинать просмотр можно сразу, не дожидаясь полной загрузки файла.
Пионер технологии uTorrent
Впервые подобная функция под названием streaming появилась в uTorrent версии 3.0. Он скачивал подряд несколько первых фрагментов и умел отдавать их через встроенный сервер потокового видео. Просматривать это потоковое видео можно было через плеер VLC. По мере просмотра зона последовательной предзагрузки продвигалась вперед, чтобы обеспечить систему достаточным для воспроизведения набором данных.
Интуиция подсказывает, что сложная схема с участием торрентокачалки, встроенного в нее сервера потокового видео и плеера VLC может заработать не так, как ожидается. И практика эти опасения подтверждает.
Во-первых, видео часто подтормаживало. Причина в ограниченном размере области предзагрузки. После ее заполнения программа переходила к загрузке остальной части файла в случайном порядке. И если по мере просмотра какой-то фрагмент для предзагрузки запрашивался со слишком медленного клиента, он не успевал загрузиться вовремя.
Увеличение области предзагрузки означало и увеличение времени ожидания перед началом просмотра.
Во-вторых, в этой схеме не работает перемотка видео. Вы что-то не расслышали? Вернуться на 10 секунд назад не сможете. И было бы не так страшно, если бы перемотку в принципе отключили. Но при попытке перемотать видео оно сбрасывалось к началу, что особенно печально, если вы уже посмотрели половину фильма. После сброса спасало проигрывание просмотренного фрагмента на большой скорости. Либо ожидание полного скачивания.
Потом я сообразил, что можно запустить два плеера одновременно: VLC на большой скорости без звука, чтобы обеспечить последовательную загрузку данных, и обычный плеер с незавершенным файлом. И, наконец, я выставил в параметрах мю-торрента размер области предзагрузки заведомо больше размера файла (параметр streaming.min_buffer_piece), чтобы она никогда не заполнялась.
- запускаешь торрент на скачивание;
- нажимаешь на кнопку «Поток»;
- открываешь файл в обычном плеере.
На втором шаге, благодаря завышенному размеру области предзагрузки, VLC никогда не запускался, а файл загружался последовательно. На самом деле схема чуть сложнее, потому что из-за какого-то бага на кнопку «Поток» приходилось нажимать дважды. Первого раза недостаточно, если в момент нажатия не скачался первый фрагмент.
Я использовал такую схему несколько лет. Но в прошлом году вышла версия мю-торрента 3.4, из которой потоковый просмотр фильмов по мере загрузки выпилили. Причем не до конца: пустое место от кнопки «Поток» реагировало на нажатие и запускало потоковую загрузку! Но из-за отключенной возможности регулировать размер области предазгрузки большой пользы в этом не было.
Нормальная реализация в qBittorrent
Некоторое время я использовал предыдущую версию с выключенными обновлениями. Но, настраивая новый ноутбук, я подумал, что пляски с бубном вокруг мю-торрента должны закончиться. Изучил аналоги и нашел программу qBittorrent. Она не такая навороченная, как мю-торрент. Но мне ее возможностей достаточно. И честная последовательная загрузка включена в штатные функции и доступна без дополнительной настройки.
При последовательной загрузке торрентов не надо ждать окончания загрузки фильмов, если у вас быстрый интернет и если на торренте несколько сидов. Когда торрент раздается одним сидом (сразу после публикации), скорость загрузки определяется его исходящим каналом, и последовательное скачивание не поможет быстро начать смотреть видео.
А как вы скачиваете фильмы? Используете последовательную загрузку? Будете ли использовать?
Последовательное скачивание в uTorrent за 2 клика
Прочитав публикацию «uTorrent на страже online просмотра», был удивлен, что до сих пор не опубликован способ включить возможность последовательного скачивания файлов, не прибегая к дополнительному софту вроде BEncode Editor, а просто и быстро — буквально за два клика.
Итак:
Включаем последовательную загрузку частей файлов и последовательную загрузку файлов из списка торрента.
1. Загружаем uTorrent.
2. Зажимаем комбинацию клавиш [Shift]+[F2], не отпускаем клавиши.
3. Щелкаем с зажатыми клавишами [Shift]+[F2]: Options -> Preferences -> Advanced.
Видим настройки uTorrent с уже открытыми для изменения параметрами bt.sequential_download и bt.sequential_files
4. Меняем значение первого параметра на true — и получаем последовательное скачивание частей файлов — именно это нужно для просмотра фильмов в то время, как они загружаются. Если душе угодно — меняем значение второго параметра также на true — и получаем последовательное скачивание файлов в списке торрента (а это полезно для загрузки, например сериалов — серии будут загружаться по порядку, начиная с первой.
Приятного просмотра и все такое.
Проверено на версии uTorrent для Windows 3.4.2.
Работает ли под Unix — милости прошу сообщить в комментариях.
- последовательное скачивание
- последовательная загрузка торрента
- utorrent
Как качать много файлов из торрента по порядку?
в торренте у меня список файлов (много, штук 300 по 400 Мб каждый) как настроить клиент, чтобы он качал файлы по порядку 1-2-3-4 автоматически? в uTorrent таких опций не нашел, может подскажете какой альтернативный клиент?
- 1гб/c, зачем он нужен?
- Загадочна проблема с доменом
- Ссылка на главную страницу при перелинковке
24 сентября 2010, 11:53
Все просто, там есть настройка «ограничение одновременной закачки файлов», ставите там единичку (1), и в таком случае файл будет закачиваться только один, а остальные в очереди.
(Настройки — Очередность — Максимом загружаемых файлов)
Используя различные номера файлов, можно выстраивать очередь.