SAR и анаморфное видео¶
media.transcode.sar
Что определяет SAR¶
Sample Aspect Ratio (SAR) — отношение ширины отсчёта изображения к его высоте. При SAR 1:1 пиксели квадратные; при другом отношении видео анаморфное. Плеер учитывает SAR при показе.
- Растр — размер закодированного кадра, например 720×576.
- SAR — форма пикселя, например 64:45.
- DAR — пропорции изображения на экране:
(ширина растра / высота растра) × SAR.
Например, 720×576 с SAR 64:45 отображается как 1024×576 (16:9). SAR 16:11 для того же растра даёт ширину около 1048: это другое соглашение об активной области PAL. Эти дроби не взаимозаменяемы.
Как SAR взаимодействует с изменением размера¶
Входной SAR описывает источник. Стратегия resize определяет, как вписать, обрезать или растянуть изображение. Явный выходной SAR определяет растр для полученного экранного размера. Изменение только SAR сохраняет экранные пропорции и пересчитывает растр; это перекодирование, а не исправление метаданных без обработки изображения.
Для источника 720×576 с SAR 64:45 и H.264:
| Ресайз | Выходной SAR | Растр | Экранный размер |
|---|---|---|---|
| Нет | Автоматически | 720×576 | 1024×576 |
| Нет | 1:1 | 1024×576 | 1024×576 |
| Нет | 16:11 | 704×576 | 1024×576 |
| Fit, высота 360 | Автоматически | 450×360 | 640×360 |
| Fit, высота 360 | 1:1 | 640×360 | 640×360 |
| Fit, высота 360 | 4:3 | 480×360 | 640×360 |
Погрешность до нескольких пикселей возможна из-за округления растра до чётных размеров. При SAR меньше единицы Sapsan уменьшает высоту растра вместо увеличения ширины.
При явном SAR ширина и высота resize описывают экранную рамку:
- Fit — сохраняет всё изображение и при необходимости добавляет поля.
- Crop — обрезает по центру.
- Scale — растягивает до рамки.
Например, Scale 640×480 с SAR 4:3 даёт растр 480×480 и показ 640×480: вход 16:9 растянется до 4:3.
В режиме Auto H.264/HEVC без resize, с Fit или Crop сохраняют входной SAR. У Scale размеры задают растр: для анаморфного источника SAR пересчитывается с сохранением DAR; для квадратного входа остаётся 1:1 и возможно растяжение. Поэтому переключение Auto на явный SAR при том же Scale может изменить результат.
Настройка и проверка¶
В консоли Mcaster откройте качество транскодера, нажмите Ещё и задайте Форма пикселя (SAR). Подробные шаги и снимки — в инструкции Mcaster.

Настоящее качество H.264: SAR 16:11, без resize; источник 720×576, SAR 64:45, выход 704×576, SAR 16:11.
В API настройка задаётся полем transcoder.output[].params.video.sar:
{"sar": {"width": 16, "height": 11}}
Отсутствие поля означает Auto; явное 1:1 задаёт квадратные пиксели. Для возврата в Auto удалите поле; при JSON Merge Patch передайте sar: null. Компоненты дроби — целые числа от 1 до 65535.
Массив transcoder.output при PATCH заменяется целиком: передавайте все его качества, включая остальные параметры; адресовать элемент массива отдельным патчем нельзя.
В статистике дорожки width и height описывают размер отображения, pixel_width и pixel_height — растр, sar_width и sar_height — SAR. Совпадающий с экранным растр и единичный SAR могут быть опущены: тогда используются экранные размеры и 1:1. Предпросмотр лестницы в консоли показывает экранные размеры и заданный SAR, а не фактически закодированный растр.
Ограничения и учёт использования¶
- Перекодирование — явный SAR требует выходного кодека; проброс
sameс SAR отклоняется. - AV1 и JPEG 2000 — допускают Auto или квадратный SAR.
- MPEG-2 — допускает только SAR, представимый через поддерживаемый DAR при выбранном растре.
Также отклоняется дробь, при которой сторона растра становится меньше двух пикселей.
Позиция media.transcode.sar учитывается по стримам: хотя бы одно качество с явным SAR, включая 1:1, даёт одну единицу. Несколько качеств не увеличивают число. Auto и входной анаморф без явной настройки не учитываются. Телеметрия передаёт текущее число как usage.media_transcode_sar; ноль опускается. Это отдельная позиция от кодирования видео media.transcode.video.