2016-05-21 3 views
1

Я здание веб-сайт в течение некоторого времени, и я до сих пор застрял с этой штукой:Торнадо Python - Поток видео

хранить некоторые небольшие видео для моего сайта (~ 400MB примерно в лучшем случае). внутри базы данных dbm, и я хотел бы передать их на моем сайте.

Я строю обработчики запросов вручную, используя инфраструктуру python Tornado, и мне было интересно, как построить обработчик. Я никогда не видел, как работал медиа-поток, и не нашел много тем в Интернете.

Таким образом, полный результат, который я хотел бы получить, - это иметь веб-плеер на моем веб-сайте, где я могу запросить определенные видеоролики, а затем играть их без необходимости загружать весь файл в память/отправлять его по 1 запросу.

+0

[Запросы диапазона] (https://tools.ietf.org/html/rfc7233) –

ответ

1

Эти две ссылки:

  • One for Tornado only: это, кажется, использовать специальные аннотации.
  • One for Flask: хотя это пример движения JPEG, он показывает, как вы
    может возвращать функцию, которая выполняет цикл while в качестве ответа.

Появляются ответы на которые вы ищите. И угадай что? И я тоже!

Обратите внимание, что оба используют ключевое слово yield в python. Мне непонятно, нужны ли в примере фляги «сопрограммы» и «асинхронные» декораторы (другими словами, неясно, завершен ли приведенный в ссылке пример), хотя он буквально написал книгу об этом , поэтому я подозреваю, что это так).

Остерегайтесь: тесты показывают, что tornado.web держится за файл ENTIRE во время загрузки, даже если вы его передаете (то есть читаете, пишите, скрываете, читаете ...). Причина этого непонятна, и мне еще предстоит найти способ обойти это.

Смежные вопросы