Есть ли способ предложить несколько видео качеств (разрешений) без загрузки нескольких видео в видеоплеере HTML5? - PullRequest
0 голосов
/ 19 мая 2019

Я пытаюсь добавить несколько видео на свой сайт, используя HTML5.Все мои видео 1080, но я хочу дать людям возможность смотреть в более низком качестве, если это необходимо.Могу ли я сделать это без необходимости загружать несколько видео (1 для каждого качества) без использования языка на стороне сервера?

Я интенсивно искал это.Никто не сказал, что это невозможно, но никто не сказал, что это тоже можно.Я использую Blogger в качестве своего хоста, поэтому я не могу использовать серверные языки.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 19 мая 2019

без использования серверного языка?

Да, конечно.Клиент может выбрать, какую версию видео загрузить.

Можно ли это сделать без загрузки нескольких видео (по одному для каждого качества)

Практически нет, нет,Вам нужно перекодировать это видео и загрузить эти разные версии.

Не нашли никого, кто сказал бы, что это невозможно сделать

Несколько вещей, которые следует учитывать ..Во-первых, видеофайл может содержать много потоков.Я не знаю, каково ваше отвращение к нескольким файлам, но да, возможно иметь несколько битрейтов видео в одном контейнере.Например, один MP4 может легко содержать видео со скоростью 768 кбит / с, видео со скоростью 2 Мбит / с и видео со скоростью 8 Мбит / с, при этом имея одну звуковую дорожку 256 кбит / с.

Для воспроизведения такого файла клиент (реализованный с помощью Media Source Extensions и Fetch API), необходимо знать, как анализировать контейнер и делать ранжированные запросы для определенных фрагментов из файла.Насколько мне известно, такого клиента не существует, так как нет особого смысла, когда вы можете просто использовать DASH и / или HLS.Браузер определенно не выполняет эту работу за вас.

Некоторые видеокодеки, такие как H.264, поддерживают концепцию масштабирования.Идея здесь в том, что вместо нескольких кодировок есть только одна, где дополнительные данные улучшают предыдущее видео, которое было отправлено.С этим механизмом связаны значительные накладные расходы, и вам придется выполнять еще больше работы.Мало того, что ваш код теперь должен понимать контейнер, но теперь он должен также обрабатывать используемый кодек ... и он должен делать это эффективно.

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

Редактировать: Теперь я вижу ваш комментарий о том, что проблема связана с местом для хранения.Вы действительно должны поместить эту информацию в свой вопрос, чтобы получить полезный ответ.

Обычно YouTube и другие люди транскодируют вещи заранее.Это особенно полезно для видео, которое получает тонну трафика, так как сегменты могут храниться в CDN с узлами, расположенными ближе к клиентам.Да, также возможно перекодировать по требованию.Вам нужно быстрое оборудование для этого.

0 голосов
/ 19 мая 2019

Нет.

Я не могу понять, как это вообще возможно.Имеете ли вы в виду?

Клиенты могут загрузить все или часть файла.Но для этого вам нужно каким-то образом загрузить только выбранные пиксели каждого кадра.Даже если бы вы знали, какие байтовые диапазоны каждого кадра были какими пикселями, накладные расходы, связанные с запросом каждого байтового диапазона, были бы больше, чем размер полного видео 1080p.

Каково ваше отвращение к хостингунесколько качеств?Это место для хранения или сложность / время конвертации?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...