Skip to content

Транскодирование отдельных аудиодорожек

В некоторых ситуациях бывает необходимо транскодировать входные аудиодорожки по-отдельности с разными параметрами транскодирования. Например, когда видео принимается со спутника, одна аудиодорожка может быть закодирована с помощью кодека MP2A, а другая – с помощью AC3. Аудиодорожка в AC3 имеет достаточно хорошее качество и не нуждается в транскодировании, тогда как аудиодорожку в MP2A нужно транскодировать для проигрывания в браузерах. Кроме того, иногда может быть необходимо из одной входной аудиодорожки создать несколько выходных с разными параметрами (например, с разным битрейтом).

Для транскодирования отдельных аудиодорожек используйте опцию atrack в конфигурации транскодера. Эта опция позволяет указать порядковый номер входной аудиодорожки как целое число или строку в формате а<N>. Например, atrack=1 или atrack=a1 означает первую входную аудиодорожку.

Все опции аудио, указанные в конфигурации перед первым вхождением опции atrack, по умолчанию применяются ко всем аудиодорожкам. Опции, указанные после atrack, применяются к конкретной аудиодорожке. Если после atrack не указано никаких опций, то у выходной аудиодорожки будут параметры, указанные для всех аудиодорожек.

Пример для транскодирования трех входных аудиодорожек с разными параметрами:

stream sample {
  input fake://fake;
  transcoder vb=1000k ab=copy acodec=aac atrack=1 ab=copy atrack=2 ab=64k atrack=3;
}

Первая и третья входные аудиодорожки будут транскодированы с оригинальным битрейтом, а вторая – с битрейтом 64k.

Пример для создания двух аудиодорожек из одной входной аудиодорожки:

stream fake {
  input fake://fake;
  transcoder vb=copy ab=64k acodec=ac3 atrack=1 ab=64k acodec=opus atrack=1;
}

В этом примере транскодер создаст две аудиодорожки из первой входной аудиодорожки. Настройки первой выходной дорожки: ab=64k, acodec=opus. Настройки второй выходной дорожки: ab=64k acodec=ac3 (так как эти опции применяются ко всем аудиодорожкам).