1

What is PCR Accuracy Error?

I am developing application which extracts particular programs from TS, muxes them, makes stream CBR and transmits them.

To make stream CBR, I am inserting NULL packets in output TS.

But on analyser I get errors like PCR-Accuracy_error. What can cause this error.

I think my logic add NULLs to make CBR is perfect. You can see this in attached picture.

enter image description here Please help me on this.

nullptr
  • 3,160
  • 4
  • 31
  • 66

2 Answers2

3

Are you using PID 0x1FFF for the null packets? Or are you creating video packets with empty payloads? I could see this problem occurring if you are creating video packets with no payload.

jeremy
  • 4,239
  • 3
  • 19
  • 36
  • No, I am padding stream with null packets (PID 0x1fff) to make stream CBR. – nullptr Oct 22 '13 at 05:19
  • Can you post a sample somewhere? – jeremy Oct 22 '13 at 16:25
  • Sorry, a sample of the ts file you create. I can take a look at it in an analyzer. – jeremy Oct 23 '13 at 01:06
  • sorry, I don't have that, I am receiving TS from satellite, then extracting few channels (say I am getting 10 channels from satellite in TS, I may extract 3 and discard other 7), then muxing these extracted channels to create final TS, in final TS am muxing null packets too, to mak final TS CBR. Then transmitting this final TS. The whole operation is realtime. – nullptr Oct 23 '13 at 06:42
  • Does the video play back okay? It could just be over analysis by StreamXpert. Also, it may be worth interleaving the packets more evenly throughout the stream (if you aren't already) – jeremy Oct 23 '13 at 14:14
  • Yes, video plays okay, and I am interleaving packets as in source stream only. Extracting programs, I mean, I am filtering only particular PIDs and discarding other. So I am not changing sequence of packets, I am just discarding packets from source which I don't want. And then inserting null packets between PCRs, so that data between PCRs become constant rate. – nullptr Oct 24 '13 at 05:23
  • Hi jeremy. I've came across with the same problem. You have mentioned in your comment that that if we are creating video packets with no payload you can see this happen. We are doing exactly the same. Can you clarify why and how to fix it? – Kartal Oct 05 '17 at 09:37
  • If you are just trying to pad the TS file to hit a certain bitrate, the PID 0x1fff is reserved for filler data for this purpose. Zero payload video packets with filler could cause other problems depending on how your injecting them into the transport stream. I'd need to know a lot more detail about your implementation to be more help. – jeremy Oct 27 '17 at 15:45
1

Why don't you do this? When you meet a packet you don't want, replace it with NULL pkt.

If you have done so and still see pcr accuracy error, which means the input stream is not CBR either.

Jerry
  • 11
  • 1