Медиатрек - это абстракция сервера, описываящая общий интерфейс источника или приемника медиапотока. Один трек - один поток. Медиатрек является своего родом портом ввода-вывода медиаинформации для . Медиа-трек бывает двух направлений: входящий (input) и исходящий (output). Направление задается относительно направления медиа-потока. Так, например, ввода (типа входной файл) могут иметь только исходящие треки и наоборот. Каждый трек имеет идентификатор (id) следующего формата:
S:T[:F]
Где S - номер потока (stream_id), T - номер трека в стриме (track_id), F - номер потока (flow) в треке (flow_id) - может быть упущен, в этом случае считается что номер потока - 0.
stream_id - обощает группу треков, указывая на их принадлежность одному источнику синхронизации. Например, файл для воспроизведения с двумя дорожками; аудио и видео - треки разные, контент - один. Обычно всегда имеет номер 0, кроме треков . track_id - собственно идентифицирует сам трек в рамках одного стима. Например, для того же файла воспроизведения указывает номер кокретной дорожки (аудио или видео) в файле, для webrtc - порядковый номер трека в списке и т.д.
flow_id - номер потока в рамках одного трека. Обычно все дорожки имеют только один поток, однако в случае использования технологии simulcas для rtp-потоков, медиа-потоки могут передаваться с разным качеством или кодеком.
Межиа-трек работат только с одинм потоком. Например потоки с идентификаторами 0:1:0 и 0:1:1, принадлежащие одному реальному треку, но имеющие разные потоки дожны обрабатываються разными экземплярами медиа-треков.
Треки иднозначно идентифицируются своим id и направлением - двух треков с одинаковым направлением и идентификатором быть не может.
Каждый медиатрек может быть связан только с одинм медиаканалом. Медиаканал выступает в данном случае приемником или передатчиком медиапотоков, в зависимости от направления. Входящий медиатрек модет быть связан только с исходящим медиаканалом и наоборот.