@Tanati

Как открыть и запустить видео файл из rar/zip архива не сохраняя его на жестком диске, а сразу помещая его в оп?

В программе создаётся проигрыватель
self.mplPlayer = QtMultimedia.QMediaPlayer()
mc = QtMultimedia.QMediaContent(QtCore.QUrl.fromLocalFile(file_name))
self.mplPlayer.setMedia(mc)
и т.д.
file_name - avi файл, находящийся в zip/rar архиве. Он извлекается из архива, записывается на жёсткий диск и запускается. Затем удаляется. Всё работает. Как запустить его в проигрывателе без предварительного сохранения на жёстком диске?
  • Вопрос задан
  • 113 просмотров
Решения вопроса 1
@rPman
Для стремингового видео доступен вариант, когда вы извлекаете файл и поток отправляете проигрывателю (пусть будет stdin/stdout или системные пайпы), но в вашем случае это avi, к сожалению для его воспроизведения требуется случайный доступ к файлу (проигрыватель считывает конец файла, как я понимаю там размещается индекс), единственный способ для этого, - реализовать веб-сервер, отдающий запрашиваемые участки файлов.

В случае с архивом вам будет очень неэффективно постоянно его распаковывать, так как случайный доступ в пределах файла так же не поддерживается (чтобы получить конце файла нужно начать распаковывать с начала).

p.s. держать мультимедиа в zip архивах абсолютно бессмысленное дело, так как они не сжимаются
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы