Как использовать временные метки для поиска в файлах.m2ts?

У меня есть видео файл.m2ts (VBR, продолжительность = 1 час).
Мне нужно знать, с какого байта я должен прочитать этот файл, если я хочу начать воспроизведение этого файла с 20 минут.
M2TS - это стандартный TS с 4-байтовой меткой времени перед байтом синхронизации (0x47), но я не понимаю, как его использовать. Пожалуйста, смотрите следующие метки времени перед байтом синхронизации в моем видеофайле:
0D 9E E2 02
35 8B 62 28
1D 77 E2 4F
05 64 62 76
2D 50 E2 9C
15 3D 62 C3
3D 29 E2 E9
25 16 63 10
Может кто-нибудь объяснить, как использовать метки времени для поиска в файлах.m2ts?

1 ответ

Решение

M2TS не имеет 4-байтовой метки времени.

Что он имеет, так это 4-байтовый TP_extra_header состоящий из 2-bit индикатор разрешения копирования плюс 30-bit отметка времени прибытия (ATS) с разрешением 27 MHz,

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | C |                         ATS                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   |                       TS [188 bytes]                          |
   |                                                               |
   | . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |

Так как BDAV Формат предназначен для хранения, он использует транспортные потоки с переменной скоростью (VBR) вместо типичных потоков с постоянной скоростью (CBR), найденных в широковещательной передаче, для экономии места. Время прибытия записывается, чтобы иметь возможность преобразовывать переменный поток в постоянную скорость и T-STD-совместимый для воспроизведения.

Эта временная метка будет переноситься каждый (2^30 - 1) / 27000000 ~= 39.768 секунд.

Например: 1D77E24F ∧ 3FFFFFFF в десятичном виде 494395983 / 27000000 ~= 18.32 секунд.

Я не очень знаком с BD, но я думаю, что больше информации о m2ts файлы хранятся в clpi а также mpls сопроводительные файлы. Если у вас есть только m2ts файл, который вы должны будете искать с помощью ПЦР.

Другие вопросы по тегам