Можно ли использовать URI данных в видео и аудио тегах?

Предполагая следующее:

  1. Браузер, о котором идет речь, не ограничивает размер URI данных.
  2. На самом деле есть цель сделать это (пожалуйста, воздержитесь от вопроса «в чем смысл?» И «вы понимаете, что кодировка base64 расширит ваш файл на 33%, верно?»).

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

Это должно быть возможно, за исключением IE8 и ниже, что не поддерживает аудио / видео элементы. Обратите внимание, что Opera ограничивает размер URI.

Это мои результаты теста. Я попробую с Ogg, если будет предложено.

легенда

  • W = Wave, WD = Волна с кодированными base64 данными: uri
  • M = MP3, MD = MP3 с кодировкой base64: uri

Результаты теста

  • Chrome 6.0.472.55: M, MD (без волн)
  • Firefox 3.6: W, WD (нет mp3: s)
  • Firefox 4.0b1: W, WD (нет mp3: s)
  • iPad iOS 3.2: W, M (нет данных: uri)
  • iPhone iOS 4: W, M (нет данных: uri)
  • Opera 10.62: W, WD (нет mp3: s)
  • Safari 5.0.1: W, WD, M, MD

IE9 поддерживает это, но только для поддерживаемых форматов файлов. Например, он работает для файлов MP3, но он не будет работать для файлов WAV. Пробовал http://www.themaninblue.com/experiment/JS-909/ и следующий тест:

         

Вероятно, это связано с тем, что IE9 не поддерживает формат WAV в своем аудиоэлементе. К настоящему времени поддерживается только MP3. Я очень надеюсь, что они изменят это в версии RTM.

Для чего это стоит, я смог получить большой (14 МБ) mp4 uuencoded и играть как uri данных в OSX Safari, но не в Chrome. Все еще есть больше испытаний, чтобы делать с меньшими кусками, как только я нахожу их.

Также стоит проверить API MediaSource HTML5. Он пока еще не поддерживается, но позволяет добавлять произвольные байты для воспроизведения мультимедиа.

http://html5-demos.appspot.com/static/media-source.html

  • не работает в IE10
  • Как получить тип ввода HTML 5 = «дата», работающий в Firefox и / или IE 10
  • Другое: принудительно Chrome полностью загружать mp4-видео
  • Почему мой Transform привязывается назад?
  • Разница между шириной: 100% и шириной: 100vw?
  • Обнаруживать, когда видео HTML5 заканчивается
  • Как нарисовать трапецию / трапецию с css3?
  • Размещение внутри
  • Программно воспроизводить видео со звуком в Safari и Mobile Chrome
  • как поделиться видео с моего сайта на facebook, как youtube
  • Включить теги HTML5 на Eclipse
  • Interesting Posts

    Что такое NSNotification?

    Хорошее экранное приложение линейки для Windows?

    Код ошибки: «Microsoft Security Client» появляется при входе в мои окна 10

    Как использовать веб-шрифты на законных основаниях?

    Каков наилучший способ установить регистр в ноль в сборке x86: xor, mov или или?

    Почему ++ i ++ дает «L-значение требуемой ошибки» в C?

    Matlab: запуск m-файла из командной строки

    Как тег отличается от ветки в Git? Что я должен использовать здесь?

    PCIE для USB / Thunderbolt для видеокарты

    Как я могу получить управление + стрелка влево, чтобы вернуться к одному слову в iTerm2?

    Что делает объект jQuery отображаться как массив в инструментах разработчика Chrome?

    Что эквивалентно корню в Windows 8.1 и как я могу открыть оболочку в этом контексте?

    pygame platformer – Как я могу сделать нижнее твердое тело?

    Будет ли redirect 302 поддерживать строку-референт?

    Hibernate: Как установить значение параметра NULL-запроса в HQL?

    Давайте будем гением компьютера.