Поддерживаемые per-URL параметры
Параметры URL переопределяют ваши дефолтные настройки отдачи контента для каждой конкретной ссылке URL. Использование параметров URL не обязательно, но является важным аспектом безопасности и дает возможность тонкой настройки взаимодействия с пользователями.
Рекомендуем задать нужные значения в соответствующие глобальные (или подоменные) настройки, а не в каждый URL отдельно.
По умолчанию допускается использование всех поддерживаемых параметров. Их можно выборочно заблокировать через соответствующую глобальную (либо подоменную) настройку, но если используется проверка подписи URL, в блокировке нет смысла, так как при изменении в ссылке заданных параметров, подпись URL станет недействительной и пользователь не получит доступа к контенту.
Параметры URL передаются блоками в формате/name=value/
.
Например: http://example.org/parameter1=value1/parameter2=value2/path/to/file.mp4`
Иногда браузеры (или плееры в браузере) некорректно обрабатывают комбинацию со знаком “=”, потому в качестве разделителя имени и значения параметра допускается символ “_” всюду вместо “=”, но не оба попеременно.
Значение параметра определяется CDN, в порядке спадания приоритета, — в URL, параметрах файла, настройках конкретного домена, или глобальных настройках аккаунта. Проверка осуществляется до первого присутствующего значения.
Например: Если в ссылке не задана скорость отдачиhttp://cdn.domain.com/key=123456/buffer=123456/path/to/file.mp4
, в настройках домена cdn.domain.com
указана скорость 130% битрейта, а в настройках вашего аккаунта — скорость 120% битрейта, то CDN будет отдавать видео со скоростью 130% битрейта.
параметр | /key=KEY_VALUE[,option1[,option2,..]/ |
пример ссылки | http://cdn.domain.com/key=9CVHszhqqsA,end=1374068216/1/2/3.mp4 |
Этот параметр не переопределяет настройки отдачи, а содержит значение подписи URL, позволяющее убедиться, что ссылка, по которой пользователь запрашивает ваш контент, получена в исходном виде — с неизмененными путем к файлу и настройками отдачи.
Подпись формируется хешированием части URL с помощью алгоритма MD5 на основе base64. Далее по ссылке вы можете ознакомиться с примером скрипта генерации подписи URL и воспользоваться им для формирования подписей URL.
Параметр key учитывается при включенной проверке подписи URL и игнорируется, при отключенной.
Чтобы задать “белый список” адресов, для которых не будет проверяться подпись URL, обратитесь в техподдержку.
Значения всех параметров, указанных до (слева от) параметра /key=../
, сбрасываются.
Например, для URL /speed=0/key=KEY_VALUE/path/to/file.mp4
значение /speed=0/
будет проигнорировано).
По умолчанию подписывается вся часть URL после KEY_VALUE, включая все дополнительные опции параметра /key=../
.
Например, для URL /key=KEY_VALUE,end=1701234567,limit=3/speed=1.3/path/to/file.mp4
подписываемым значением будет строка “,end=17123123,limit=3/speed=1.3/path/to/file.mp4
”.
/key=../
Опции с их значениями перечисляются через запятую после значения KEY_VALUE в произвольном порядке.
опция | /key=KEY_VALUE,begin=123456789/ |
пример ссылки | http://video.com/key=LePgDoTB7PDqCBQsRxa92w,begin=1987654321/output.mp4 |
Опция begin задает время в формате UNIX-timestamp, до наступления которого подпись не будет считается действительной. Таким образом пользователь не сможет получить доступ к файлу раньше заданного вами времени.
опция | /key=KEY_VALUE,end=1701234567/ |
пример ссылки | http://video.com/key=LePgDoTB7PDqCBQsRxa92w,end=1987654321/output.mp4 |
Опция end задает время в формате UNIX-timestamp, после наступления которого подпись станет недействительной. Таким образом можно ограничить срок действия ссылки, после наступления которого доступ к файлу по ней будет невозможен.
опция | /key=KEY_VALUE,ip=ip_prefix1[;ip_prefix2,..]/ |
пример ссылки | http://video.ahcdn.com/key=yP5e7rTfBrgPLhuDzCBg,end=1987654321,ip=1.2.3.4/output.mp4 |
Опция ip привязывает URL к указанному префиксу IP. С помощью этого параметра вы можете ограничить пул IP-адресов, которые смогут воспользоваться ссылкой.
Префикс может определять как IP-адрес полностью, так и его начальную часть. Для IPv4 часть префикса ограничивается символом ‘.’, а для IPv6 — ‘:’ .
Например: для IP ‘10.20.30.40’ можно указать префикс ‘10.20.30’, но не ‘10.20.3’.
Вы можете задать и несколько префиксов IP, разделенных символом ‘;’. Запрос будет запрещен, если IP, с которого он осуществлен, не покрывается ни одним из указанных префиксов.
Например: ip=1.2;1.3
пропустит запросы с 1.2.3.4 и 1.3.4.5 , но не пропустит с 1.23.4.5 , а ip=1.2;2a02:b48
пропустит запросы с 1.2.3.4 или 2a02:b48::1 , но не пропустит с 2a02:b480::1
Обратите внимание — параметр ip игнорируется CDN, если запрос от пользователя пришел с правильным значением реферера. Считается, что при хотлинке подделать реферер сложно, потому при правильном реферере вам выгоднее разрешать запросы с неправильных IP, сохраняя трафик.
опция | /key=KEY_VALUE,limit=3/ |
пример ссылки | http://video.com/key=UsijXw8tJK60yTBLu6wsyA,end=1987654321,limit=3/output.mp4 |
Опция limit определяет количество (от 1 до 5 включительно) разных IP, которые смогут гарантированно получить доступ по данному конкретному URL. Для IP свыше указанного числа доступ будет запрещён.
Часть провайдеров использует динамические IP для доступа к разным ресурсам, потому пользователь может запросить контент по ссылке у vCDN уже не с того IP, для которого ссылка была сгенерирована. Опция limit используется для антихотлинка без привязки к конкретному IP или префиксу.
Обратите внимание, указанный лимит — минимальное число разных IP, для которых будет разрешен доступ по данному URL. В реальности их может быть больше, потому что компоненты vCDN учитывают только собственные списки запрашивающих IP-адресов и не обмениваются ими.
опция | /key=KEY_VALUE,len=80/ |
пример ссылки | http://cdn.domain.com/key=9CVHszhqqsA,end=1374068216,len=6/1/2/3_720p.mp4 |
Опция len задает длину строки URL, которая учитывается при проверке подписи URL. По умолчанию подписывается весь базовый URL (часть после строки “/key=VALUE
”), но её можно ограничить указанным числом байт. Ограничение задается слева, т.е. будет проигнорирована часть URL с правой стороны, а учтена — часть с левой стороны).
Можно использовать эту опцию для того, чтобы один раз сгенерировать подпись для определенной директории, но оставить возможность менять имена содержащихся в ней файлов без потери валидности подписи.
<?php
# время жизни ссылки
$expire = time() + 3600;
# файл в CDN
$file = "1/2/3.mp4";
$url = ",end=$expire/$file";
# можно изменять настройки скорости и буфера в URL, по-умолчанию берутся настройки аккаунта, потом домена
#$url = ",end=$expire/speed=300K/buffer=5.0/$file";
$domain = 'cdn.domain.com';
# secret нужно запросить у техподдержки CDN , изменять нельзя — ссылка не будет проходить проверку
$secret = 'qwerty';
$key = substr(base64_encode(md5("$secret$url", true)), 0, 22);
$key = str_replace('/', '-', $key);
$fullurl = 'http://' . $domain . '/key=' . $key . $url;
?>
В вычислении MD5-значения подписи URL также учитывается MD5-значение секретной строки $secret$url2sign без использования которой невозможно получить валидную подпись (где $secret — секретная строка, а $url2sign — подписываемая часть URL).
Значение $secret должно быть зарегистрированным в базе vCDN (в глобальной настройке либо для конкретно домена), чтобы vCDN смог проверить валидность подписи URL. Для получения значения $secret — обратитесь в техподдержку.
Для непрерывности отдачи при обновлении ключа, можно параллельно использовать два зарегистрированных $secret, пока запускается новый $secret — старый продолжает работать.
Стандартный набор символов base64 (a-z,A-Z,0-9,+/) содержит символ ‘/’, но для корректного парсинга URL необходимо заменить его на символ “-”, символ “=” для дополнения значения base64 не используется.
параметр | /sec=COOKIE_NAME/ |
пример ссылки | http://video.com/key=GnElxcWZ+dx27qMJBDQ,end=1987654321,ip=1.2.3.4/sec=cookie_name/output.mp4 |
Переопределяет использование SecureCookie, заданное по умолчанию — деактивирует, если по умолчанию активировано (указав пустое значение для имени куки, т.е. /sec=/
), или активирует, если по умолчанию не активно, либо задает другое имя для куки).
SecureCookie, это один из методов защиты от хотлинка. Проверка считается пройденной, если значение куки совпадает со значением подписи URL (из параметра /key=../
). Соответственно, для работы этого метода защиты надо также использовать подпись URL.
Для использования проверки cookie вам нужно делегировать ваш субдомен на наши NS, чтобы мы могли использовать их в редиректах на стримы, а также предоставить техподдержке сертификат на *.cdn.example.com , чтобы работал редирект на стриминг сервера вида httрs://ip123456.cdn.example.com/. Связаться с техподдержкой.
параметр | /hash=VALUE/ |
пример ссылки | http://domain.com/key/hash=SDarv8DjZAqUARt71Xge4tia9adpCnxUEVo7PuPp5T1LlC7xOMDL8+kCF3fyY/.mp4 |
Этот параметр тоже не переопределяет какую-либо настройку, а обозначает, что данная часть URL зашифрована. После расшифровки результат будет подставлен вместо строки “/hash=VALUE/
” (включая начальный и последний символы “/”).
Итоговый URL дальше обрабатывается обычным образом. Зашифрованное значение подставляется в URL в base64 кодировке, с заменой символа ‘/’ на ‘-’ (как и при генерировании подписи URL).
Для шифрования используется то же значение $secret, что и для генерации подписи URL.
Если на редиректор vCDN приходит запрос с зашифрованным URL — то в итоговом редиректе (либо сгенерированном HLS-манифесте) URL на stream-ноду он тоже будет зашифрован.
Можно также принудительно активировать шифрование редиректов (и сгенерированных HLS-манифестов) в настройках. Зашифровать можно как весь URL, так и любую его часть.
Возьмем для примера файл 000/010/10001/10001.mp4
URL на файл (без срока действия) — https://example.org/key=P5jkd2sNkMzlAhO95ltOCg/000/010/10001/10001.mp4
Зашифруем часть “=P5jkd2sNkMzlAhO95ltOCg/000/010/10001/10001
”, оставив нешифрованными слева “/key
” и справа “.mp4
”
$url = "/000/010/10001/10001.mp4";
$secret = "Your URL signature secret";
$key = GenVCDNKey($secret, $url); # "P5jkd2sNkMzlAhO95ltOCg"
$vcdn_url = "https://$domain/key=$key$url"; # "https://example.org/key=P5jkd2sNkMzlAhO95ltOCg/000/010/10001/10001.mp4"
$to_encrypt = "=P5jkd2sNkMzlAhO95ltOCg/000/010/10001/10001";
$md5_enc = md5($to_encrypt, true); # binary (16 bytes) md5 string value being encrypted, used as a part of key and for decryption verification
$base_encrypt_key = "$md5_enc$secret";
"# now XOR string is being encrypted by groups of 16 bytes each with 128-bit md5 string value "$base_encrypt_key$n" where $n is group id, starting from "0"
"# e.g. XOR first 16 bytes with md5 ("$base_encrypt_key"."0", true), following 16 bytes with md5 ($base_encrypt_key"."1", true) and so on.
$encrypted = $md5_enc; # place $md5_enc in front of encrypted string, then append XOR-ed string characters of are being encrypted
$md5n = 0;
$md5val = "";
for($i = 0; $i < strlen($to_encrypt); $i++) {
if($i % 16 == 0) { # compute next md5 block
$md5val = md5("$base_encrypt_key$md5n", true);
$md5n ++;
}
$encrypted .= substr($to_encrypt, $i, 1) ^ substr($md5val, $i % 16, 1); # XOR happens here
}
"# at the moment strlen($encrypted) == strlen($md5_enc) + strlen($to_encrypt)
$b64_enc = base64_encode($encrypted); # "SDarvDru19zxrvQr2ccGT8DjZjAqUARt71Xge4tuia9adpCnxUEVo7PuPp5T1LlC7xOMDL8+kCF3fyY"
$b64_enc = str_replace('/', '-', $b64_enc); # make it web-url compatible
$enc = "/hash=" . $b64_enc . "/"; # quote base64 encrypted string with "/hash=" and "/"
$encrypted_url = "/key$enc.mp4"; # insert encrypted string in place of the part being encrypted
"# "/key/hash=SDarvDru19zxrvQr2ccGT8DjZjAqUARt71Xge4tuia9adpCnxUEVo7PuPp5T1LlC7xOMDL8+kCF3fyY/.mp4" - final encrypted url
параметр | /ip=IP_ADDRESS/ |
пример ссылки | http://cdn.com/key=C5RJmkKeeOXiz7lCGsw0eg,end=1476100377/ip=1.2.3.4/output.mp4 |
Параметр задает новый IP для выбора stream-ноды, алгоритм балансировки трафика будет использовать этот IP вместо реального IP-адреса пользователя, с которого пришел запрос на редиректор vCDN. Используется, если запросы на vCDN приходят не напрямую от пользователя — в таком случае vCDN, не имея информации о реальном расположении пользователя, не сможет подобрать для него оптимальную ноду.
параметр | /download2=[filename2save.ext]/ |
пример ссылки | http://video.ahcdn.com/key=QT85UNyB0frzkMhmqDh0Hg/download2=/output.mp4 |
Параметр выключает все медиа-обработчики (которые могут менять содержимое файлов при отдаче), принудительно проставляет значение http-заголовка Content-Type: application/octet-stream
и добавляет http-заголовок Content-Disposition: attachment
c указанным в значении параметра именем файла.
Для такой комбинации http-заголовков браузер не запустит проигрывание mp4-файла, а выдаст диалоговое окно с предложением сохранить файл с указанным в параметре именем. Если имя файла не задано, т.е. указан параметр /download2=/
, то будет использовано собственное имя файла.
параметр | /download3=смещение,замещение[;смещение2,замещение2[;...]][:file2save.ext]/ |
пример ссылки | http://video.com/key=QT85UNyB0frzkMhmqDh0Hg/download3=1,abc;12,0x6465/output.mp4 |
Параметр делает то же, что и /download2=/
, но дополнительно подменяет содержимое файла по указанному смещению указанным замещением.
Содержимое для замещения можно указать как есть, в виде ASCII-строки, либо в hex-формате, добавив в начале символы ‘0x’. Можно задать несколько смещений и соответствующих замещений, разделяя их символом ‘;’.
Этот параметр можно использовать для пометки каждой закачки уникальным значением. Тогда имеет смысл дополнительно использовать шифрование URL (через
/hash=../
) для сокрытия пометки.
параметр | /data=any_string/ |
Содержимое этого параметра игнорируется, но проходит в редиректы и манифесты, для последующего трекинга URL в логах.
параметр | /speed=SPEED_VALUE/ |
пример ссылки | http://video.ahcdn.com/speed=10000k/output.mp4 |
Параметр ограничивает скорость отдачи файла указанным значением. Используется для экономии трафика при стриминге видео, чтобы плеер скачивал наперед не всё, что может, а только незначительную часть.
Можно указать как абсолютное ([КМ]байт/c, но не [КМ]бит/c!) значение, так и коэффициент относительно среднего битрейта видео (размер в байтах разделенный на длительность в секундах).
Для абсолютного значения (в байтах за секунду) можно использовать суффикс ‘k’ (или ‘K’) для умножения на 1000, или суффикс ‘m’ (или ‘M’) для умножения на 1000000. Можно указывать как целые числа, так и дробные (с десятичной точкой).
Например: /speed=1.5M/
будет работать идентично /speed=1500k/
(и идентично /speed=1500000/
).
Если использовать число с десятичной точкой и без указания суффикса (либо использовать суффикс ‘s’ или ‘S’) — число будет интерпретировано как коэффициент относительно битрейта запрошенного видеофайла.
Например: /speed=1.2/
для файла со средним битрейтом 100 Кбайт/c, будет использовано ограничение 120 Кбайт/c, а для файла с средним битрейтом в 150 Кбайт/c — ограничение скорости составит 180Кбайт/c.
/speed=123456/
— скорость 123456 Байт/с/speed=123K/
— скорость 123 Кбайт/с/speed=2M/
— скорость Мбайт/с/speed=0/
— отдача без ограничения скорости/speed=1.0/
— скорость отдачи равна битрейту файла/speed=1.15/
— скорость отдачи равна 115% битрейтаУчтите, что для URL без параметров
/download2=../
и/download3=../
используется обычное ограничение скорости отдачи (по умолчанию 120% от битрейта), а для URL с наличием параметра/download2=../
или/download3=../
— дополнительное ограничение скорости именно на скачивание файлов (которое по умолчанию отсутствует).
параметр | /buffer=BUFFER_VALUE/ |
Параметр снимает ограничение скорости для первых N байт. Используется для ускорения старта проигрывания и перемотки. Значение по умолчанию составляет 5 секунд (т.е. количество первых байт запроса, которые будут отдаваться без ограничения скорости, равно тому, которое можно скачать за 5 секунд при заданном ограничении скорости).
Можно задать как абсолютное значение (просто байты, или с суффиксами ‘k’ или ‘K’ для умножения на 1000, либо ‘m’ или ‘M’ для умножения на 1000000), так и коэффициент относительно используемого ограничения скорости отдачи (суффикс ‘s’ или ‘S’, либо без суффикса, если значение меньше 100).
Например: при /speed=500K/buffer=3/
будет использовано ограничение скорости 500 Kбайт/c и буфер на 3 секунды такой скорости, т.е. 1.5 Мбайт.
Можно использовать как целые числа, так и дробные (с десятичной точкой) — /buffer=1.5M/
эквивалентно /buffer=1500K/
(и эквивалентно /buffer=1500000/
).
Например, при параметре /buffer=123456/
, будет скачано 123456 байт без ограничения скорости, а
при /buffer=5.0/
будет скачано 5 секунд (скорость согласно /speed=.../
).
параметр | /initial_buffer=VALUE/ |
Параметр инициирует использование отдельного буфера для первого запроса на .mp4 файл для ускорения выкачивания метаданных. Используется для ускорения старта проигрывания .mp4 файлов, так как метаданные этих файлов могут занимать очень много места (особенно для видео с большой длительностью).
Можно задавать как абсолютное значение в байтах (с суффиксами ‘k’, ‘K’, ‘m’, ‘M’), так и значение в процентах относительно размера файла. По умолчанию используется значение 1.5 (процента).
параметр | /referer=REFERER_LIST/ |
пример списка | /referer=none,blocked,domain,.my.domain/ |
Параметр переопределяет для URL список валидных рефереров, заданный по умолчанию. Разделитель списка рефереров — ,
(запятая). Параметр может содержать такие специальные значения:
Домен реферера должен соответствовать заданному значению.
Домен должен соответствовать заданному или быть его субдоменом.
Например: параметр /referer=none,blocked,example.org/
не пропустит запрос с реферером http://player.example.org/
, но параметр /referer=.example.org/
— пропустит.
Значение “none” разрешает отсутствие реферера.
Если специальное значения “none” не указать в списке, то запрос с отсутствующим реферером будет заблокирован.
Значение “blocked” допускает реферер, который невозможно распарсить (такой хедер могут передавать анонимизирующие прокси, например).
Если специальное значение “blocked” не указать в списке, то запрос с неправильно сформированным реферером будет заблокирован.
Можно указать специальное значение ‘force’ (не указывая больше ничего), тогда будет использоваться список доменов, заданный по умолчанию, но запросы с отсутствующим или неправильно сформированным реферером, или с доменом, который отсутствует в списке - будут заблокированы.
Аналогичного эффекта можно достичь, выставив в настройках галочку “Force referer”.
Список допустимых рефереров определяется, в порядке спадания приоритета, — URL, параметрами файла, настройками конкретного домена, или глобальными настройками аккаунта.
параметр | /rate=[gd]INTERVAL[,BURST[,IPV4_MASK[,IPV6_MASK]]][:TOKEN_B64]/ |
Параметр переопределяет (задает отсутствующий, или убирает заданное) ограничение по интенсивности запросов по умолчанию. Эта защита отсекает запросы с указанным токеном, если они приходят слишком часто.
Чтобы убрать ограничение по умолчанию, отдайте в параметре пустое значение, т.е.
/rate=/
или/rate=0/
.
В параметре можно задать дополнительные значения:
Задается как целое число, определяет минимальное количество секунд между двумя разными запросами.
Ненулевое значение BURST позволяет кратковременно превышать лимит интенсивности запросов на указанное значение.
Токен до 16 байт, закодированный base64 (с заменой ‘/’ на ‘-’)). Если токен не задан — в качестве токена берется IP пользователя.
Дополнительно можно настроить IPv4 и IPv6 маски, накладываемые на IP, чтобы получить токен.
Позволяют активировать глобальный (для всех доменов аккаунта) счетчик — указав префикс ‘g’. Если префикс не указан (или указан ‘d’) — то будет использоваться счетчик индивидуально для каждого домена.
параметр | /media=(hls|dash|hds|mss)[2|4|5|30|A][T|M]/ |
пример ссылки | http://video.com/media=hls2M/.mp4 |
Параметр определяет формат, в котором будет сгенерирован манифест. Работает на .mp4 файлах в полном объеме (с поддержкой всех вариантов протоколов и кодеков), для некоторых комбинаций протоколов и кодеков возможно использование и форматов .webm с .mkv.
По умолчанию используются чанки длительностью в 10с. Можно использовать другую длительность, добавив соответствующий суффикс к значению параметра, например /media=hls2/
или /media=dash30/
.
Из-за особенностей конфигурирования nginx нельзя использовать произвольную длительность — на текущий момент поддерживаются следующие варианты: 2с, 4с, 5с, 10с (по умолчанию, если не указывать суффикс) и 30с.
Кроме этого есть возможность активировать привязку границ чанков к ключевым кадрам, указав суффикс ‘A’ (например /media=hlsA/
), при этом средняя длительность чанков будет составлять 10с. Для ускорения старта проигрывания для первого чанка длина уменьшается до 5с (это происходит только для режимов в 10с и 30с).
Дополнительно для режима HLS можно форсировать выбор контейнера для упаковки чанков, добавив соответствующий суффикс — ‘T’ для .ts файлов, и ‘M’ для .m4s файлов (например, /media=hlsM/
или /media=hlsAT/
). Если этот суффикс не указывать, то будет использоваться контейнер по умолчанию (зависит от используемого видео-кодека).
Поскольку URL выглядит не совсем стандартно для HLS-манифеста, а именно, заканчивается на .mp4 вместо стандартного .m3u8 — в целях повышения совместимости есть возможность дописать это расширение до уже сформированного (и подписанного) URL, чтобы сделать его более понятным для некоторых плееров, т.е. вместо /media=hls/path/to/file.mp4
использовать /media=hls/path/to/file.mp4.m3u8
параметр | /multi=sub1[,sub2[,sub3...]]/ |
пример ссылки | http://video.com/media=hls/multi=1280x720:low,1920x1080:high/my/video-_TPL_.mp4 |
Параметр позволяет сгенерировать мультифайловый манифест, используя указанный список подстановок. Обычно это одно и то же видео, но закодированное с разным битрейтом. Используется совместно с параметром /media=hls*/
или /media=dash*/
.
В качестве имени файла надо использовать шаблон, в котором присутствует строка “_TPL_
” — именно она будет последовательно подменяться подстановкой из значения параметра /multi=../
.
Например: для URL /multi=48,72,108/media=dash/season/1/part1._TPL_0p.mp4
будет сгенерирован DASH-манифест из файлов /season1/part1.240p.mp4 , /season1/part1.720p.mp4 и /season1/part1.1080p.mp4
Для HLS-манифестов нужно указывать дополнительные данные, которые vCDN на текущий момент отдельно не отслеживает. Помимо подстановки имени файла, надо указать разрешение, и, опционально, используемый кодек (закодированный в base64, с заменой символа ‘/’ на ‘-’) — RESOLUTION:NAME_PART[:CODEC_B64]
.
Если не указать кодек, то в манифесте будет использован “mp4a.40.2,avc1.4d4015”. Можно задать кодек только для первого файла в списке — он будет продублирован для последующих файлов.
Например: по URL /media=hls/multi=1280x720:low,1920x1080:high/my/video-_TPL_.mp4
— в манифесте будут ссылки на файлы /my/video-low.mp4 и /my/video-high.mp4 с соответствующими разрешениями.
параметр | /clip=[start]-[end][,start2-end2[,..]]/ |
Параметр задает обрезку видео c указанным промежутком (в секундах, с точностью до миллисекунд). Можно применять как к .mp4 файлам, так и к манифестам.
Дополнительно, для HLS-манифестов можно указать не один, а несколько промежутков для обрезки, т.е. сформировать манифест для видео, в котором будут присутствовать участки, например, с 0с по 10.5с плюс с 30с по 45.125с — /media=hls/clip=0-10.5,30-40.125/
.
параметр | /tracks=v1-a1/ |
Параметр активирует использование указанных видео- и аудиодорожек, вместо v1-a1 по умолчанию. Применяется как к .mp4 файлам так и к манифестам.