Ошибка точности PCR в MPEG TS

Что такое ошибка точности ПЦР?

Я разрабатываю приложение, которое извлекает определенные программы из TS, мультиплексирует их, создает поток CBR и передает их.

Чтобы сделать поток CBR, я вставляю пакеты NULL в выходной TS.

Но на анализаторе я получаю ошибки типа PCR-Accuracy_error. Что может вызвать эту ошибку.

Я думаю, что моя логика добавляет NULL, чтобы сделать CBR идеальным. Вы можете увидеть это на прикрепленной картинке.

введите здесь описание изображенияПожалуйста, помогите мне в этом.


person nullptr    schedule 11.10.2013    source источник


Ответы (2)


Используете ли вы PID 0x1FFF для нулевых пакетов? Или вы создаете видеопакеты с пустой полезной нагрузкой? Я мог видеть, что эта проблема возникает, если вы создаете видеопакеты без полезной нагрузки.

person jeremy    schedule 21.10.2013
comment
Нет, я дополняю поток нулевыми пакетами (PID 0x1fff), чтобы сделать поток CBR. - person nullptr; 22.10.2013
comment
Можете выложить образец где-нибудь? - person jeremy; 22.10.2013
comment
Извините, образец создаваемого вами ts-файла. Могу глянуть в анализаторе. - person jeremy; 23.10.2013
comment
извините, у меня этого нет, я получаю TS со спутника, затем извлекаю несколько каналов (скажем, я получаю 10 каналов со спутника в TS, я могу извлечь 3 и отбросить остальные 7), затем мультиплексирую эти извлеченные каналы для создания окончательного TS, в конечном TS также мультиплексирую нулевые пакеты, чтобы сделать окончательный TS CBR. Затем передают этот окончательный TS. Вся операция в реальном времени. - person nullptr; 23.10.2013
comment
Видео воспроизводит нормально? Это может быть просто чрезмерный анализ StreamXpert. Кроме того, возможно, стоит более равномерно чередовать пакеты по всему потоку (если вы еще этого не сделали). - person jeremy; 23.10.2013
comment
Да, видео воспроизводится нормально, и я чередую пакеты только в исходном потоке. Извлекая программы, я имею в виду, что я фильтрую только определенные PID и отбрасываю другие. Поэтому я не меняю последовательность пакетов, я просто отбрасываю пакеты из источника, которые мне не нужны. А затем вставка нулевых пакетов между PCR, чтобы данные между PCR стали постоянной скоростью. - person nullptr; 24.10.2013
comment
Привет Джереми. Я столкнулся с той же проблемой. Вы упомянули в своем комментарии, что если мы создаем видеопакеты без полезной нагрузки, вы можете увидеть, как это происходит. Мы делаем точно так же. Можете пояснить почему и как это исправить? - person Kartal; 05.10.2017
comment
Если вы просто пытаетесь дополнить файл TS для достижения определенного битрейта, PID 0x1fff зарезервирован для данных-заполнителей для этой цели. Видеопакеты с нулевой полезной нагрузкой с наполнителем могут вызвать другие проблемы в зависимости от того, как вы вводите их в транспортный поток. Мне нужно знать гораздо больше деталей о вашей реализации, чтобы помочь. - person jeremy; 27.10.2017

Почему бы вам не сделать это? Когда вы встретите пакет, который вам не нужен, замените его на NULL pkt.

Если вы это сделали, но по-прежнему видите ошибку точности pcr, это означает, что входной поток также не является CBR.

person Jerry    schedule 12.01.2017