Загрузить файл
  1. base64hub
  2. Инструменты для файлов
  3. MP4 в Base64

MP4 в Base64

Перетащите MP4 и скопируйте URI data:video/mp4;base64, или чистый Base64 для JSON-запроса. Плеер в превью подтвердит, что ролик тот, а счётчик покажет, какой длины будет строка.

Бесплатно без регистрации и ограничений Локально ничего не загружается Обновлено 27 окт. 2026 г.
Перетащите файлы сюда, вставьте или выберите их
Ввод –Результат –Размер –

Обработка идёт в браузере. Эта страница не может никуда отправить ваши данные – откуда мы это знаем

Как конвертировать MP4 в Base64

  1. Перетащите файл .mp4 в поле или выберите его через диалог.
  2. Воспроизведите его в превью. Если здесь он не играет, то и из data URI в этом браузере, скорее всего, не заиграет.
  3. Для тегов <video> оставьте в Формат вывода вариант Data URI, а для API выберите Чистый Base64 или JSON.
  4. Нажмите Скопировать результат или, для больших файлов, Сохранить как .txt.

Длина в Base64 для разных битрейтов

Размер MP4 примерно равен битрейту, умноженному на длительность. Для ролика в 10 секунд:

Общий битрейтРазмер файлаДлина Base64
0,5 Мбит/с625 000 байт833 336 симв.
1 Мбит/с1 250 000 байт1 666 668 симв.
2,5 Мбит/с3 125 000 байт4 166 668 симв.
5 Мбит/с6 250 000 байт8 333 336 симв.

Записи с телефона часто идут с битрейтом 10 Мбит/с и выше, так что уже десять секунд такого видео без обработки дают больше 16 миллионов символов. Сначала перекодируйте ролик в меньшее разрешение и битрейт; проверенная команда ffmpeg для этого есть на странице Видео в Base64.

Бренд ftyp в первых символах

Первый блок MP4 объявляет основной бренд, который сообщает плеерам, какой спецификации следует файл. Его видно в Base64:

БрендЧто означаетBase64 (блок ftyp в 32 байта)
isomбазовый медиафайл ISO, общий бренд (по умолчанию в ffmpeg)AAAAIGZ0eXBpc29t
mp42MP4 версии 2AAAAIGZ0eXBtcDQy
M4Vвариант видео MP4 от AppleAAAAIGZ0eXBNNFYg
qtфильм QuickTime (.mov)AAAAIGZ0eXBxdCAg

Пятый символ меняется вместе с размером блока (G для 24 байт, H для 28, I для 32), поэтому код распознавания должен искать GZ0eXB после первых пяти символов. Бренд qt значит, что перед вами фильм QuickTime с расширением .mp4; он может и воспроизводиться, но если получатель проверяет тип, указывайте video/quicktime.

Встраивание и отправка

Короткий зацикленный ролик без звука в самодостаточной HTML-странице:

<video autoplay muted loop playsinline src="data:video/mp4;base64,AAAAIGZ0eXBpc29tAAACAGlzb21p..."></video>

Отправка ролика в JSON-запросе из Node.js:

import { readFile } from "node:fs/promises";

const video = await readFile("clip.mp4");
const body = JSON.stringify({
  mimeType: "video/mp4",
  data: video.toString("base64"),
});

Имена полей здесь условные; используйте те, что указаны в документации вашего API. Подробнее в статье Base64 в Node.js.

Проблемы, с которыми можно столкнуться

  • Data URI играет в Safari, но не в Chrome или Firefox. Скорее всего, видеодорожка в HEVC. Перекодируйте в H.264.
  • Страница зависает при загрузке. Браузер разбирает огромную строку. Data URI больше нескольких мегабайт лучше заменить URL файла или Blob URL.
  • Получатель говорит, что файл повреждён. Сравните длину после декодирования с исходным размером файла в счётчике: у обрезанной строки пропадает конец файла, а многие MP4 хранят там свой индекс. Base64 в MP4 покажет, воспроизводится ли декодированный ролик.

Вопросы и ответы

Почему Base64 моего MP4 начинается с AAAA?

MP4 начинается с размера первого блока, ftyp, записанного 4-байтовым числом. У любого обычного заголовка первые три байта нулевые, а нулевые байты кодируются в A. Дальше идут имя блока ftyp и бренд, например AAAAIGZ0eXBpc29t для бренда isom.

Будет ли MP4 из data URI воспроизводиться во всех браузерах?

Да, если видео в H.264, а звук в AAC. MP4 с HEVC (H.265) воспроизводятся в Safari и лишь в некоторых других браузерах, в зависимости от системы. Сам по себе контейнер воспроизведение не гарантирует.

Как отправить MP4 в API в виде Base64?

Выберите Чистый Base64, если в документации API не сказано про data URI, и укажите тип video/mp4. Сверьте лимит размера в API с длиной после кодирования: она на треть больше файла.