Перейти к содержимому

Какой MP4 выбрать из поста X

X публикует одно и то же видео в нескольких MP4-версиях. Часто они совпадают по разрешению и различаются битрейтом, поэтому верхняя строка списка — не всегда то, что вам нужно.

Вставьте ссылку на пост — и вы получите версии видео в том порядке, в каком их перечисляет X, от большего разрешения к меньшему. Этот порядок — отправная точка, а не приговор: разрешение — лишь размер кадра, и два файла одного размера кадра могут колоссально различаться объёмом данных на каждую секунду картинки.

Что читает резолвер

X не требует входа для этого. Резолвер запрашивает публичный эндпоинт синдикации X (cdn.syndication.twimg.com/tweet-result) для поста, используя ту же схему подписанного токена, что и встраиваемая лента. Ответ несёт текст поста, его автора и массив videos со всеми MP4-версиями, которые X для него хранит.

Сохраняются только видео и GIF. В X анимированный GIF отдаётся как файл MP4, поэтому пост с GIF скачивается как видео без звука — ровно то, что хранила платформа. Посты, где единственное видео — прямой эфир, или где X вообще не возвращает смикшированный MP4, отвечают no_video.

Как строятся подписи

Последний пункт важен. Версии X — не гладкая лестница: пост может нести файл 1280 пикселей с низким битрейтом и файл 720 пикселей с куда более высоким. Более широкий файл крупнее на экране; меньший может выглядеть лучше в движении, потому что на каждый пиксель тратится больше бит.

Наглядное сравнение

СтрокаКадрДля чего годится
1280×720 при низком битрейтеШирокий кадр, мало данных на пиксельЭкраны, где нужен полный кадр и можно принять мягкое движение.
720×720 при высоком битрейтеКвадратный кадр, много данных на пиксельБолее чистое движение и детали, но меньшая картинка.
480×270 (мобильная нарезка)Маленький кадрЕдинственная версия у некоторых старых постов; примите размер или пропустите.

Практическое правило: выбирайте самую широкую строку, если только она заметно не выглядит кашей по сравнению со следующей. Сомневаетесь — скачайте две и сравните размеры файлов: файл вдвое тяжелее при половинном размере кадра тратит биты на движение и детали.

Почему скачивание — переход, а не прогресс-бар

Файлы видео живут на video.twimg.com, который не отправляет заголовки CORS для такого запроса. Поэтому страница не может прочитать байты скриптом, и кнопка скачивания открывает ссылку CDN напрямую, а файл сохраняет ваш браузер. Плюс в том, что ничто из видео не проходит через этот сайт; минус — нет счётчика процентов.

Что скачать нельзя

Закрытые аккаунты, удалённые посты и посты с возрастным ограничением возвращают ошибку, потому что сам X скрывает их от анонимных читателей. Резолвер никогда не входит в аккаунт и не обходит это. URL video.twimg.com тоже нельзя вставить сами по себе: резолвер начинает со ссылки на пост, поскольку только полезная нагрузка поста называет версии.

Коротко

Вопросы

Почему верхняя строка выглядит не лучшей?

Потому что список отсортирован по ширине кадра, а более широкий кадр не обязательно тяжелее. Если меньшая строка несёт больше бит на пиксель, она может выглядеть чище в движении. Сравните размеры файлов, прежде чем считать верхнюю строку победителем.

Можно ли скачать видео из закрытого аккаунта X?

Нет. X не показывает закрытые посты анонимным читателям, а этот инструмент не входит в аккаунт и не обходит это. Разрешаются только публичные посты.

Почему для скачивания из X нет прогресс-бара?

`video.twimg.com` не отправляет заголовки CORS, поэтому страница не может прочитать байты видео. Кнопка ведёт по ссылке CDN, и файл скачивает ваш браузер сам.

Инструменты в этой статье

Все статьи