Вы говорите о файле .avi в архивах rar. Вы уверены, что архивы на самом деле сжаты? Видеофайлы, выпущенные сценой warez, не используют сжатие:
Разорванные фильмы все еще упакованы из-за большого размера файла, но сжатие запрещено, а формат RAR используется только как контейнер. По этой причине современное программное обеспечение для воспроизведения может легко воспроизводить выпуск непосредственно из упакованных файлов и даже передавать его в потоковом режиме по мере загрузки релиза (если сеть достаточно быстрая).
(Я думаю, VLC, BSPlayer, KMPlayer, Dziobas Rar Player, rarfilesource, rarfs, ...)
Вы можете проверить сжатие следующим образом:
- Откройте первый архив .rar в WinRAR. (name.part01.rar или name.rar для имен томов старого стиля )
- Нажмите кнопку информации.
Если Версия для извлечения указывает на 2.0, то архив не использует сжатие. (если у вас десятилетние рары) Вы можете видеть Общий размер и Упакованный размер будет равен.
можно ли его извлечь
отдельные файлы при их загрузке?
Да. Если сжатие не используется, вы можете написать собственную программу для извлечения файлов. (Я знаю человека, который написал сценарий для прямой загрузки фильма из внешних rar-файлов; но он не является общедоступным, и у меня его нет.) Поскольку вы упомянули Python, я предлагаю вам взглянуть на rarfile 2.2 Марко Крин, как сделал автор pyarrfs . Архив - это просто файл, добавленный в заголовки (rar-блоки). Это будет операция копирования, которую необходимо приостановить до загрузки следующего архива.
Я твердо верю, что это также возможно для сжатых файлов. Ваш подход здесь будет другим, потому что вы должны использовать unrar для извлечения сжатых файлов. Я должен добавить, что существует также бесплатная реализация RARv3 для извлечения rars, реализованная в Unarchiver.
Я думаю, что этот параметр для (un) rar сделает возможным:
-vp Pause before each volume
By default RAR asks for confirmation before creating
or unpacking next volume only for removable disks.
This switch forces RAR to ask such confirmation always.
It can be useful if disk space is limited and you wish
to copy each volume to another media immediately after
creation.
Это даст вам возможность приостановить извлечение до загрузки следующего архива.
Я считаю, что это не сработает, если rar был создан с включенной опцией 'solid'.
Если для rars используется сплошная опция, все упакованные файлы обрабатываются как один большой поток файлов . Это не должно вызывать проблем, если вы всегда начинаете с первого файла, даже если он не содержит файл, который вы хотите извлечь.
Я также думаю, что это будет работать с архивами с паролем.