goldvideo / demuxer

A tool for demux ts/mp4/flv by typescript. Support HEVC/AVC/AAC codec
MIT License
155 stars 33 forks source link

PID Filter in PesStream is Incorrect? #2

Closed neodescis closed 3 years ago

neodescis commented 3 years ago

In the PesStream class, there is a filter on the PID, only allowing output for values of greater than 255. It's line 40 of pes.ts:

if (packet.PID > 0x00ff && packet.PID < 0x1fff) {

Why is this lower limit there? According to the spec, the lower limit should be greater than 31, or 0x001f.

I have a hardware encoder that is outputting a PID of 68 on its video stream, and I can only demux it if I change this limit. Can this be changed?

gemxx commented 3 years ago

In the PesStream class, there is a filter on the PID, only allowing output for values of greater than 255. It's line 40 of pes.ts:

if (packet.PID > 0x00ff && packet.PID < 0x1fff) {

Why is this lower limit there? According to the spec, the lower limit should be greater than 31, or 0x001f.

I have a hardware encoder that is outputting a PID of 68 on its video stream, and I can only demux it if I change this limit. Can this be changed?

Originally I just want to avoid some table_ids defined by dvb , maybe this strategy is too strict. The lower limit down to 0x001f is acceptable, it fixed in v2.1.3, just try it. Thanks for the issue report!

neodescis commented 3 years ago

Thanks very much for the quick fix, and all the work on this library. The new version works great for my video stream!