HTML5

Итак, с моего веб-сервера я хотел бы использовать FFMPEG для перекодирования медиа-файла для использования с HTML или тег. Достаточно просто, верно?

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

Это было бы хорошо, за исключением того, что в современных браузерах тег HTML5 audio или video запрашивает мультимедийный файл в нескольких HTTP-запросах с заголовком Range . Подробности см. В этом вопросе .

В этом вопросе, связанном выше, вы можете видеть, что Safari запрашивает странные куски файла, включая последние несколько байтов. Это создает проблему, заключающуюся в том, что веб-сервер ДОЛЖЕН ждать завершения преобразования, чтобы доставить последние байты файла, чтобы он соответствовал запросу Range .

Поэтому мой вопрос таков: мой ход мыслей правильно? Есть ли лучший способ доставки транскодирующего контента в тег или , который бы не включал ожидание завершения всего преобразования? Заранее спасибо!

20
задан Community 23 May 2017 в 12:09
поделиться