HLS: чтение тега PRIV ID3 с помощью com.apple.streaming.transportStreamTimestamp PTS time mark - PullRequest
0 голосов
/ 29 ноября 2018

У меня есть прямой эфир hls, где я могу вернуться назад на 30 минут (смещение по времени):

Я хочу сохранить часть окна 30 минут в виде файла mp4 локально.

Я проанализировалсписок воспроизведения, загрузил отдельные сегменты ts и aac и соединил их (concatinate).Результат всегда асинхронный.

Существует метка времени в сегментах ts, но не в сегментах aac.Временные метки сегмента aac, вероятно, находятся в закрытом теге id3, но я не знаю, как их прочитать.

Вот хороший анализ: https://github.com/flavioribeiro/nginx-audio-track-for-hls-module/issues/22

У кого-нибудь естьидея, как я могу прочитать эту метку времени (ОС: Linux)?

1 Ответ

0 голосов
/ 30 ноября 2018
# get audio start from aac segment
# dump private id3 Tag
HEXDUMP=`exiftool -Private -b file.aac | od -t x8 --endian=big --address-radix=n | xargs echo -n`
# convert to decimal
DECIMAL=$((0x$HEXDUMP))
# it is an MPEG-2 Timestamp in 1/90000 Seconds, get it in seconds
AUDIOSTART=`expr $DECIMAL / 90000`
...