Log in

View Full Version : Hauppauge HDPVR Audio Problems


rebkell
29th November 2008, 06:16
I'm having a recurring problem with my HDPVR captures:

Here is a dump from xport -pavs

xport Transport Stream Demuxer 1.01a
program = 1, video channel = 1, audio channel = 1
Program Number = 0 (0x0000), Program Map PID = 31 (0x001f)
Program Number = 1 (0x0001), Program Map PID = 256 (0x0100)
program descriptor = 0x05, 0x04, 0x48, 0x44, 0x4d, 0x56
program descriptor = 0x88, 0x04, 0x0f, 0xff, 0x04, 0x04
Video PID = 4113 <0x1011>, type = 0x1b

ES descriptor for stream type 0x1b = 0x05, 0x08, 0x48, 0x44, 0x4d, 0x56, 0xff, 0x1b, 0x44, 0x3f
Audio PID = 4352 <0x1100>, type = 0x81

ES descriptor for stream type 0x81 = 0x05, 0x04, 0x41, 0x43, 0x2d, 0x33
ES descriptor for stream type 0x81 = 0x81, 0x06, 0x08, 0x38, 0x0f, 0x02, 0x0f, 0x00
Audio PTS = 34834, 34834

Video PTS(P) = 43843, DTS(P) = 34834
0 frames before first I-frame
Main Profile
Level = 4.0
First Video PTS = 0x0000ab43
Audio PTS = 37714, 2880

Audio Bitrate = 384000, Audio Sampling Rate = 48000
Audio Mode = 3/2, bsid = 8, bsmod = 0
Video PTS(P) = 55855, DTS(P) = 37837, 3003
Audio PTS = 40594, 2880

Video PTS(P) = 46846, DTS(P) = 40840, 3003
Audio PTS = 43474, 2880

Video PTS(P) = 49849, DTS(P) = 43843, 3003
Audio PTS = 46354, 2880

First Audio PTS = 0x0000a9d2, -369
Video PTS(P) = 52852, DTS(P) = 46846, 3003
Audio PTS = 49234, 2880

Video PTS(P) = 67867, DTS(P) = 49849, 3003
Audio PTS = 52114, 2880

Video PTS(P) = 58858, DTS(P) = 52852, 3003
Audio PTS = 54994, 2880

Video PTS(P) = 61861, DTS(P) = 55855, 3003
Audio PTS = 57874, 2880

Video PTS(P) = 64864, DTS(P) = 58858, 3003
Audio PTS = 60754, 2880

Video PTS(P) = 79879, DTS(P) = 61861, 3003
Audio PTS = 63634, 2880

Video PTS(P) = 70870, DTS(P) = 64864, 3003
Audio PTS = 66514, 2880

Video PTS(P) = 73873, DTS(P) = 67867, 3003
Audio PTS = 69394, 2880

Video PTS(P) = 76876, DTS(P) = 70870, 3003
Audio PTS = 72274, 2880

Video PTS(P) = 91891, DTS(P) = 73873, 3003
Audio PTS = 75154, 2880

Video PTS(P) = 82882, DTS(P) = 76876, 3003
Audio PTS = 78034, 2880

Video PTS(P) = 85885, DTS(P) = 79879, 3003
Audio PTS = 80914, 2880

Video PTS(P) = 88888, DTS(P) = 82882, 3003
Audio PTS = 83794, 2880

Video PTS(P) = 103903, DTS(P) = 85885, 3003
Audio PTS = 86674, 2880

Video PTS(P) = 94894, DTS(P) = 88888, 3003
Audio PTS = 89554, 2880

Video PTS(P) = 97897, DTS(P) = 91891, 3003
Audio PTS = 92434, 2880

Video PTS(P) = 100900, DTS(P) = 94894, 3003
Audio PTS = 95314, 2880

Video PTS(P) = 115915, DTS(P) = 97897, 3003
Audio PTS = 98194, 2880

Video PTS(P) = 106906, DTS(P) = 100900, 3003
Audio PTS = 101074, 2880

Video PTS(P) = 109909, DTS(P) = 103903, 3003
Audio PTS = 103954, 2880

Audio PTS = 106834, 2880

Video PTS(P) = 112912, DTS(P) = 106906, 3003
Audio PTS = 109714, 2880

Video PTS(P) = 127927, DTS(P) = 109909, 3003
Audio PTS = 112594, 2880

Video PTS(P) = 118918, DTS(P) = 112912, 3003
Audio PTS = 115474, 2880

Video PTS(P) = 121921, DTS(P) = 115915, 3003

then we get on deeper in and it appears that the audio drops out and I get a section that looks like this:
Video PTS(P) = 234842407, DTS(P) = 234824389, 3003
Audio PTS = 234826834, 2880

Video PTS(P) = 234833398, DTS(P) = 234827392, 3003
Audio PTS = 234829714, 2880

Video PTS(P) = 234836401, DTS(P) = 234830395, 3003
Audio PTS = 234832594, 2880

Video PTS(P) = 234839404, DTS(P) = 234833398, 3003
Audio PTS = 234835474, 2880

Video PTS(P) = 234854419, DTS(P) = 234836401, 3003
Video PTS(P) = 234845410, DTS(P) = 234839404, 3003
Video PTS(P) = 234848413, DTS(P) = 234842407, 3003
Video PTS(P) = 234851416, DTS(P) = 234845410, 3003
Video PTS(P) = 234866431, DTS(P) = 234848413, 3003
Video PTS(P) = 234857422, DTS(P) = 234851416, 3003
Video PTS(P) = 234860425, DTS(P) = 234854419, 3003
Video PTS(P) = 234863428, DTS(P) = 234857422, 3003
Discontinuity!, pid = 256 <0x0100>, received = 0, expected = 12, at 14489730
Discontinuity!, pid = 31 <0x001f>, received = 0, expected = 1, at 14489731
Discontinuity!, pid = 4352 <0x1100>, received = 0, expected = 1, at 14489735
Audio PTS = 234904268, 68794

Discontinuity!, pid = 4113 <0x1011>, received = 0, expected = 11, at 14489736
Video PTS(P) = 234913277, DTS(P) = 34834, -234822588
Audio PTS = 234907148, 2880

Video PTS(P) = 234925289, DTS(P) = 37837, 3003
Audio PTS = 234910028, 2880

Video PTS(P) = 234916280, DTS(P) = 40840, 3003
Audio PTS = 234912908, 2880

Video PTS(P) = 234919283, DTS(P) = 43843, 3003
Audio PTS = 234915788, 2880

Video PTS(P) = 234922286, DTS(P) = 46846, 3003
Audio PTS = 234918668, 2880

Video PTS(P) = 234937301, DTS(P) = 49849, 3003



I normally reencode my captures using x264 and avisynth to get them back to their original 23.97 FPS. The above is a 1080i/ 29.97 w/384Kbps AC3 audio, and to the best of my knowledge they all have a -100ms audio delay.

My question is how many 32ms audio frames would I need to insert in this section to ensure audio/video sync after demuxing the audio and re-encoding the video? It looks like to my untrained eye that when the discontinuities occur, that it inserts another -100ms Audio delay.

Can anybody educate me, I get confused with the timestamps a bit, but this seems to be a constant on my recordings when I run into audio drops. Sometimes I may get 1 or 2 less Video Frames before it resets itself.