HLS:读取带有 com.apple.streaming.transportStreamTimestamp PTS 时间标记的 PRIV ID3 标签
HLS: reading PRIV ID3 tag with com.apple.streaming.transportStreamTimestamp PTS time mark
我有一个 hls 直播,我可以在其中倒退 30 分钟(时移):
我想在本地将 30 分钟的一部分 window 保存为 mp4 文件。
我解析了播放列表,下载了单个 ts 和 aac 片段并将它们放在一起(连接)。结果总是异步的。
ts段中有时间戳,aac段中没有。
aac 段的时间戳可能在私有 id3 标记中,但我不知道如何读取它们。
这里有一个很好的分析:
https://github.com/flavioribeiro/nginx-audio-track-for-hls-module/issues/22
有谁知道我如何读取该时间戳(OS:Linux)?
# 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`
我有一个 hls 直播,我可以在其中倒退 30 分钟(时移):
我想在本地将 30 分钟的一部分 window 保存为 mp4 文件。
我解析了播放列表,下载了单个 ts 和 aac 片段并将它们放在一起(连接)。结果总是异步的。
ts段中有时间戳,aac段中没有。 aac 段的时间戳可能在私有 id3 标记中,但我不知道如何读取它们。
这里有一个很好的分析: https://github.com/flavioribeiro/nginx-audio-track-for-hls-module/issues/22
有谁知道我如何读取该时间戳(OS:Linux)?
# 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`