{"id":2618,"date":"2019-08-20T09:03:09","date_gmt":"2019-08-20T01:03:09","guid":{"rendered":"http:\/\/learn-house.idv.tw\/?p=2618"},"modified":"2019-09-12T13:55:42","modified_gmt":"2019-09-12T05:55:42","slug":"%e8%bd%89mpeg-2%e7%b3%bb%e7%b5%b1%e5%8e%9f%e7%90%86","status":"publish","type":"post","link":"https:\/\/learn-house.idv.tw\/?p=2618","title":{"rendered":"[\u8f49]MPEG-2\u7cfb\u7d71\u539f\u7406"},"content":{"rendered":"<p>\u8cc7\u6599\u4f86\u6e90\uff1ahttps:\/\/www.cnblogs.com\/jingmoxukong\/archive\/2011\/08\/01\/2123547.html<br \/>\n\u9019\u662f\u8f49\u81ea\u4e2d\u570b\u7684\u6587\u7ae0\uff0c\u89ba\u5f97\u57fa\u672c\u6982\u5ff5\u5f88\u5b8c\u6574\uff0c\u5f88\u9069\u5408\u521d\u5b78\u8005\u95b1\u8b80<\/p>\n<p>\u4e00\u3001MPEG-2\u7cfb\u7d71\u539f\u7406<\/p>\n<p>\u7b2c\u4e00\u7ae0 MPEG-2\u7c21\u4ecb<\/p>\n<p>\u4ec0\u9ebc\u662fMPEG\u548cMPEG-2\uff1f<br \/>\nMPEG\u662fMoving Picture Experts Group \u7684\u7c21\u7a31\uff0c MPEG-2\u662fMPEG\u548cISO\u7d44\u7e54\u8a2d\u8a08\u7684\u4e00\u500b\u6578\u5b57\u8996\u983b\u58d3\u7e2e\u898f\u7bc4\uff0c\u4e3b\u8981\u7528\u65bcDVD\u548cDVB\u4e0a\uff0c\u7576\u524d\u7684\u6a19\u6e96\u6587\u6a94\u662fISO 13818\u3002<!--more--><\/p>\n<p>\u4ec0\u9ebc\u662fDVB\uff1f<br \/>\nDVB\u662fDigital Video Broadcast\u7684\u7c21\u7a31\uff0c\u662f\u6b50\u6d32\u6240\u6709\u570b\u5bb6\u548c\u5176\u4ed6\u90e8\u5206\u570b\u5bb6\u548c\u5730\u5340\u4f7f\u7528\u7684\u6578\u5b57\u96fb\u8996\u6a19\u6e96\u3002\u5176\u4e2d\u7f8e\u570b\u7684ATSC\u6a19\u6e96\u4e5f\u662f\u5728DVB\u6a19\u6e96\u7684\u57fa\u790e\u4e0a\u5be6\u73fe\u7684\u3002<\/p>\n<p>\u4ec0\u9ebc\u662fTS\u78bc\u6d41\u548cPS\u6d41\uff1f<br \/>\nTS\u662ftransport stream\u7684\u7c21\u7a31\uff0c\u5c31\u662f\u201c\u50b3\u8f38\u6d41\u201d\u3002 DVB\u6578\u64da\u5ee3\u64ad\u63a1\u7528\u7684\u6578\u64da\u683c\u5f0f\u5c31\u662fTS\u78bc\u6d41\u3002<br \/>\nPS\u662fprogram stream\u7684\u7c21\u7a31\uff0c\u5c31\u662f\u201c\u7bc0\u76ee\u6d41\u201d\u3002 DVD\u4e2d\u63a1\u7528\u7684\u6578\u64da\u683c\u5f0f\u5c31\u662fPS\u6d41\u3002<br \/>\n\u9019\u5169\u7a2e\u6d41\u7684\u683c\u5f0f\u662f\u4e0d\u540c\u7684\uff0cTS\u683c\u5f0f\u5177\u6709\u5f88\u5f37\u7684\u932f\u8aa4\u6821\u6b63\u529f\u80fd\uff0c\u9069\u5408\u50b3\u8f38\uff1b\u800cPS\u683c\u5f0f\u9069\u5408\u5b58\u5132\u5728\u5a92\u9ad4\u4e2d\u3002 \u5728\u9019\u88e1\uff0c\u8457\u91cd\u63cf\u8ff0\u7684\u662fTS\u78bc\u6d41\u683c\u5f0f\u3002<\/p>\n<p>\u4ec0\u9ebc\u662fPID\uff1f<br \/>\nPID\u662fPacket identification\u7684\u7c21\u7a31\uff0c\u5c31\u662f\u201c\u5305\u6a19\u8a8c\u7b26\u201d\u3002DVB\u7cfb\u7d71\u628a\u4e0d\u540c\u7684\u6578\u64da\u6253\u5305\u6210\u4e0d\u540c\u7684\u6578\u64da\u5305\uff0c\u7528\u7cfb\u7d71\u552f\u4e00\u7684\u4e00\u500b13 bits\u6578\u5b57\u6a19\u8a8c\u8a72\u6578\u64da\u7684\u985e\u578b\u3002\u4f8b \u5982\uff0cPID=0x00\u8868\u793a\u662fDVB\u7cfb\u7d71\u4e2d \u7684PAT\u5305\uff0c\u800cPID=0x10\u8868\u793a\u662fDVB\u7cfb\u7d71\u7684NIT\u5305\u3002\u4e0d\u540c\u7684\u7bc0\u76ee(\u5305\u62ecVideo\u548cAudio)\u5206\u5225\u63a1\u7528 \u4e0d\u540c\u7684PID\uff0c\u4f8b\u5982\uff0c\u6211\u5011\u5728PMT\u8868\u4e2d \u5982\u679c\u6aa2\u6e2c\u5230PID=0x0120\u7684PID\u662fVIDEO\u6578\u64da\uff0c\u90a3\u9ebc\u8868\u793a\u5305\u865f\u78bc\u662f0x0120\u7684\u6240\u6709\u5305\u90fd\u662fVideo\u6578 \u64da\uff0c\u5176\u4ed6\u4f9d\u6b64\u985e\u63a8\u3002<\/p>\n<p>\u4ec0\u9ebc\u662fPAT\uff1f<br \/>\nPAT\u662fProgram Association Table\u7684\u7c21\u7a31\uff0c \u5373\u201c\u7bc0\u76ee\u95dc\u806f\u8868\u201d\u3002PAT\u5c6c\u65bcDVB\u7cfb\u7d71\u6d41\u4e2d\u7684\u4e00\u500b\u5305\uff0c\u5305\u865f\u78bc(PID)\u662f0x00\u3002PAT\u8868\u63cf\u8ff0\u4e86DVB\u7cfb\u7d71\u6d41\u4e2d\u5305\u542b\u4ec0\u9ebc\u6a23\u7684PID\uff0c\u4e3b\u8981\u662f\u63cf\u8ff0\u7576\u524d\u6d41 \u7684NIT\u8868\u683c\u7684PID\u865f\u78bc\u662f\u591a\u5c11\uff0c\u7576\u524d\u6d41\u4e2d\u6709\u591a\u5c11\u500b\u4e0d\u540c\u985e\u578bPMT\u8868\uff0c\u6bcf\u500bPMT\u8868\u5c0d\u61c9\u7684\u983b\u9053\u865f\u7b49\u4fe1\u606f\u3002<\/p>\n<p>\u4ec0\u9ebc\u662fPMT\uff1f<br \/>\nPMT\u662fProgram Map Table\u7684\u7c21\u7a31\uff0c\u5373\u201c\u7bc0\u76ee\u5f71\u5c04\u8868\u201d\u3002PMT\u7684PID \u662f\u670d\u52d9\u5668\u81ea\u7531\u5b9a\u7fa9\u7684(\u4f46\u4e0d\u6703\u548c\u7cfb\u7d71\u4fdd\u7559\u7684PID\u885d\u7a81)\u3002\u9019\u500bPID\u662f\u5728PAT\u8868\u4e2d\u63cf\u8ff0\u7684\uff0c\u6bd4\u5982\uff0c\u5982\u679c\u5728PAT\u8868\u4e2d\u67090x100\u9805\u7684\u5167\u5bb9\uff0c\u90a3\u9ebc\u8aaa\u660e\u6240\u6709 PID\u662f0x100\u7684\u5305\u90fd\u662fPMT\u8868\u3002\u4e0d\u540c\u7684\u983b\u9053\u6709\u4e0d\u540c\u7684PMT\uff0c\u4e5f\u5c31\u662f\u8aaa\uff0c\u4e00\u500b\u4e0d\u540c\u7684PMT\u4ee3\u8868\u7684\u662f\u4e00\u500b\u4e0d\u540c\u983b\u9053\u3002PMT\u8868\u683c\u548c PAT\u8868\u683c\u914d\u5408\u5728\u4e00\u8d77\uff0c \u5c31\u53ef\u4ee5\u6aa2\u6e2c\u51faDVB\u6d41\u4e2d\u6240\u6709\u5b58\u5728\u7bc0\u76ee\u7684\u6240\u6709PID\uff0c\u56e0\u6b64\uff0c\u6578\u5b57\u96fb\u8996\u641c\u53f0\u5c31\u662f\u4f9d\u9760\u9019\u5169\u500b\u8868\u683c\u6578\u64da\u5b8c\u6210\u7684\u3002<\/p>\n<p>\u4ec0\u9ebc\u662fCAT\uff1f<br \/>\nCAT\u662fConditional Access Table\u7684\u7c21\u7a31\uff0c\u5373\u201c\u689d\u4ef6\u8a2a\u554f\u8868\u201d\uff0cPID\u662f0x01\u3002CAT\u651c\u5e36\u7684\u662f\u670d\u52d9\u5668\u7684\u79c1\u6709\u4fe1\u606f(CA\u7cfb\u7d71\u5c31\u9700\u8981\u4f7f\u7528\u8a72\u8868\u683c\u5be6\u73fe\u7bc0\u76ee\u7684\u89e3\u5bc6)\u3002<\/p>\n<p>\u4ec0\u9ebc\u662fSDT\uff1f<br \/>\nSDT\u662fService Description Table\u7684\u7c21\u7a31\uff0c\u5373\u201c\u670d\u52d9\u5668\u63cf\u8ff0\u8868\u201d\uff0cPID\u662f0x11\u3002SDT\u651c\u5e36\u7684\u662f\u96fb\u8996\u53f0\u540d\u7a31\u548c\u96fb\u8996\u7bc0\u76ee\u540d\u7a31\u3002DVB\u63a5\u6536\u7cfb\u7d71\u63a5\u6536SDT\u8868\u4e2d\u7684\u7bc0\u76ee\u4fe1\u606f\uff0c\u5be6\u73fe\u6bd4\u8f03\u53cb\u597d\u7684\u754c\u9762\u986f\u793a\u548c\u64cd\u4f5c\u3002<\/p>\n<p>\u4ec0\u9ebc\u662fNIT\u548cEIT\uff1f<br \/>\nNIT\u662fNetwork Information Table\u7684\u7c21\u7a31\uff0c\u5373\u201c\u7db2\u7d61\u4fe1\u606f\u8868\u201d\u3002NIT\u53ef\u4ee5\u63d0\u4f9b\u7576\u524d\u6d41\u7684\u7bc0\u76ee\u4fe1\u606f\uff0c\u4e5f\u53ef\u4ee5\u63d0\u4f9b\u548c\u7576\u524d\u6d41\u6709\u95dc\u806f\u7684\u6d41\u7684\u7bc0\u76ee\u4fe1\u606f\u3002<br \/>\nEIT\u662fEvent Information Table\u7684\u7c21\u7a31\uff0c\u5373\u201c\u4e8b\u4ef6\u4fe1\u606f\u8868\u201d\u3002EIT\u63d0\u4f9b\u7684\u662f\u6d41\u7684\u7bc0\u76ee\u4fe1\u606f\u7684\u6539\u8b8a\uff0c\u6bd4\u5982\u4e00\u500b\u7bc0\u76ee\u5df2\u7d93\u958b\u59cb\uff0c\u6216\u8005\u5df2\u7d93\u7d50\u675f\u7684\u4fe1\u606f\u7b49\u3002<\/p>\n<p>\u4ec0\u9ebc\u662fEPG\uff1f<br \/>\nEPG\u662fElectronic Program Guides\u7684\u7c21\u7a31\uff0c\u5373\u201c\u96fb\u5b50\u7bc0\u76ee\u6307\u5357\u201d\u3002\u8a72\u529f\u80fd\u53ef\u9810\u544a\u6700\u8fd1\u4e00\u6bb5\u6642\u9593\u5373\u5c07\u64ad\u653e\u7684\u7bc0\u76ee\u5167\u5bb9\uff0c\u540c\u6642\u652f\u6301\u57fa\u65bc\u5167\u5bb9\u7684\u6aa2\u7d22\u3002<\/p>\n<p>\u4ec0\u9ebc\u662fTeletext\uff1f<br \/>\nTeletext\u5c31 \u662f\u6211\u5011\u5e38\u8aaa\u7684\u201c\u5716\u6587\u96fb\u8996\u201d\uff0c\u7576\u7136\u5728MPEG-2\u4e2d\uff0c \u5716\u6587\u96fb\u8996\u5df2\u7d93\u6578\u5b57\u5316\uff0c\u4e5f\u5c31\u662f\u8aaa\uff0c\u5716\u6587\u4fe1\u606f\u5df2\u7d93\u6210\u70ba\u6578\u5b57\u5316\u4fe1\u606f\u5728TS\u6d41\u4e2d\u50b3\u64ad\u3002\u4f46\u6700\u7d42\uff0c\u6578\u5b57\u5316\u7684\u5716\u6587\u4fe1\u606f \u90fd\u5c07\u8f49\u5316\u70ba\u6a21\u64ec\u7684VBI\u4fe1\u606f\u63d2\u5165\u5230\u6b63\u5e38\u7684\u96fb\u8996\u4fe1\u865f \u4e2d\u5be6\u73fe\u5716\u6587\u96fb\u8996\u7684\u986f\u793a\u3002\u5716\u6587\u96fb\u8996\u6709\u5f88\u591a\u6a19\u6e96\uff0c\u6bd4\u5982close caption\uff0cWSS\u7b49\uff0c\u6b50\u6d32\u7684DVB\u4f7f \u7528\u7684teletext\u6a19\u6e96\u662fITU- R System B Teletext\u898f\u683c\u3002\u8a72\u898f\u683c\u652f\u6301\u6b50\u6d32\u591a\u7a2e\u8a9e\u8a00\uff0c\u652f\u6301\u7c21\u55ae\u5716\u50cf\u548c\u6587\u672c\u7684\u6df7\u5408\u986f\u793a\u3002<\/p>\n<p>\u7b2c\u4e8c\u7ae0 DVB\u7cfb\u7d71\u7684\u69cb\u6210<\/p>\n<p>DVB\u7684\u5206\u985e<\/p>\n<p>DVB\u6839\u64da\u61c9\u7528\u7684\u4e0d\u540c\uff0c\u4e3b\u8981\u5206\u70baDVB-S\uff0cDVB-C\uff0cDVB-T\uff0cDVB-H\u7b49\u591a\u7a2e\u898f\u683c\u3002\u4e0d\u540c\u7684\u898f\u683c\u57fa\u672c\u539f\u7406\u90fd\u662f\u76f8\u540c\u7684\uff0c\u4e0d\u540c\u7684\u4e3b\u8981\u662f\u8abf\u88fd\u65b9\u5f0f\u4e0d\u540c:<br \/>\nDVB-S\uff0cS\u662fSatellite\u7684\u9996\u5b57\u6bcd\uff0c\u61c9\u7528\u65bc\u6578\u5b57\u96fb\u8996\u885b\u661f\u5ee3\u64ad\uff0c\u8abf\u88fd\u65b9\u5f0f\u662fQPSK\u3002<br \/>\nDVB-C\uff0cC\u662fCable\u7684\u9996\u5b57\u6bcd\uff0c\u61c9\u7528\u65bc\u57ce\u5e02\u6709\u7dda\u5ee3\u64ad\u3002\u8abf\u88fd\u65b9\u5f0f\u662fQAM\u6240\u6709\u683c\u5f0f: 16QAM\uff0c32QAM\uff0c64QAM\uff0c128QAM\uff0c256QAM\u3002<br \/>\nDVB-T\uff0cT\u662fTerrestrial\u7684\u9996\u5b57\u6bcd\uff0c\u61c9\u7528\u65bc\u5730\u9762\u7121\u7dda\u5ee3\u64ad\uff0c\u8abf\u88fd\u65b9\u5f0f\u662fQPSK\u6216\u800516QAM\u548c64QAM\u3002<br \/>\nDVB-H\uff0cH\u662fHandheld\u7684\u9996\u5b57\u6bcd\uff0c\u61c9\u7528\u65bc\u624b\u6301\u7121\u7dda\u5ee3\u64ad\uff0c\u8abf\u88fd\u65b9\u5f0f\u548cDVB-T\u76f8\u540c\u3002<\/p>\n<p>\u7e3d\u7684\u4f86\u8aaa\uff0c\u4e0d\u540c\u7684DVB\u7cfb\u7d71\u53ea\u6709\u524d\u7aef\u7cfb\u7d71\u662f\u4e0d\u540c\u7684\uff0c\u6700\u7d42\u7684\u6578\u5b57\u4fe1\u606f\u90fd\u662f\u76f8\u540c\u7684\uff0c\u4e5f\u5c31\u662f\u90fd\u662f\u63a1\u7528ISO13818\u63cf\u8ff0\u7684\u898f\u683c\u3002\u524d\u7aef\u7cfb\u7d71\u4e3b\u8981\u662f\u6307\u8abf\u88fd\u65b9\u6cd5\u548c\u767c\u5c04\u65b9\u6cd5\u7b49\u3002\u56e0\u6b64\uff0c\u9019\u88e1\u6240\u6558\u8ff0\u7684\u5167\u5bb9\uff0c\u5168\u90e8\u9069\u7528\u65bc\u6240\u6709\u7684DVB\u7cfb\u7d71\uff0c\u540c\u6642\u56e0\u70ba\u7f8e\u570b\u7684ATSC\u7cfb\u7d71\u4e5f\u662f\u5728DVB\u7cfb\u7d71\u4e0a\u7684\u5c0f\u91cf\u66f4\u6539\u548c\u5c0f\u90e8\u5206\u529f\u80fd\u589e\u52a0\uff0c\u56e0\u6b64\u4e5f\u9069\u7528\u65bc ATSC\u6a19\u6e96\u3002<\/p>\n<p>\u57fa\u672c\u7cfb\u7d71\u63cf\u8ff0\u5982\u4e0b:<\/p>\n<p>(1)\u7de8\u78bc\u7cfb\u7d71:<\/p>\n<p>\u5047\u8a2d\u4fe1\u865f\u6e90\u67096\u500b\u7bc0\u76ee\uff0c\u5247DVB\u7cfb\u7d71\u5148\u5c0d\u90196\u500b\u7bc0\u76ee\u7684\u6240\u6709\u6578\u64da (Video\uff0cAudio)\u9032\u884c\u58d3\u7e2e\u8655\u7406\uff0c\u7136\u5f8c\u7d93\u904e\u4e00\u500b\u53eb\u505a\u201c\u5fa9\u7528\u201d\u7684\u7a0b\u5e8f\u9032\u884c\u7bc0\u76ee\u7684\u5fa9\u7528 (PID\u5206\u914d\uff0c\u5373\u5c0d6\u500b\u7bc0\u76ee\u5206\u5225\u5206\u914d\u4e0d\u540c\u7684PID\u865f\u78bc)\u5f62\u6210\u53eb\u505a\u201cPES\u201d\u7684\u5305\uff0c\u7136\u5f8c\u518d\u7d93\u904eTS\u6d41\u8655\u7406\u7a0b\u5e8f\uff0c\u628a\u9019\u4e9bPES\u5305\u5168\u90e8\u5c01\u88dd\u6210TS\u78bc\u6d41\u683c\u5f0f\uff0c\u6700\u5f8c\u628a\u7372\u5f97\u7684TS\u683c\u5f0f\u7684\u6578\u5b57\u4fe1\u865f\u7d93\u904e\u8abf\u88fd(\u5be6\u73fe\u7684\u662f\u983b\u7387\u7684\u5fa9\u7528)\uff0c\u7136\u5f8c\u7d93\u904eD\/A\u8f49\u63db\u6210\u6a21\u64ec\u4fe1\u865f\uff0c\u518d\u6b21\u8abf\u88fd\u6210\u9ad8\u983b\u4fe1\u865f\uff0c\u7d93\u50b3\u8f38\u7cfb\u7d71\u767c\u9001\u51fa\u53bb\u3002<\/p>\n<p>(2)\u89e3\u78bc\u7cfb\u7d71<\/p>\n<p>\u63a5\u6536\u7cfb\u7d71\u63a5\u6536\u5230\u9ad8\u983b\u4fe1\u865f\uff0c\u5148\u8f49\u5316\u70ba\u4e2d\u983b\u4fe1\u865f\uff0c\u7136\u5f8c\u518d\u7d93\u904e\u4e00\u500b\u9ad8\u901f\u7684A\/D\u8f49\u63db\u6210\u6578\u5b57\u4fe1\u865f\uff0c\u63a5\u8457\u7d93\u904e\u4e00\u500b\u53cd\u8abf\u88fd\u7a0b\u5e8f\uff0c\u9019\u6a23\u5c31\u5f97\u5230\u4e86TS\u78bc\u6d41\u3002 TS\u78bc\u6d41\u9032\u5165\u4e00 \u500b\u88ab\u7a31\u70ba\u201c\u89e3\u5fa9\u7528\u201d\u7684\u7a0b\u5e8f\uff0c\u8a72\u7a0b\u5e8f\u5be6\u73fe\u81ea\u52d5\u5206\u6790TS\u6d41\u4e2d\u7684\u8868\u683c\u4fe1\u606f\uff0c\u8b80\u53d6\u6240\u6709\u53ef\u7528\u7684PID\u4fe1\u606f\u7b49\uff0c\u7136\u5f8c\u63d0\u53d6\u4e00\u500b\u7528\u6236\u6307\u5b9a\u7684PID(\u7528\u6236\u9078\u64c7\u7684\u7bc0\u76ee)\uff0c\u628a\u8a72\u7bc0 \u76ee\u7684\u6578\u5b57\u4fe1\u865f\u5168\u90e8\u63a5\u6536\u800c\u5ffd\u7565\u5176\u4ed6\u4e0d\u9700\u8981\u7684\u4fe1\u865f\uff0c\u7136\u5f8c Video\uff0cAudio\u4fe1\u865f\u5206\u5225\u9032\u5165\u4e0d\u540c\u7684\u89e3\u58d3\u7e2e\u7a0b\u5e8f\uff0c\u5206\u5225\u5c0dVideo\uff0cAudio\u4fe1\u865f\u9032\u884c\u89e3\u58d3\u7e2e\u548c \u986f\u793a\uff0c\u5982\u679c\u8a72\u7bc0\u76ee\u5305\u542b\u4e86Teletext\u548c EPG\uff0c\u4e5f\u6709\u53ef\u80fd\u540c\u6642\u8655\u7406Teletext\u548cEPG\uff0c\u4e26\u4e14\u628a\u8655\u7406\u7684\u7d50\u679c\u548cVideo\u4fe1\u865f\u4e00\u8d77\u758a\u52a0\u5230\u5c4f\u5e55\u4e0a\u3002<\/p>\n<p>Packet\u7684\u6982\u5ff5<\/p>\n<p>(1)TS\u6d41\u662f\u57fa\u65bcPacket\u7684\u4f4d\u6d41\u683c\u5f0f\uff0c\u6bcf\u500b\u5305\u662f188\u5b57\u7bc0\u6216\u8005204\u5b57\u7bc0(\u4e00\u822c\u662f188\u5b57\u7bc0\uff0c204\u5b57\u7bc0\u7684\u683c\u5f0f\u50c5\u50c5\u662f\u5728188\u5b57\u7bc0\u7684Packet\u5f8c\u90e8\u52a0\u4e0a16\u5b57\u7bc0\u7684CRC\u6578\u64da\uff0c\u5176\u4ed6\u683c\u5f0f\u662f\u4e00\u6a23\u7684)\uff0c\u6574\u500bTS\u6d41\u7d44\u6210\u5982\u4e0b\u6240\u793a:<\/p>\n<p>Packet 1 Packet 2 \u3002\u3002\u3002\u3002\u3002\u3002 Packet n<\/p>\n<p>\u5728\u5be6\u969b\u4f7f\u7528\u4e2d\uff0c\u56e0\u70baTS\u6d41\u5df2\u7d93\u5167\u90e8\u5177\u6709\u5f88\u5f37\u7684\u932f\u8aa4\u8655\u7406\u80fd\u529b\uff0c\u6240\u4ee5\u4e00\u822c\u4f7f\u7528\u8f03\u591a\u7684\u662f188\u5b57\u7bc0\u4e00\u500b\u5305\u7684\u683c\u5f0f\uff0c204\u5b57\u7bc0\u4e00\u500b\u5305\u7684\u683c\u5f0f\u64da\u8aaa\u4e00\u822c\u5728\u9ad8\u6e05\u7bc0\u76ee\u4e2d\u4f7f\u7528\u8f03\u591a\u3002<\/p>\n<p>\u6240\u6709\u7684Packet\u683c\u5f0f\u90fd\u662f\u7d71\u4e00\u7684\uff0c\u5305\u62ec\u4e00\u500bPacket header\u548c Packet data\u3002\u5176\u4e2dPacket header\u5305\u542b\u4e86\u540c\u6b65\u5b57\u7bc0(\u8a72\u5b57\u7bc0\u56fa\u5b9a\u662f0x47\uff0c\u8868\u793a\u9019\u500b\u5305\u7684\u6578\u64da\u958b\u59cb\u662f\u6b63\u78ba\u7684)\uff0c\u8a72Packet\u7684\u552f\u4e00\u865f\u78bc(\u5373PID)\u548c\u5176\u4ed6\u4e00\u4e9b\u4fe1\u606f\u3002\u683c\u5f0f\u5982\u4e0b(\u7528C\u683c\u5f0f\u8868\u793a)<\/p>\n<p>[c]<br \/>\ntypedef struct<br \/>\n{<br \/>\n  unsigned sync_byte:8;\/*8 bits\u7684\u540c\u6b65\u5b57\u7bc0*\/<br \/>\n  unsigned transport_error_indicator:1;\/*1 bit\u7684\u932f\u8aa4\u6307\u793a\u4fe1\u606f\uff0c1\u8868\u793a\u7576\u524dPacket\u81f3\u5c11\u67091bit\u7684\u50b3\u8f38\u932f\u8aa4\uff0c0\u8868\u793a\u6240\u6709\u6578\u64da\u90fd\u6b63\u78ba*\/<br \/>\n  unsigned payload_unit_start_indicator:1;\/*\u8ca0\u8f09\u55ae\u5143\u958b\u59cb\u6a19\u8a8c\uff0c\u8acb\u53c3\u8003ISO13818-1\u77ad\u89e3\u8a72\u6a19\u8a8c\u4f5c\u7528*\/<br \/>\n  unsigned transport_priority:1;\/*1 bit\u7684\u50b3\u8f38\u512a\u5148\u7d1a\u6a19\u8a8c\uff0c1\u8868\u793a\u9ad8\u512a\u5148\u7d1a\uff0c0\u8868\u793a\u4f4e\u512a\u5148\u7d1a*\/<br \/>\n  unsigned PID:13;\/*13 bits\u7684Packet ID\u865f\u78bc\uff0c\u552f\u4e00\u7684\u865f\u78bc\u5c0d\u61c9\u4e0d\u540c\u7684\u5305*\/<br \/>\n  unsigned transport_scrambling_control:2;\/*2 bits\u7684\u52a0\u5bc6\u6a19\u8a8c\uff0c00\u8868\u793a\u6c92\u6709\u52a0\u5bc6\uff0c\u5176\u4ed6\u8868\u793a\u5df2\u88ab\u52a0\u5bc6*\/<br \/>\n  unsigned adaptation_field_control:2;\/* 2 bits\u7684\u9644\u52a0\u5340\u57df\u63a7\u5236\uff0c\u8acb\u53c3\u8003ISO13818-1\u77ad\u89e3\u8a72\u6a19\u8a8c\u4f5c\u7528*\/<br \/>\n  unsigned continuity_counter:4;\/*4 bits\u7684\u5305\u905e\u589e\u8a08\u6578\u5668*\/<br \/>\n}PACKET_HEADER;[\/c]<\/p>\n<p>\u4ee5\u4e0a\u7d50\u69cb\u525b\u597d\u4f54\u752832 bits\uff0c\u53734\u500b\u5b57\u7bc0\uff0c\u56e0\u6b64\u4e00\u500bTS\u6d41\u7684Packet\u982d\u90e8\u76844 \u5b57\u7bc0\u662fheader\u4fe1\u606f\uff0c\u5206\u6790\u8a72header\u4fe1\u606f\u5c31\u53ef\u4ee5\u77e5\u9053\u7576\u524dPacket\u7684\u5c6c\u6027\u3002\u5269\u4e0b\u7684184\u5b57\u7bc0\u6709\u53ef\u80fd\u662fVideo\u6578\u64da\uff0c\u4e5f\u6709\u53ef\u80fd\u662fAudio\u6578\u64da\uff0c\u4e5f\u6709\u53ef\u80fd\u662fDVB SI\u4fe1\u606f\uff0c\u600e \u9ebc\u5340\u5206\u5462\uff1f\u5176\u5be6\u5f88\u7c21\u55ae\uff0c\u5c31\u662f\u5229\u7528header\u4e2d\u7684PID\u4fe1\u606f\u3002\u4e0a\u4e00\u7ae0\u8aaa\u4e86PAT\u662f\u7bc0\u76ee\u95dc\u806f\u8868\uff0c\u5b83\u7684PID\u662f 0x0000\u3002\u9019\u500bPID\u5c31\u662f\u5c0d\u61c9\u9019\u88e1 header\u7684PID\u3002\u63db\u53e5\u8a71\u5c31\u662f\u8aaa\uff0c\u5982\u679c\u6211\u5011\u767c\u73fe\u4e00\u500bPacket\u7684PID\u7b49\u65bc0x0000\uff0c\u90a3\u9ebc\u8aaa\u660e\u9019\u500b Packet\u662fDVB\u7684PAT\u8868\u683c\u800c\u4e0d\u662f Video\u6578\u64da\u6216\u8005Audio\u6578\u64da\u3002<\/p>\n<p>\u5be6\u969b\u4e0a\uff0c\u5728\u4fe1\u865f\u7de8\u78bc\u6210TS\u78bc\u6d41\u7684\u6642\u5019\uff0c\u4e0d\u540c\u7bc0\u76ee\u7684Video\uff0cAudio\u7b49\u6578\u64da\u90fd\u5206\u914d\u4e86\u4e0d\u540c\u7684PID\u3002\u4f8b\u5982\uff0c\u4e00\u500b\u7bc0\u76ee\u6709\u5169\u8defVideo\uff0c\u4e09\u8defAudio\uff0c\u90a3\u9ebc\u5206\u914dPID\u7684\u6642\u5019\u53ef\u80fd\u662f Video 1==0x100\uff0cVideo 2==0x101\uff0cAudio 1==0x102\uff0cAudio 2==0x103\uff0c Audio 3==0x104\uff0c \u9019\u6a23\u50b3\u8f38\u7684TS\u78bc\u6d41\u4e2d\u7684PID\u5c31\u53ef\u80fd\u6709\u4ee5\u4e0a\u7684PID\u3002\u56e0\u6b64\uff0c\u5982\u679c\u6211\u5011\u9700\u8981\u5728\u7a0b\u5e8f\u4e2d\u904e\u6ffe\u51fa\u7b2c\u4e00\u8defVideo\u548c\u7b2c\u4e8c\u8def Audio\u5c31\u53ef\u4ee5\u9019\u6a23\u8655\u7406\u4e86(\u507d\u4ee3\u78bc\u63cf \u8ff0):<\/p>\n<p>[c]void Process_Packet(unsigned char*buff)<br \/>\n{<br \/>\n  int PID=GETPID(buff);\/*\u5f9e\u7576\u524d\u7684188\u5b57\u7bc0\u7de9\u885d\u5340\u4e2d\u7372\u53d6PID\u4fe1\u606f*\/<br \/>\n  if(PID==0x100) \/*PID\u7b49\u65bc\u7b2c\u4e00\u8defVideo\u7684PID\uff0c\u8aaa\u660e\u7576\u524d\u6578\u64da\u662fVideo\u6578\u64da*\/<br \/>\n  {<br \/>\n    SaveToVideoBuffer(buff+4);\/*\u628aheader\u5f8c\u90e8\u7684\u6578\u64da\u5b58\u5230Video\u7de9\u885d\u5340\uff0c\u5f85\u5f8c\u90e8\u8655\u7406*\/<br \/>\n  }<br \/>\n  else if(PID==0x103)\/*PID\u7b49\u65bc\u7b2c\u4e8c\u8defAudio\u7684PID\uff0c\u8aaa\u660e\u7576\u524d\u6578\u64da\u662fAudio\u6578\u64da*\/<br \/>\n  {<br \/>\n    SaveToAudioBuffer(buff+4);\/*\u628aheader\u5f8c\u90e8\u7684\u6578\u64da\u5b58\u5230Audio\u7de9\u885d\u5340*\/<br \/>\n  }<br \/>\n  else\/*\u5176\u4ed6PID\u5247\u4e1f\u68c4\uff0c\u7576\u7136\u5982\u679cPID\u662fDVB\u7cfb\u7d71\u4fdd\u7559\u7684PID\u5982PAT\uff0cPMT\u5247\u5fc5\u9808\u8655\u7406*\/<br \/>\n  {<br \/>\n    printf(&quot;unknown PID!\\n&quot;);<br \/>\n  }<br \/>\n}[\/c]<\/p>\n<p>\u73fe\u5728\u7684\u554f\u984c\u662f\uff0c\u7de8\u78bc\u7684\u6642\u5019\u5206\u914d\u597d\u7684PID\uff0c\u5728\u89e3\u78bc\u7684\u6642\u5019\u662f\u600e\u9ebc\u77e5\u9053\u4ec0\u9ebcPID\u5c0d\u61c9\u4ec0\u9ebc\u6578\u64da\u5462\uff1f\u9019\u5c31\u662fDVB SI\u8868\u683c\u7684\u5206\u6790\u8207\u8655\u7406\u4e86\uff0c\u8acb\u53c3\u8003\u7b2c\u4e09\u7ae0\u3002\u9019\u88e1\u5148\u770b\u4e00\u500b\u5be6\u969b\u7684TS\u78bc\u6d41\u7684\u4f8b\u5b50\u3002\u9019\u88e1\u7684\u6578\u64da\u662f\u7528UltraEdit\u752816\u9032\u5236\u683c\u5f0f\u6253\u958bTS\u78bc\u6d41\u6587\u4ef6\u5f97\u5230\u7684\u3002\u6587\u4ef6\u662fTaiwan-551.ts\u3002<\/p>\n<p>\u9019\u88e1\u50c5\u50c5\u622a\u53d6\u4e863\u500bPacket\u7684\u4fe1\u606f\uff0c\u8acb\u6ce8\u610f\u5716\u4e2d\u7528\u7d05\u8272\u6a19\u8a3b\u7684\u90e8\u5206\uff0c\u9019\u5c31\u662fTS\u6d41 Packet\u76844\u500b\u5b57\u7bc0\u7684\u982d\u4fe1\u606f\u3002\u9019\u500bTS\u6d41\u662f\u63a1\u7528\u6bcf\u500b\u5305188\u5b57\u7bc0\u7684\u683c\u5f0f\uff0c\u56e0\u70ba\u5169\u500b\u982d\u4fe1\u606f\u7684\u9593\u9694\u662f188\u500b\u5b57\u7bc0(\u7b2c\u4e00\u500b0x47\u5230\u7b2c\u4e8c\u500b0x47\u7684 \u9593\u9694)\u3002\u4ee5\u5f8c\u7684\u6240\u6709\u7684Packet\u90fd\u5c07\u662f188\u5b57\u7bc0\u7684\u683c\u5f0f\uff0c\u9019\u662f DVB TS\u6a19\u6e96\u898f\u5b9a\u7684\u56fa\u5b9a\u5927\u5c0f\u3002\u90a3\u9ebc\u9019\u4e09\u500b\u5305\uff0c\u5206\u5225\u5305\u542b\u7684\u662f\u4ec0\u9ebc\u6578\u64da\uff0c\u4e0b\u9762\u6211\u5011\u53ef\u4ee5\u81ea\u5df1\u5206\u6790\u4e00\u4e0b\u3002<\/p>\n<p>\u5148\u770b\u7b2c\u4e00\u500b\u5305\uff0c\u982d\u4fe1\u606f\u6578\u64da\u662f&#8221;0x47 0x07 0xe5 0x12&#8243;\uff0c\u525b\u624d\u5df2\u7d93\u77e5\u9053\u4e86\uff0cheader\u4fe1\u606f\u90fd\u662f\u6309\u4f4d\u64cd\u4f5c\u7684(\u9019\u5c31\u662f\u70ba\u4ec0\u9ebcTS\u78bc\u6d41\u4e5f\u53ef\u4ee5\u53eb\u505a\u4f4d\u6d41\u7684\u539f\u56e0)\uff0c\u7279\u5225\u8981\u6ce8\u610f\u7684\u662f\u5b9a\u7fa9\u548c\u50b3\u8f38\u7684\u6642\u5019\u90fd\u662fMSB first\uff0c\u4e5f\u5c31\u662f\u8aaa\uff0c\u5148\u51fa\u73fe\u7684\u4f4d\u662f\u6578\u64da\u7684\u6700\u9ad8\u4f4d\u3002\u5148\u8f49\u5316\u62102\u9032\u5236\u683c\u5f0f:<\/p>\n<p>01000111 00000111 11100101 00010010<\/p>\n<p>\u8acb\u5c0d\u7167\u4e0a\u9762\u7684PACKET_HEADER\u7d50\u69cb:<\/p>\n<p>[c]typedef struct<br \/>\n{<br \/>\n  unsigned sync_byte:8;<br \/>\n  unsigned transport_error_indicator:1;<br \/>\n  unsigned payload_unit_start_indicator:1;<br \/>\n  unsigned transport_priority:1;<br \/>\n  unsigned PID:13;<br \/>\n  unsigned transport_scrambling_control:2;<br \/>\n  unsigned adaptation_field_control:2;<br \/>\n  unsigned continuity_counter:4;<br \/>\n}PACKET_HEADER;[\/c]<\/p>\n<p>\u90a3\u9ebc\u5c0d\u7167\u4e00\u4e0b\uff0c\u6211\u5011\u53ef\u4ee5\u767c\u73fe:<br \/>\nsync_byte=01000111\uff0c\u5c31\u662f0x47\uff0c\u9019\u662fDVB TS\u898f\u5b9a\u7684\u540c\u6b65\u5b57\u7bc0\uff0c\u56fa\u5b9a\u662f0x47\u3002<br \/>\ntransport_error_indicator=0\uff0c\u8868\u793a\u7576\u524d\u5305\u6c92\u6709\u767c\u751f\u50b3\u8f38\u932f\u8aa4\u3002<br \/>\npayload_unit_start_indicator=0\uff0c\u542b\u7fa9\u8acb\u53c3\u8003ISO13818-1\u6a19\u6e96\u6587\u6a94\u3002<br \/>\ntransport_priority=0\uff0c\u8868\u793a\u7576\u524d\u5305\u662f\u4f4e\u512a\u5148\u7d1a\u3002<br \/>\nPID=00111 11100101\u53730x07e5\uff0c\u9019\u4ee3\u8868\u662f\u4ec0\u9ebc\u5462\uff0c\u66ab\u6642\u9084\u4e0d\u77e5\u9053(\u5be6\u969b\u4e0a\u662fVideo PID\uff0c\u53c3\u8003\u4e0b\u5716)<br \/>\ntransport_scrambling_control=00\uff0c\u8868\u793a\u7bc0\u76ee\u6c92\u6709\u52a0\u5bc6<br \/>\nadaptation_field_control=01\u53730x01\uff0c\u5177\u9ad4\u542b\u7fa9\u8acb\u53c3\u8003ISO13818-1<br \/>\ncontinuity_counte=0010\u53730x02\uff0c\u8868\u793a\u7576\u524d\u50b3\u9001\u7684\u76f8\u540c\u985e\u578b\u7684\u5305\u662f\u7b2c3\u500b<\/p>\n<p>\u4f9d\u6b64\u985e\u63a8\uff0c\u518d\u770b\u4e00\u4e0b\u7b2c\u4e8c\u500b\u5305&#8221;0x47 0x07 0xe5 0x13&#8243;\uff0c2\u9032\u5236\u662f01000111 00000111 11100101 00010011<\/p>\n<p>sync_byte=01000111\uff0c\u5c31\u662f0x47\uff0c\u9019\u662fDVB TS\u898f\u5b9a\u7684\u540c\u6b65\u5b57\u7bc0\uff0c\u56fa\u5b9a\u662f0x47\u3002<br \/>\ntransport_error_indicator=0\uff0c\u8868\u793a\u7576\u524d\u5305\u6c92\u6709\u767c\u751f\u50b3\u8f38\u932f\u8aa4\u3002<br \/>\npayload_unit_start_indicator=0\uff0c\u542b\u7fa9\u8acb\u53c3\u8003ISO13818-1\u6a19\u6e96\u6587\u6a94<br \/>\ntransport_priority=0\uff0c\u8868\u793a\u7576\u524d\u5305\u662f\u4f4e\u512a\u5148\u7d1a\u3002<br \/>\nPID=00111 11100101\u53730x07e5\uff0c\u9019\u4ee3\u8868\u662f\u4ec0\u9ebc\u5462\uff0c\u66ab\u6642\u9084\u4e0d\u77e5\u9053(\u5be6\u969b\u4e0a\u662fVideo PID\uff0c\u53c3\u8003\u4e0b\u5716)<br \/>\ntransport_scrambling_control=00\uff0c\u8868\u793a\u7bc0\u76ee\u6c92\u6709\u52a0\u5bc6<br \/>\nadaptation_field_control=01\u53730x01\uff0c\u5177\u9ad4\u542b\u7fa9\u8acb\u53c3\u8003ISO13818-1<br \/>\ncontinuity_counte=0011\u53730x03\uff0c\u8868\u793a\u7576\u524d\u50b3\u9001\u7684\u76f8\u540c\u985e\u578b\u7684\u5305\u662f\u7b2c4\u500b(\u6ce8\u610f\u5230\u4e86\u5427\uff0c\u4ee5\u4e0a\u5169\u500b\u5305\u7684PID\u90fd\u662f0x07e5\uff0c\u6240\u4ee5\u9019\u88e1\u7684continuity_counte\u5c31\u905e\u589e\u4e00\u6b21)<\/p>\n<p>\u7b2c\u4e09\u500b\u5305\u662f&#8221;0x47 0x07 0xf1 0x18&#8243;\uff0c2\u9032\u5236\u662f01000111 00000111 11110001 00011000\u3002<\/p>\n<p>sync_byte=01000111\uff0c\u5c31\u662f0x47\uff0c\u9019\u662fDVB TS\u898f\u5b9a\u7684\u540c\u6b65\u5b57\u7bc0\uff0c\u56fa\u5b9a\u662f0x47\u3002<br \/>\ntransport_error_indicator=0\uff0c\u8868\u793a\u7576\u524d\u5305\u6c92\u6709\u767c\u751f\u50b3\u8f38\u932f\u8aa4\u3002<br \/>\npayload_unit_start_indicator=0\uff0c\u542b\u7fa9\u8acb\u53c3\u8003ISO13818-1\u6a19\u6e96\u6587\u6a94<br \/>\ntransport_priority=0\uff0c\u8868\u793a\u7576\u524d\u5305\u662f\u4f4e\u512a\u5148\u7d1a\u3002<br \/>\nPID=00111 11100101\u53730x07f1\uff0c\u9019\u4ee3\u8868\u662f\u4ec0\u9ebc\u5462\uff0c\u66ab\u6642\u9084\u4e0d\u77e5\u9053(\u5be6\u969b\u4e0a\u662fAudio PID\uff0c\u53c3\u8003\u4e0b\u5716)<br \/>\ntransport_scrambling_control=00\uff0c\u8868\u793a\u7bc0\u76ee\u6c92\u6709\u52a0\u5bc6<br \/>\nadaptation_field_control=01\u53730x01\uff0c\u5177\u9ad4\u542b\u7fa9\u8acb\u53c3\u8003ISO13818-1<br \/>\ncontinuity_counte=1000\u53730x08\uff0c\u8868\u793a\u7576\u524d\u50b3\u9001\u7684\u76f8\u540c\u985e\u578b\u7684\u5305\u662f\u7b2c9\u500b<\/p>\n<p>\u8acb\u770b\u89e3\u78bc\u7a0b\u5e8fSeekfor MPEG-2 decoder\u8b80\u53d6\u8a72\u6587\u4ef6\u7684\u7d50\u679c:<\/p>\n<p>\u4e0a\u5716\u6211\u5011\u53ef\u4ee5\u767c\u73fe\uff0cTaiwan-551.ts\u6709\u4e00\u500b\u7bc0\u76ee\u53eb&#8221;DIMO&#8221;\uff0c\u5b83\u7684Video PID\u662f0x07e5\uff0cAudio PID\u662f0x07e6<br \/>\n\u9084\u6709\u4e00\u500b\u7bc0\u76ee\u53eb&#8221;Service 1&#8243;\uff0c\u6c92\u6709Video PID\uff0c\u5b83\u7684Audio PID\u662f0x07f1(\u8aaa\u660e\u662f\u4e00\u500b\u5ee3\u64ad\u7bc0\u76ee\u800c\u975e\u96fb\u8996\u7bc0\u76ee)<br \/>\n\u9019\u500b\u6578\u64da\u525b\u597d\u548c\u6211\u5011\u525b\u624d\u7684\u5206\u6790\u662f\u543b\u5408\u7684\u3002<\/p>\n<p>\u4f46\u662f\u6211\u60f3\u5927\u5bb6\u9084\u6709\u7591\u554f\uff0c\u70ba\u4ec0\u9ebc0x07e5\u4ee3\u8868Video PID\uff0c0x07e6\u4ee3\u8868\u5176\u4e2d\u4e00\u500bAudio PID\u5462\uff1f\u9019\u5c31\u662f\u525b\u624d\u63d0\u5230\u7684\uff0c\u9019\u662fTS\u6d41\u5728\u7de8\u78bc\u7684\u6642\u5019\u5c31\u5206\u914d\u597d\u4e86\u7684\u3002\u4f46\u662f\uff0c\u5728\u89e3\u78bc\u7684\u6642\u5019\u662f\u600e\u9ebc\u77e5\u90530x07e5\u5c31\u4ee3\u8868\u7684\u662f Video\u800c\u4e0d\u662fAudio\u5462\uff1f\u9019\u5c31\u662f\u7b2c\u4e09\u7ae0\u7684\u5167\u5bb9:DVB SI\/PSI\u5206\u6790\u548c \u8655\u7406\u3002<\/p>\n<p>\u7b2c\u4e09\u7ae0 DVB SI\/PSI\u5206\u6790\u548c\u8655\u7406<br \/>\nSI\u662fSpecific Information\u7684\u7c21\u7a31\uff0cPSI\u662f Program Specific Information\u3002\u8a72\u6a5f\u5236\u5141\u8a31DVB\u50b3\u9001\u5404\u7a2e\u5404\u6a23\u7684\u4fe1\u606f\uff0c\u6bd4\u5982\u7bc0\u76ee\u540d\u7a31\uff0c\u96fb\u8996\u53f0\u540d\u7a31\uff0c\u5404\u7a2ePID\uff0c\u79c1\u6709\u4fe1\u606f\uff0c\u751a\u81f3\u55ae\u7368\u50b3\u9001\u6578\u64da\u5be6\u73fe\u6578\u64da\u901a\u4fe1\u7b49\u3002\u9019\u4e9b\u529f\u80fd\u7684\u5be6\u73fe\u90fd\u6b78\u529f\u65bcSI\/PSI\u3002<\/p>\n<p>\u5728DVB \u6a19\u6e96\u4e2d\uff0c\u5b9a\u7fa9\u4e86\u4e00\u500b\u6a19\u6e96\u7684PID\u7528\u4f86\u5be6\u73feSI\/PSI\u3002\u9019\u4e9bPID\u662f\u7cfb\u7d71\u4fdd\u7559\u7684\uff0c\u56e0\u6b64DVB\u7de8\u78bc\u7684\u6642\u5019\u4e26\u4e0d\u6703\u7528\u9019\u4e9bPID\u505a\u70baVideo PID\u6216\u8005 Audio PID\u6216\u8005\u5176\u4ed6PID\u3002\u5728\u4e00\u500b\u7c21\u55ae\u7684\u89e3\u5fa9\u7528\u7a0b\u5e8f\u4e2d\uff0c\u53ea\u9700\u8981\u63d0\u4f9b\u8655\u7406PAT\uff0cPMT\u8868\u683c\u7684\u7a0b\u5e8f\u5373\u53ef\u5be6\u73fe\u89e3\u5fa9\u7528\uff0c\u7576\u7136\u5982\u679c\u9700\u8981\u66f4\u53cb\u597d\u7684\u754c\u9762\u548c\u5be6\u73fe\u66f4\u8907\u96dc\u7684\u529f\u80fd\uff08\u5982CA\uff09\u5247\u5fc5\u9808\u8655\u7406\u5176\u4ed6\u7684SI\u8868\u3002\u5728\u9019\u88e1\u50c5\u50c5\u5206\u6790 PAT\uff0cPMT\uff0cSDT\u8868\u683c\uff0c\u5176\u4ed6SI\u8868\u683c\u7684\u5206\u6790\uff0c\u8acb\u53c3\u8003ISO13818-1(MPEG-2\u7cfb\u7d71\u5c64\u6a19\u6e96)\u548cEN300468(DVB SI\u6a19\u6e96)\u6587\u6a94\u3002<\/p>\n<p>DVB\u5b9a\u7fa9\u7684SI\u4fdd\u7559\u7684PID\u5206\u5225\u662f:<\/p>\n<p>\u4e0a\u8868\u683c\u7684PID\u5c31\u662fDVB\u4fdd\u7559\u7684PID\uff0c\u5206\u914d\u7684\u5176\u4ed6PID\u4e00\u5b9a\u4e0d\u6703\u4f54\u7528\u9019\u4e9bPID\u3002\u89e3\u5fa9\u7528\u7a0b\u5e8f\u9700\u8981\u4f7f\u7528\u5230\u7684\u8868\u683c\u53ea\u6709PAT\uff0cPMT\uff0cSDT\uff0c\u800cCA\u61c9\u7528\u9084\u9700\u8981\u4f7f\u7528CAT\uff0cEPG\u61c9\u7528\u9084\u9700\u8981\u4f7f\u7528NIT\uff0cEIT\uff0cTDT\uff0cTOT\u7b49\u8868\u683c\u3002\u6240\u4ee5\u5728\u9700\u8981\u89e3\u5fa9\u7528\u7684\u6642\u5019\uff0c\u507d\u4ee3\u78bc\u9700\u8981\u9019\u6a23\u5beb:<\/p>\n<p>[c]void Process_Packet(unsigned char*buff)<br \/>\n{<br \/>\n  int PID=GETPID(buff);<br \/>\n  if(PID==0x0000) \/*\u9019\u662fPAT\u8868*\/<br \/>\n  {<br \/>\n    Process_PAT(buff+4);\/*\u8655\u7406PA\uff34\u8868*\/<br \/>\n  }<br \/>\n  else if(PID==&#8230;)\/*Video \u6216\u8005Audio*\/<br \/>\n  { <\/p>\n<p>  }<br \/>\n  else\/*\u5176\u4ed6\u4e0d\u652f\u6301\u7684PID*\/<br \/>\n  {<br \/>\n    printf(&quot;Unknown PID!&quot;);<br \/>\n  }<br \/>\n}[\/c]<\/p>\n<p>\u6240\u6709\u7684\u8868\u683c\u90fd\u958b\u59cb\u65bcPacket\u4e2d\u7684184\u5b57\u7bc0\u7684\u6578\u64da\u90e8\u5206\uff0c\u4f46\u6709\u7684\u6642\u5019\u4e00\u500b\u8868\u683c\u6c92\u6709184\u5b57\u7bc0\uff0c\u9019\u6642\u5728Packet\u4e2d\u5c31\u53ef\u80fd\u63d2\u5165\u4e00\u4e9b\u7121\u6548\u4fe1\u606f\u7528\u4f86\u586b\u5145\u4f7f\u6574\u500b Packet\u4f9d\u7136\u4fdd\u6301\u662f188\u5b57\u7bc0\u3002\u4e5f\u53ef\u80fd\u7528\u982d\u4fe1\u606f\u4e2d\u7684 payload_unit_start_indicator\u6a19\u8a8c\u8868\u683c\u6709\u500b\u504f\u79fb\u4f4d\u7f6e\uff08\u7576 payload_unit_start_indicator=0\u8868\u793a\u8868\u683c\u6578\u64da\u76f4\u63a5\u5f9ePacket\u5340\u7684\u7b2c\u56db\u500b\u5b57\u7bc0\u958b\u59cb\uff0c\u5426\u5247\u8868\u793a\u6709\u4e00\u500b\u504f\u79fb\u91cf\u4f4d\u7f6e\u958b\u59cb\uff0c\u5177\u9ad4 \u8acb\u53c3\u8003ISO13818-1\uff0c\u7b2c4\u5b57\u7bc0\u5230\u504f\u79fb\u91cf\u9593\u7684\u6578\u64da\u662f\u7cfb\u7d71\u586b \u5145\u7684\u7121\u6548\u6578\u64da\uff09\u3002<\/p>\n<p>\u4e0b\u9762\u91dd\u5c0d\u89e3\u5fa9\u7528\u7a0b\u5e8f\u8a73\u7d30\u5206\u6790\u4e00\u4e0bPAT\uff0cPMT\u548cSDT\u4e09\u985e\u8868\u683c\u7684\u683c\u5f0f\u3002<\/p>\n<p>PAT\uff0c Program Association Table\uff0c\u7bc0\u76ee\u95dc\u806f\u8868<\/p>\n<p>PAT\u8868\u651c\u5e36\u4ee5\u4e0b\u4fe1\u606f:<br \/>\n(1) TS\u6d41ID&#8212; transport_stream_id\uff0c\u8a72ID\u6a19\u8a8c\u552f\u4e00\u7684\u6d41ID<br \/>\n(2) \u7bc0\u76ee\u983b\u9053\u865f&#8211; program_number\uff0c\u8a72\u865f\u78bc\u6a19\u8a8cTS\u6d41\u4e2d\u7684\u4e00\u500b\u983b\u9053\uff0c\u8a72\u983b\u9053\u53ef\u4ee5\u5305\u542b\u5f88\u591a\u7684\u7bc0\u76ee(\u5373\u53ef\u4ee5\u5305\u542b\u591a\u500bVideo PID\u548cAudio PID)<br \/>\n(3) PMT\u7684PID&#8212; program_map_PID\uff0c\u8868\u793a\u672c\u983b\u9053\u4f7f\u7528\u7684\u54ea\u500bPID\u505a\u70baPMT\u7684PID\uff0c\u56e0\u70ba\u53ef\u4ee5\u6709\u5f88\u591a\u7684\u983b\u9053\uff0c\u56e0\u6b64DVB\u898f\u5b9aPMT\u7684PID\u53ef\u4ee5\u7531\u7528\u6236\u81ea\u5df1\u5b9a\u7fa9\u3002<\/p>\n<p>PAT\u8868\u5b9a\u7fa9\u5982\u4e0b:<\/p>\n<p>\u5404\u5b57\u6bb5\u542b\u7fa9\u5982\u4e0b:<br \/>\ntable_id:8 bits\uff0c\u6a19\u8a8c\u672c\u8868\u683c\u7684\u985e\u578b\uff0c\u61c9\u8a72\u662f0x00<br \/>\nsection_syntax_indicator:1 bit\uff0c\u6bb5\u8a9e\u6cd5\u6a19\u8a8c\uff0c\u61c9\u8a72\u662f&#8217;1&#8242;<br \/>\n&#8216;0&#8217;:\u56fa\u5b9a\u7684&#8217;0&#8217;\uff0c\u9019\u662f\u70ba\u4e86\u9632\u6b62\u548cISO13818Video\u6d41\u683c\u5f0f\u4e2d\u7684\u63a7\u5236\u5b57\u885d\u7a81\u800c\u8a2d\u7f6e\u7684\u3002<br \/>\nReserved:\u4fdd\u7559\u76842bits\uff0c\u4fdd\u7559\u4f4d\u4e00\u822c\u90fd\u662f&#8217;0&#8242;<br \/>\nsection_length:12bits\u7684\u6bb5\u5927\u5c0f\uff0c\u55ae\u4f4d\u662fBytes\u3002<\/p>\n<p>transport_stream_id:16bits\u7684\u7576\u524d\u6d41ID\uff0cDVB\u5167\u552f\u4e00\u3002(\u4e8b\u5be6\u4e0a\u5f88\u591a\u90fd\u662f\u81ea\u5b9a\u7fa9\u7684TS ID)<\/p>\n<p>version_number:5bits\u7248\u672c\u865f\u78bc\uff0c\u6a19\u8a3b\u7576\u524d\u7bc0\u76ee\u7684\u7248\u672c\u3002\u9019\u662f\u500b\u975e\u5e38\u6709\u7528\u7684\u53c3\u6578\uff0c\u7576\u6aa2\u6e2c\u5230\u9019\u500b\u5b57\u6bb5\u6539\u8b8a\u6642\uff0c\u8aaa\u660eTS\u6d41\u4e2d\u7684\u7bc0\u76ee\u5df2\u7d93\u8b8a\u5316\u4e86\uff0c\u7a0b\u5e8f\u5fc5\u9808\u91cd\u65b0\u641c\u7d22\u7bc0\u76ee\u3002<\/p>\n<p>current_next_indicator:1bit:\u7576\u524d\u9084\u662f\u672a\u4f86\u4f7f\u7528\u6a19\u8a8c\u7b26\uff0c\u4e00\u822c\u60c5\u6cc1\u4e0b\u70ba&#8217;0&#8242;<br \/>\nsection_number:8bits\u7576\u524d\u6bb5\u865f\u78bc<br \/>\nlast_section_number:8bits\u6700\u5f8c\u6bb5\u865f\u78bc (section_number\u548clast_section_number\u7684\u529f\u80fd\u662f\u7576PAT\u5167\u5bb9&gt;184\u5b57\u7bc0\u6642\uff0cPAT\u8868\u6703\u5206\u6210\u591a\u500b\u6bb5 (sections)\uff0c\u89e3\u5fa9\u7528\u7a0b\u5e8f\u5fc5\u9808\u5728\u5168\u90e8\u63a5\u6536\u5b8c\u6210\u5f8c\u518d\u9032\u884cPAT\u7684\u5206\u6790)<\/p>\n<p>\u5f9efor()\u958b\u59cb\uff0c\u5c31\u662f\u63cf\u8ff0\u4e86\u7576\u524d\u6d41\u4e2d\u7684\u983b\u9053\u6578\u76ee(N)\uff0c\u6bcf\u4e00\u500b\u983b\u9053\u5c0d\u61c9\u7684PMT PID\u662f\u4ec0\u9ebc\u3002\u89e3\u5fa9\u7528\u7a0b\u5e8f\u9700\u8981\u548c\u4e0a\u5716\u985e\u4f3c\u7684\u5faa\u74b0\u4f86\u63a5\u6536\u6240\u6709\u7684\u983b\u9053\u865f\u78bc\u548c\u5c0d\u61c9\u7684PMT PID\uff0c\u4e26\u628a\u9019\u4e9b\u4fe1\u606f\u5728\u7de9\u885d\u5340\u4e2d\u4fdd\u5b58\u8d77\u4f86\u3002\u5728\u5f8c\u90e8\u7684\u8655\u7406\u4e2d\u9700\u8981\u4f7f\u7528\u5230PMT PID\u3002<\/p>\n<p>CRC_32:\u672c\u6bb5\u7684CRC\u6821\u9a57\u503c\uff0c\u4e00\u822c\u662f\u6703\u5ffd\u7565\u7684\u3002N\u662f\u4e00\u500b\u8b8a\u91cf\uff0c\u8a08\u7b97\u65b9\u6cd5\u662fN=(section_length-9)\/4\u3002<\/p>\n<p>\u5f9e\u4ee5\u4e0a\u5206\u6790\u6211\u5011\u53ef\u4ee5\u767c\u73fe\uff0cPAT\u8868\u4e3b\u8981\u5305\u542b\u983b\u9053\u865f\u78bc\u548c\u6bcf\u4e00\u500b\u983b\u9053\u5c0d\u61c9\u7684PMT\u7684PID\u865f\u78bc\uff0c\u9019\u4e9b\u4fe1\u606f\u6211\u5011\u5728\u8655\u7406PAT\u8868\u683c\u7684\u6642\u5019\u6703\u4fdd\u5b58\u8d77\u4f86\uff0c\u4ee5\u5f8c\u6703\u4f7f\u7528\u5230\u9019\u4e9b\u6578\u64da\u3002\u4f8b\u5982\u6211\u5011\u53ef\u4ee5\u5b9a\u7fa9\u9019\u6a23\u7684\u6578\u64da\u7d50\u69cb\u4fdd\u5b58\u9019\u4e9b\u4fe1\u606f:<\/p>\n<p>[c]typedef struct<br \/>\n{<br \/>\n  int channel_number;\/*\u983b\u9053\u865f*\/<br \/>\n  int pmt_pid;\/*\u5c0d\u61c9channel_number\u983b\u9053\u865f\u7684PMT\u7684PID*\/<br \/>\n}PMT_ITEM;[\/c]<\/p>\n<p>PMT_ITEM pmt[64];\/*\u5b9a\u7fa9\u6700\u591a64\u500b\u983b\u9053\uff0c\u9019\u500b\u7d50\u69cb\u5728\u5206\u6790PAT\u8868\u683c\u7684\u6642\u5019\u6703\u66f4\u65b0*\/<br \/>\nPMT\uff0c Program Map Table\uff0c\u7bc0\u76ee\u5f71\u5c04\u8868<br \/>\n\u5982\u679c\u4e00\u500bTS\u6d41\u4e2d\u542b\u6709\u591a\u500b\u983b\u9053\uff0c\u90a3\u9ebc\u5c31\u6703\u5305\u542b\u591a\u500bPID\u4e0d\u540c\u7684PMT\u8868\u3002<br \/>\n\u6aa2\u6e2c\u662f\u5426PMT\u7684\u507d\u4ee3\u78bc\u5982\u4e0b:<\/p>\n<p>[c]void Process_Packet(unsigned char*buff)<br \/>\n{<br \/>\n  int I;<br \/>\n  int PID=GETPID(buff);<br \/>\n  if(PID==0x0000)\/*PAT\u8868\u683c*\/<br \/>\n  {<br \/>\n    Process_PAT(buff+4);<br \/>\n  }<br \/>\n  else if(PID==\u3002\u3002\u3002\u3002\u3002)\/*Video PID\u6216\u8005Audio PID*\/<br \/>\n  {<\/p>\n<p>  }<br \/>\n  else<br \/>\n  {<br \/>\n    \/*\u5728\u9019\u88e1\u6aa2\u6e2cPID\u662f\u5426\u662fPMT\u7684PID*\/<br \/>\n    for(i=0;i&amp;lt;64;i++)<br \/>\n    {<br \/>\n      if(PID==pmt[i]\u3002pmt_pid)\/*PID\u7b49\u65bc\u5728PAT\u6aa2\u6e2c\u5230\u7684PMT PID\u76f8\u540c*\/<br \/>\n      {<br \/>\n        Process_PMT(buff+4);\/*\u8aaa\u660e\u7576\u524dPacket\u662fPMT\uff0c\u9032\u5165\u8655\u7406*\/<br \/>\n        break;<br \/>\n      }<br \/>\n    }<br \/>\n  }<br \/>\n}[\/c]<\/p>\n<p>PMT\u8868\u4e2d\u5305\u542b\u7684\u6578\u64da\u5982\u4e0b:<br \/>\n(1) \u7576\u524d\u983b\u9053\u4e2d\u5305\u542b\u7684\u6240\u6709Video\u6578\u64da\u7684PID<br \/>\n(2) \u7576\u524d\u983b\u9053\u4e2d\u5305\u542b\u7684\u6240\u6709Audio\u6578\u64da\u7684PID<br \/>\n(3) \u548c\u7576\u524d\u983b\u9053\u95dc\u806f\u5728\u4e00\u8d77\u7684\u5176\u4ed6\u6578\u64da\u7684PID(\u5982\u6578\u5b57\u5ee3\u64ad\uff0c\u6578\u64da\u901a\u8a0a\u7b49\u4f7f\u7528\u7684PID)<\/p>\n<p>PMT\u5b9a\u7fa9\u5982\u4e0b:<\/p>\n<p>\u5404\u5b57\u6bb5\u542b\u7fa9\u5982\u4e0b:<br \/>\ntable_id:8bits\u7684ID\uff0c\u61c9\u8a72\u662f0x02<br \/>\nsection_syntax_indicator:1bit\u7684\u6bb5\u8a9e\u6cd5\u6a19\u8a8c\uff0c\u61c9\u8a72\u662f&#8217;1&#8242;<br \/>\n&#8216;0&#8217;:\u56fa\u5b9a\u662f&#8217;0&#8217;\uff0c\u5982\u679c\u4e0d\u662f\u8aaa\u660e\u6578\u64da\u6709\u932f\u3002<br \/>\nreserved:2bits\u4fdd\u7559\u4f4d\uff0c\u61c9\u8a72\u662f&#8217;00&#8217;<br \/>\nsection_length:16bits\u6bb5\u9577\u5ea6\uff0c\u5f9eprogram_number\u958b\u59cb\uff0c\u5230CRC_32(\u5305\u542b)\u7684\u5b57\u7bc0\u7e3d\u6578\u3002<br \/>\nprogram_number:16bits\u7684\u983b\u9053\u865f\u78bc\uff0c\u8868\u793a\u7576\u524d\u7684PMT\u95dc\u806f\u5230\u7684\u983b\u9053\u3002\u63db\u53e5\u8a71\u5c31\u662f\u8aaa\uff0c\u7576\u524d\u63cf\u8ff0\u7684\u662fprogram_number\u983b\u9053\u7684\u4fe1\u606f\u3002<\/p>\n<p>reserved:2bits\u4fdd\u7559\u4f4d\uff0c\u61c9\u8a72\u662f&#8217;00&#8217;<\/p>\n<p>version_number:\u7248\u672c\u865f\u78bc\uff0c\u5982\u679cPMT\u5167\u5bb9\u6709\u66f4\u65b0\uff0c\u5247version_number\u6703\u905e\u589e1\u901a\u77e5\u89e3\u5fa9\u7528\u7a0b\u5e8f\u9700\u8981\u91cd\u65b0\u63a5\u6536\u7bc0\u76ee\u4fe1\u606f\uff0c\u5426\u5247version_number\u662f\u56fa\u5b9a\u4e0d\u8b8a\u7684\u3002<\/p>\n<p>current_next_indicator:\u7576\u524d\u672a\u4f86\u6a19\u8a8c\u7b26\uff0c\u4e00\u822c\u662f0<br \/>\nsection_number:\u7576\u524d\u6bb5\u865f\u78bc<br \/>\nlast_section_number:\u6700\u5f8c\u6bb5\u865f\u78bc\uff0c\u542b\u7fa9\u548cPAT\u4e2d\u7684\u5c0d\u61c9\u5b57\u6bb5\u76f8\u540c\uff0c\u8acb\u53c3\u8003PAT\u90e8\u5206\u3002<br \/>\nreserved:3bits\u4fdd\u7559\u4f4d\uff0c\u4e00\u822c\u662f&#8217;000&#8217;\u3002<br \/>\nPCR_PID:13bits\u7684PCR PID\uff0c\u5177\u9ad4\u8acb\u53c3\u8003ISO13818-1\uff0c\u89e3\u5fa9\u7528\u7a0b\u5e8f\u4e0d\u4f7f\u7528\u8a72\u53c3\u6578\u3002<br \/>\nreserved:4bits\u4fdd\u7559\u4f4d\uff0c\u4e00\u822c\u662f&#8217;0000&#8242;<\/p>\n<p>program_info_length:\u7bc0\u76ee\u4fe1\u606f\u9577\u5ea6(\u4e4b\u5f8c\u7684\u662fN\u500b\u63cf\u8ff0\u7b26\u7d50\u69cb\uff0c\u4e00\u822c\u53ef\u4ee5\u5ffd\u7565\u6389\uff0c\u9019\u500b\u5b57\u6bb5\u5c31\u4ee3\u8868\u63cf\u8ff0\u7b26\u7e3d\u7684\u9577\u5ea6\uff0c\u55ae\u4f4d\u662fBytes)<\/p>\n<p>\u7dca\u63a5\u8457\u5c31\u662f\u983b\u9053\u5167\u90e8\u5305\u542b\u7684\u7bc0\u76ee\u985e\u578b\u548c\u5c0d\u61c9\u7684PID\u865f\u78bc\u4e86\u3002<br \/>\nstream_type:8bits\u6d41\u985e\u578b\uff0c\u6a19\u8a8c\u662fVideo\u9084\u662fAudio\u9084\u662f\u5176\u4ed6\u6578\u64da\u3002<br \/>\nreserved:3 bits\u4fdd\u7559\u4f4d\u3002<br \/>\nelementary_PID:13bits\u5c0d\u61c9\u7684\u6578\u64daPID\u865f\u78bc(\u5982\u679cstream_type\u662fVideo\uff0c\u90a3\u9ebc\u9019\u500bPID\u5c31\u662fVideo PID\uff0c\u5982\u679cstream_type\u6a19\u8a8c\u662fAudio\uff0c\u90a3\u9ebc\u9019\u500bPID\u5c31\u662fAudio PID)<br \/>\nreserved:4 bits\u4fdd\u7559\u4f4d\u3002<br \/>\nES_info_length:\u548cprogram_info_length\u985e\u4f3c\u7684\u4fe1\u606f\u9577\u5ea6(\u5176\u5f8c\u662fN2\u500b\u63cf\u8ff0\u7b26\u865f)<br \/>\nCRC_32:32bits\u6bb5\u672b\u5c3e\u662f\u672c\u6bb5\u7684CRC\u6821\u9a57\u503c\uff0c\u4e00\u822c\u5ffd\u7565\u3002<\/p>\n<p>\u5f9e\u4ee5\u4e0a\u7684\u5206\u6790\u53ef\u4ee5\u770b\u51fa\uff0c\u53ea\u8981\u6211\u5011\u8655\u7406\u4e86PMT\uff0c\u90a3\u9ebc\u6211\u5011\u5c31\u53ef\u4ee5\u7372\u53d6\u983b\u9053\u4e2d\u6240\u6709\u7684PID\u4fe1\u606f\uff0c\u4f8b\u5982\u7576\u524d\u983b\u9053\u5305\u542b\u591a\u5c11\u500bVideo\uff0c\u5171\u591a\u5c11\u500bAudio\uff0c\u548c\u5176\u4ed6\u6578\u64da\uff0c\u9084\u80fd\u77e5\u9053\u6bcf\u7a2e\u6578\u64da\u5c0d\u61c9\u7684PID\u5206\u5225\u662f\u4ec0\u9ebc\u3002<\/p>\n<p>\u9019\u6a23\u5982\u679c\u6211\u5011\u8981\u9078\u64c7\u5176\u4e2d\u4e00\u500bVideo\u548cAudio\u6536\u770b\uff0c\u90a3\u9ebc\u53ea\u9700\u8981\u628a\u8981\u6536\u770b\u7684\u7bc0\u76ee\u7684Video PID\u548cAudio PID\u4fdd\u5b58\u8d77\u4f86\uff0c\u5728\u8655\u7406Packet\u7684\u6642\u5019\u9032\u884c\u904e\u6ffe\u5373\u53ef\u5be6\u73fe\u3002<\/p>\n<p>\u6bd4\u8f03\u5168\u9762\u5be6\u73fe\u89e3\u5fa9\u7528\u7684\u507d\u4ee3\u78bc\u5982\u4e0b:<\/p>\n<p>[c]int Video_PID=0x07e5\uff0cAudio_PID=0x07e6;\/*\u4e00\u822c\u662f\u5728PMT\u6aa2\u7d22\u5f8c\u7531\u7528\u6236\u81ea\u5df1\u8a2d\u7f6e\u9019\u5169\u500b\u5168\u5c40\u503c*\/<br \/>\nvoid Process_Packet(unsigned char*buff)<br \/>\n{<br \/>\n  int I;<br \/>\n  int PID=GETPID(buff);\/*\u7372\u53d6\u7576\u524dPacket\u7684PID*\/<br \/>\n  if(PID==0x0000)\/*0x0000\u8868\u793a\u662fPAT*\/<br \/>\n  {<br \/>\n    Process_PAT(buff+4);<br \/>\n  }<br \/>\n  else if(PID==Video_PID)\/*\u548cVideo_PID\u76f8\u7b49\uff0c\u8aaa\u660e\u7576\u524dPacket\u662f\u4e00\u500bVideo Packet*\/<br \/>\n  {<br \/>\n    SaveToVideoBuffer(buff+4);\/*\u4fdd\u5b58\u5230Video\u7de9\u885d\u5340*\/<br \/>\n  }<br \/>\n  else if(PID==Audio_PID)\/*\u548cAudio_PID\u76f8\u7b49\uff0c\u8aaa\u660e\u7576\u524dPacket\u662f\u4e00\u500bAudio Packet*\/<br \/>\n  {<br \/>\n    SaveToAudioBuffer(buff+4);\/*\u4fdd\u5b58\u5230Audio\u7de9\u885d\u5340*\/<br \/>\n  }<br \/>\n  else<br \/>\n  {<br \/>\n    for( i=0;i&amp;lt;64;i++)<br \/>\n    {<br \/>\n      if(PID==pmt[i]\u3002pmt_pid)<br \/>\n      {<br \/>\n        Process_PMT(buff+4);<br \/>\n        Break;<br \/>\n      }<br \/>\n    }<br \/>\n  }<br \/>\n}[\/c]<\/p>\n<p>\u4ee5\u4e0a\u507d\u4ee3\u78bc\u53ef\u4ee5\u5be6\u73fe\u57fa\u672c\u7684\u89e3\u5fa9\u7528:\u6aa2\u6e2c\u6240\u6709\u7684\u983b\u9053\uff0c\u6aa2\u6e2c\u6240\u6709stream\u7684PID\uff0c\u9078\u64c7\u7279\u5b9a\u7684\u7bc0\u76ee\u9032\u884c\u64ad\u653e\u3002\u53ea\u8981\u8b80\u53d6\u6bcf\u500bPacket\u7684188\u5b57\u7bc0\u7684\u5167\u5bb9\uff0c\u7136\u5f8c\u6bcf\u6b21\u90fd\u8abf\u7528Process_Packet()\u5373\u53ef\u5be6\u73fe\u7c21\u55ae\u7684\u89e3\u5fa9\u7528\u3002<\/p>\n<p>\u4ecb\u7d39\u5230\u9019\u88e1\uff0c\u6211\u5011\u5c31\u53ef\u4ee5\u7e3d\u7d50\u4e00\u4e0bDVB\u641c\u53f0\u7684\u539f\u7406\u4e86\u3002(\u597d!\u6d17\u8033\u606d\u807d!)<\/p>\n<p>\u6a5f\u9802\u76d2\u5148\u8abf\u6574\u9ad8\u983b\u982d\u5230\u4e00\u500b\u56fa\u5b9a\u7684\u983b\u7387(\u5982498MHZ)\uff0c\u5982\u679c\u6b64\u983b\u7387\u6709\u6578\u5b57\u4fe1 \u865f\uff0c\u5247COFDM\u82af\u7247(\u5982MT352)\u6703\u81ea\u52d5\u628aTS\u6d41\u6578\u64da\u50b3\u9001\u7d66MPEG- 2 decoder\u3002 MPEG-2 decoder\u5148\u9032\u884c\u6578\u64da\u7684\u540c\u6b65\uff0c\u4e5f\u5c31 \u662f\u7b49\u5f85\u5b8c\u6574\u7684Packet\u7684\u5230\u4f86\u3002\u7136\u5f8c\u5faa\u74b0\u67e5\u627e\u662f\u5426\u51fa\u73fePID== 0x0000\u7684Packet\uff0c\u5982\u679c\u51fa\u73fe\u4e86\uff0c\u5247\u99ac\u4e0a\u9032\u5165\u5206\u6790PAT\u7684\u8655\u7406\uff0c\u7372\u53d6\u4e86\u6240\u6709\u7684 PMT\u7684PID\u3002\u63a5\u8457\u5faa\u74b0\u67e5\u627e\u662f\u5426\u51fa\u73fePMT\uff0c\u5982\u679c\u767c\u73fe\u4e86\uff0c\u5247\u81ea\u52d5\u9032 \u5165PMT\u5206\u6790\uff0c\u7372\u53d6\u8a72\u983b\u6bb5\u6240\u6709\u7684\u983b\u9053\u6578\u64da\u4e26\u4fdd\u5b58\u3002\u5982\u679c\u6c92\u6709\u767c\u73fePAT\u6216\u8005\u6c92\u6709\u767c\u73fe PMT\uff0c\u8aaa\u660e\u8a72\u983b\u6bb5\u6c92\u6709\u4fe1\u865f\uff0c\u9032\u5165\u4e0b\u4e00\u500b\u983b\u7387\u6383\u7784\u3002<\/p>\n<p>\u5f9e\u4ee5\u4e0a\u63cf\u8ff0\u53ef\u4ee5\u770b\u51fa\uff0c\u6a5f\u9802\u76d2\u641c\u7d22\u983b\u7387\u662f\u96a8\u6a5f\u767c\u751f\u7684\uff0c\u8981\u4f7f\u6bcf\u6b21\u6a5f\u9802\u76d2\u90fd\u80fd\u641c\u7d22\u5230\u4fe1 \u865f\uff0c\u5247\u8981\u6c42TS\u6d41\u6bcf\u9694\u4e00\u6bb5\u6642\u9593\u5c31\u767c\u9001\u4e00\u6b21PAT\u548cPMT\u3002\u4e8b\u5be6\u4e0aDVB\u50b3\u8f38\u7cfb\u7d71\u5c31\u662f\u9019\u9ebc\u505a\u7684\u3002\u56e0\u6b64\u7121\u8ad6\u4f55\u6642\u63a5\u5165\u7d42\u7aef\u7cfb\u7d71\uff0c\u7cfb\u7d71\u90fd\u80fd\u99ac\u4e0a\u641c\u7d22\u5230\u7bc0\u76ee\u4e26\u6b63\u78ba\u89e3 \u5fa9\u7528\u5be6\u73fe\u64ad\u653e\u3002\u4e0d\u50c5\u50c5\u5982\u6b64\uff0c\u5176\u4ed6\u6578\u64da\u4e5f\u90fd\u662f\u4ea4\u66ff\u50b3\u9001\u7684\u3002\u6bd4\u5982\u7b2c\u4e00\u500bPacket\u53ef\u80fd\u662fPAT\uff0c\u7b2c\u4e8c\u500bPacket\u53ef\u80fd\u662fPMT\uff0c\u800c\u7b2c\u4e09\u500bPacket\u53ef\u80fd \u662fVideo 1\uff0c\u7b2c\u56db\u500bPacket\u53ef\u80fd\u662fVideo 2\uff0c\u53ea\u8981\u7cfb\u7d71\u50b3\u8f38\u901f\u5ea6\u8db3\u5920\u5feb(\u5c31\u662f\u7a31\u4e4b\u70ba&#8221;\u78bc\u7387&#8221;\u7684\u6771\u6771)\uff0c\u5be6\u73fe\u5be6\u6642\u64ad\u653e\u662f\u6c92\u6709\u4efb\u4f55\u554f\u984c\u7684\u3002<\/p>\n<p>\u5230\u9019\u88e1\u96d6\u7136\u5be6\u73fe\u77ad\u89e3\u5fa9\u7528\uff0c\u4f46\u53ef\u4ee5\u770b\u51fa\uff0c\u4f7f\u7528\u7684PID\u90fd\u662f\u67af\u71e5\u7684\u6578\u5b57\uff0c\u5982\u679c\u8abf\u53f0\u8981\u7528\u6236 \u81ea\u5df1\u8f38\u5165\u6578\u5b57\u90a3\u53ef\u662f\u592a\u9ebb\u7169\u4e86\uff0c\u800c\u4e14\u9084\u5bb9\u6613\u8f38\u5165\u932f\u8aa4\uff0c\u64cd\u4f5c\u975e\u5e38\u4e0d\u76f4\u89c0\uff0c\u5373\u4f7f\u505a\u6210\u4e00\u500b\u83dc\u55ae\u8b93\u7528\u6236\u9078\u64c7\u4e5f\u662f\u975e\u5e38\u7684\u5446\u677f\u3002\u91dd\u5c0d\u9019\u500b\u554f\u984c\uff0cDVB\u7cfb\u7d71\u63d0\u51fa\u4e86\u4e00\u500b SDT\u8868\u683c\uff0c\u8a72\u8868\u683c\u6a19\u8a8c\u4e00\u500b\u7bc0\u76ee\u7684\u540d\u7a31\uff0c\u4e26\u4e14\u80fd\u548cPMT\u4e2d\u7684PID\u806f\u7e6b\u8d77\u4f86\uff0c\u9019\u6a23\u7528\u6236\u5c31\u53ef\u4ee5\u901a\u904e\u76f4\u63a5\u9078\u64c7\u7bc0\u76ee\u540d\u7a31\u4f86\u9078\u64c7\u7bc0\u76ee\u4e86\u3002<\/p>\n<p>SDT\uff0c Service description section\uff0c\u670d\u52d9\u63cf\u8ff0\u6bb5<br \/>\nSDT\u53ef\u4ee5\u63d0\u4f9b\u7684\u4fe1\u606f\u5305\u62ec:<br \/>\n(1) \u8a72\u7bc0\u76ee\u662f\u5426\u5728\u64ad\u653e\u4e2d<br \/>\n(2) \u8a72\u7bc0\u76ee\u662f\u5426\u88ab\u52a0\u5bc6<br \/>\n(3) \u8a72\u7bc0\u76ee\u7684\u540d\u7a31<\/p>\n<p>SDT\u5b9a\u7fa9\u5982\u4e0b:<\/p>\n<p>\u5404\u5b57\u6bb5\u5b9a\u7fa9\u5982\u4e0b:<br \/>\ntable_id:8bits\u7684ID\uff0c\u53ef\u4ee5\u662f0x42\uff0c\u8868\u793a\u63cf\u8ff0\u7684\u662f\u7576\u524d\u6d41\u7684\u4fe1\u606f\uff0c\u4e5f\u53ef\u4ee5\u662f0x46\uff0c\u8868\u793a\u662f\u5176\u4ed6\u6d41\u7684\u4fe1\u606f(EPG\u4f7f\u7528\u6b64\u53c3\u6578)<br \/>\nsection_syntax_indicator:\u6bb5\u8a9e\u6cd5\u6a19\u8a8c\uff0c\u4e00\u822c\u662f&#8217;1&#8242;<br \/>\nreserved_future_used:2bits\u4fdd\u7559\u672a\u4f86\u4f7f\u7528<br \/>\nreserved:1bit\u4fdd\u7559\u4f4d\uff0c\u9632\u6b62\u63a7\u5236\u5b57\u885d\u7a81\uff0c\u4e00\u822c\u662f&#8217;0&#8217;\uff0c\u4e5f\u6709\u53ef\u80fd\u662f&#8217;1&#8242;<br \/>\nsection_length:12bits\u7684\u6bb5\u9577\u5ea6\uff0c\u55ae\u4f4d\u662fBytes\uff0c\u5f9etransport_stream_id\u958b\u59cb\uff0c\u5230CRC_32\u7d50\u675f(\u5305\u542b)<br \/>\ntransport_stream_id:16bits\u7576\u524d\u63cf\u8ff0\u7684\u6d41ID<br \/>\nreserved:2bits\u4fdd\u7559\u4f4d<br \/>\nversion_number:5bits\u7684\u7248\u672c\u865f\u78bc\uff0c\u5982\u679c\u6578\u64da\u66f4\u65b0\u5247\u6b64\u5b57\u6bb5\u905e\u589e1<br \/>\ncurrent_next_indicator:\u7576\u524d\u672a\u4f86\u6a19\u8a8c\uff0c\u4e00\u822c\u662f&#8217;0&#8217;\uff0c\u8868\u793a\u7576\u524d\u99ac\u4e0a\u4f7f\u7528\u3002<br \/>\noriginal_netword_id:16bits\u7684\u539f\u59cb\u7db2\u7d61ID\u865f<br \/>\nreserved_future_use:8bits\u4fdd\u7559\u672a\u4f86\u4f7f\u7528\u4f4d<\/p>\n<p>\u63a5\u4e0b\u4f86\u662fN\u500b\u7bc0\u76ee\u4fe1\u606f\u7684\u5faa\u74b0:<br \/>\nservice_id:16 bits\u7684\u670d\u52d9\u5668ID\uff0c\u5be6\u969b\u4e0a\u5c31\u662fPMT\u6bb5\u4e2d\u7684program_number\u3002<br \/>\nreserved_future_used:6bits\u4fdd\u7559\u672a\u4f86\u4f7f\u7528\u4f4d<br \/>\nEIT_schedule_flag:1bit\u7684EIT\u4fe1\u606f\uff0c1\u8868\u793a\u7576\u524d\u6d41\u5be6\u73fe\u4e86\u8a72\u7bc0\u76ee\u7684EIT\u50b3\u9001<br \/>\nEIT_present_following_flag:1bits\u7684EIT\u4fe1\u606f\uff0c1\u8868\u793a\u7576\u524d\u6d41\u5be6\u73fe\u4e86\u8a72\u7bc0\u76ee\u7684EIT\u50b3\u9001<br \/>\nrunning_status:3bits\u7684\u904b\u884c\u72c0\u614b\u4fe1\u606f:1-\u9084\u672a\u64ad\u653e 2-\u5e7e\u5206\u9418\u5f8c\u99ac\u4e0a\u958b\u59cb\uff0c3-\u88ab\u66ab\u505c\u64ad\u51fa\uff0c4-\u6b63\u5728\u64ad\u653e\uff0c\u5176\u4ed6&#8212;\u4fdd\u7559<br \/>\nfree_CA_mode:1bits\u7684\u52a0\u5bc6\u4fe1\u606f\uff0c&#8217;1&#8217;\u8868\u793a\u8a72\u7bc0\u76ee\u88ab\u52a0\u5bc6\u3002<\/p>\n<p>\u7dca \u63a5\u8457\u7684\u662f\u63cf\u8ff0\u7b26\uff0c\u4e00\u822c\u662fService descriptor\uff0c\u5206\u6790\u6b64\u63cf\u8ff0\u7b26 \u53ef\u4ee5\u7372\u53d6servive_id\u6307\u5b9a\u7684\u7bc0\u76ee\u7684\u7bc0\u76ee\u540d\u7a31\u3002\u5177\u9ad4\u683c\u5f0f\u8acb\u53c3\u8003 EN300468\u4e2d\u7684Service descriptor\u90e8\u5206\u3002\u5206\u6790\u5b8c\u7562\uff0c\u5247\u7bc0\u76ee \u540d\u7a31\u548c\u7bc0\u76ee\u865f\u78bc\u5df2\u7d93\u806f\u7e6b\u8d77\u4f86\u4e86\u3002\u6a5f\u9802\u76d2\u7a0b\u5e8f\u5c31\u53ef\u4ee5\u7528\u9019\u4e9b\u7bc0\u76ee\u540d\u7a31\u4ee3\u66ff PID\u8b93\u7528\u6236\u9078\u64c7\uff0c\u5f9e\u800c\u5be6\u73fe\u6bd4\u8f03\u53cb\u597d\u7684\u7528\u6236\u754c\u9762!<\/p>\n<p>\u4e0b\u9762\u53c3\u8003\u4e00\u4e0bSeekfor MPEG2 decoder\u4e2d\u7684\u754c\u9762\u548c\u986f\u793a\u4fe1\u606f\u3002<\/p>\n<p>\u4e0a \u5716 \u662fSeekfor MPEG2 decoder\u6253\u958b\u4e09\u500b\u4e0d\u540c\u7684\u78bc\u6d41\u6587\u4ef6(*\u3002ts)\u5f62\u6210\u7684PID\u4fe1\u606f\u548c\u7bc0\u76ee\u540d\u7a31\u3002\u7528 \u6236 \u53ef\u4ee5\u901a\u904e\u5207\u63db\u7bc0\u76ee\u540d\u7a31\u7684\u4e0b\u62c9\u5217\u8868\u6846\u5207\u63db\u7bc0\u76ee\uff0c\u4e5f\u53ef\u4ee5\u901a\u904e&#8221;\u8996\u983b\u6d41&#8221;\u548c&#8221;\u97f3\u983b\u6d41&#8221;\u4e0b\u62c9\u5217\u8868\u6846\u5207\u63dbVideo\u548cAudio!\u9019\u4e9b\u6578\u64da\u90fd\u662f\u901a\u904e\u5206\u6790 PAT\uff0c PMT\u548cSDT\u5f97\u5230\u7684\u3002<\/p>\n<p>\u7b2c\u56db\u7ae0 Teletext\u539f\u7406<br \/>\n\u6b50\u6d32\u63a1\u7528\u7684Teletext \u6a19\u6e96\u53eb\u505a&#8221;ITU-R System B Teletext&#8221;\uff0c\u6a19\u6e96\u6587\u6a94\u662fEN300472\u548cEN300706\u3002\u8a72\u6a19\u6e96\u652f\u6301\u4ee5\u4e0b\u7279\u6027:<\/p>\n<p>(1) 24X40\u7684\u6587\u672c\u5b57\u7b26\u986f\u793a\uff0c\u4e5f\u652f\u6301\u7c21\u55ae\u7684\u5716\u50cf\u4fe1\u606f\u7684\u986f\u793a\u3002<br \/>\n(2) \u652f\u6301\u591a\u9801\u78bc\uff0c\u61c9\u7528\u7a0b\u5e8f\u53ef\u4ee5\u81ea\u7531\u5207\u63db\u5230\u4efb\u610f\u9078\u5b9a\u7684\u9801\u3002<br \/>\n(3) \u652f\u6301\u591a\u8a9e\u8a00\uff0c\u53ef\u4ee5\u5728teletext\u4e2d\u6307\u5b9a\u6240\u4f7f\u7528\u7684\u8a9e\u8a00\u3002<br \/>\n(4) \u6587\u672c\u652f\u6301\u81ea\u5b9a\u7fa9\u80cc\u666f\u8272\uff0c\u81ea\u5b9a\u7fa9\u524d\u666f\u8272\u3002\u652f\u6301\u9577\u5ea6\uff0c\u5bec\u5ea6\u52a0\u500d(double width\uff0cdouble height)<br \/>\n(5) \u6240\u6709\u6578\u64da\u63a1\u7528\u4e86\u5947\u5076\u6821\u9a57\u548c\u6f22\u660e\u78bc\u7de8\u78bc\uff0c\u5177\u6709\u6bd4\u8f03\u5f37\u7684\u932f\u8aa4\u8655\u7406\u529f\u80fd\u3002<br \/>\n(6) \u683c\u5f0f\u57fa\u672c\u517c\u5bb9\u6a21\u64ecTTX\uff0c\u652f\u6301VBI\u63d2\u5165teletext\u6578\u64da\u3002<\/p>\n<p>Teletext\u6578 \u64da\u662f\u5728TS\u6d41\u4e2d\u548cVideo\uff0cAudio\u6578\u64da\u4e00\u8d77\u50b3\u9001 \u7684\u3002EN300472\u898f\u5b9a\u63a1\u7528\u4ee5\u4e0b\u65b9\u6cd5\u8b58\u5225teletext\u6578\u64da\u7684PID:\u5982\u679cPMT\u6bb5\u4e2d \u7684 stream_type==0xbd(private_stream_1)\uff0c\u90a3\u9ebc\u9019\u500b\u6578\u64da\u6d41\u5c31\u662fteletext\u6216\u8005subtitle\u6578\u64da(\u7d71\u7a31\u70ba VBI \u6578\u64da\uff0c\u5177\u9ad4\u5340\u5206\u9084\u9700\u8981\u5728teletext\u5206\u6790\u4e2d\u8655\u7406)\uff0cVBI\u6578\u64da\u958b\u59cb\u65bcPES\u5305\u7684\u6578\u64da\u90e8\u5206\u3002<\/p>\n<p>Teletext\u5728PES\u5305\u4e2d\u7684\u683c\u5f0f\u5982\u4e0b:<br \/>\n\u5404\u5b57\u6bb5\u542b\u7fa9:<br \/>\ndata_identifier:\u6578\u64da\u6a19\u8a8c\u7b26\uff0c\u5982\u679c\u662fteletext\u5fc5\u9808\u7b49\u65bc0x10~0x1f\u3002<br \/>\ndata_unit_id:\u7528\u4f86\u6a19\u8a8c\u662fteletext\u6578\u64da\u9084\u662fsubtitle\u6578\u64da\u30020x02\u8868\u793a\u662fteletext\uff0c0x03\u8868\u793a\u662fsubtitle\u3002<br \/>\ndata_field()\u662f\u6a19\u6e96\u7684teletext\u683c\u5f0f\u7684\u6578\u64da\u5305\uff0c\u53c3\u8003\u4e0b\u5716\u3002\u5be6\u969b\u4e0a\uff0c\u4e00\u500bdata_field\u5c31\u662fteletext\u7684\u4e00\u884c\u6578\u64da\u3002<br \/>\ndata_field()\u7684\u683c\u5f0f\u5982\u4e0b:<br \/>\n\u5404\u5b57\u6bb5\u542b\u7fa9\u5982\u4e0b:<br \/>\nreserved_future_use:2bits\u4fdd\u7559\u672a\u4f86\u4f7f\u7528<br \/>\nfield_parity:1bit\u7684\u5947\u5076\u6a19\u8a8c\uff0c&#8217;1&#8217;\u8868\u793a\u662f\u5076\u6578\u5834(\u4e0b\u534a\u5834)\uff0c&#8217;0&#8217;\u8868\u793a\u5947\u6578\u5834(\u4e0a\u534a\u5834)<br \/>\nline_offset:5bits\uff0c\u5728VBI\u63d2\u5165\u6642\u6307\u5b9a\u7684\u5834\u7dda\u6578\u64da\u3002(\u4ee5\u4e0a\u5169\u500b\u53c3\u6578\u5728\u4f7f\u7528VBI\u786c\u4ef6\u63d2\u5165\u624d\u9700\u8981\u4f7f\u7528)<br \/>\nframing_code:8bits\u7684\u5e40\u540c\u6b65\u4ee3\u78bc\uff0c\u5fc5\u9808\u662f0xe4\u3002<br \/>\nmagazine_and_packet_address:16bits\uff0c\u6307\u5b9a\u7576\u524d\u50b3\u9001\u7684\u96dc\u8a8c\u865f\u78bc\u548c\u5305\u865f\u78bc\uff0c\u63a1\u7528\u7684\u662f\u6f22\u660e8\/4\u7de8\u78bc\u3002<\/p>\n<p>\u5176\u4e2d\u7684\u5305\u865f\u78bc(Packet address)\u5be6\u969b\u4e0a\u4ee3\u8868\u7684\u662fTTX\u9801\u9762\u7684\u884c\u865f\u78bc(0-24)\u3002<\/p>\n<p>data_block:320bits\uff0c40Bytes\u7684\u6578\u64da\u584a\uff0c\u5168\u90e8\u63a1\u7528\u5947\u5076\u6821\u9a57\uff0c\u5c0d\u61c9TTX\u9801\u9762\u768440\u5217\uff0c\u7bc4\u570d\u662f0x00-0x7f(\u6700\u9ad8\u4f4d\u662f\u5947\u5076\u6821\u9a57\u4f4d)\u3002\u628a\u9019\u90e8\u5206\u7684\u6578\u64da\u5168\u90e8\u63d0\u53d6\u51fa\u4f86\uff0c\u5c31\u53ef\u4ee5\u7372\u5f97\u4e00\u500b\u884c\u7684\u5168\u90e8\u6578\u64da(TTX\u662f24\u884cX40\u5217)\u3002<br \/>\n\u56e0\u6b64\uff0c\u89e3teletext\u7684\u8edf\u4ef6\u4e00\u822c\u63a1\u7528\u9019\u6a23\u7684\u6d41\u7a0b:<\/p>\n<p>(1) \u5206\u6790PMT\u8868\uff0c\u7372\u53d6\u4ee3\u8868teletext\u7684PID\uff0c\u6a19\u8a3b\u70baTTX_pid;<br \/>\n(2) \u5728\u89e3\u5fa9\u7528\u7a0b\u5e8f\u4e2d\u904e\u6ffePID==TTX_pid\u7684\u6578\u64da\uff0c\u89e3\u51faPES\u7684\u6578\u64da\u90e8\u5206\u3002<br \/>\n(3) \u628a\u7b2c\u4e8c\u6b65\u5f97\u5230\u7684\u6578\u64da\u90e8\u5206\u5168\u90e8\u4fdd\u5b58\u5230\u4e00\u500b\u7de9\u885d\u5340\uff0c\u76f4\u5230\u6240\u6709\u7684\u6578\u64da\u5168\u90e8\u7de9\u885d\u5b8c\u7562\u3002<br \/>\n(4) \u89e3\u51fapacket address\uff0c\u8a72\u6578\u64da\u4ee3\u8868\u7576\u524d\u7684\u884c\u865f(0-24)\u3002\u5982\u679c\u662f0\uff0c\u5247\u672c\u500bdata block\u5305\u542b\u7684\u662f\u4e3b\u9801\u9762\u4ee3\u78bc\u548c<\/p>\n<p>\u5b50\u9801\u9762\u4ee3\u78bc\u3002\u5982\u679c\u4e0d\u662f0(1-24)\uff0c\u5247\u8aaa\u660edata block\u662f\u5c0d\u61c9\u9801\u7684\u5217\u6578\u64da(40\u500b\u5b57\u7bc0\u7684ASCII)\uff0c\u628a\u9019\u4e9b\u6578\u64da\u89e3\u51fa\u4fdd\u5b58\u5230\u7de9\u885d\u5340\u3002(\u9019\u88e1\u5fc5\u9808\u548cPID\u904e\u6ffe\u4e00\u6a23\uff0c\u904e\u6ffe\u4e3b\u9801\u9762\u865f\u78bc\u548c\u5b50\u9801\u9762\u865f\u78bc\uff0c\u5373\u6c92\u6709\u9078\u64c7\u7684\u9801\u9762\u5ffd\u7565\u6389)<\/p>\n<p>(5) \u5faa\u74b0\u7b2c(4)\u6b65\u76f4\u5230\u6240\u6709\u7684\u5217\u6578\u64da\u5168\u90e8\u89e3\u51fa\u3002<br \/>\n(6) \u628a\u7de9\u885d\u5340\u4e2d\u768424X40\u7684\u6578\u64da\u986f\u793a\u51fa\u4f86\u3002\u4e00\u822c\u662f\u5728RAM\u4e2d\u5b9a\u7fa9\u4e00\u500bunsigned char TTX_DATA[24][40]\u6578\u7d44\u4fdd\u5b58\u3002<\/p>\n<p>Teletext\u662f\u5982\u4f55\u652f\u6301\u81ea\u5b9a\u7fa9\u524d\u666f\u8272\u548c\u80cc\u666f\u8272\u7b49\u7279\u6027\u7684\u5462\uff1f\u5be6\u969b\u4e0a\u975e\u5e38\u7c21\u55ae\uff0c\u5c31\u5305\u542b\u5728\u6bcf\u4e00\u884c\u6578\u64da\u768440\u500b\u5b57\u7bc0\u4e2d\u3002\u6211\u5011\u77e5\u9053\u53ef\u986f\u793aASCII\u7684\u7bc4\u570d\u662f0x20~0x7f\uff0c\u5c0f\u65bc0x20\u7684\u4ee3\u78bc\u5728teletext\u4e2d\u505a\u70ba\u63a7\u5236\u5b57\u7b26(\u9700\u8981\u5728\u986f\u793a\u7a0b\u5e8f\u4e2d\u8655\u7406)\uff0c\u5177\u9ad4\u898f\u5b9a\u5982\u4e0b:<\/p>\n<p>0x00-0x07:\u8a2d\u7f6e\u524d\u666f\u8272\uff0c\u984f\u8272\u5206\u5225\u662f\u9ed1\uff0c\u7d05\uff0c\u7da0\uff0c\u9ec3\uff0c\u85cd\uff0c\u6d0b\u9752\uff0c\u6d0b\u85cd\uff0c\u767d(\u8a2d\u7f6e\u5f8c\u751f\u6548\uff0c\u4e5f\u5c31\u662f\u8aaa\uff0c\u986f\u793a\u7a0b\u5e8f\u9047\u5230\u9019\u4e9b\u4ee3\u78bc\uff0c\u5728\u96a8\u5f8c\u7684\u986f\u793a\u4e2d\u5fc5\u9808\u6539\u8b8a\u524d\u666f\u8272\u5230\u5c0d\u61c9\u7684\u984f\u8272)<br \/>\n0x08:\u958b\u59cb\u9583\u720d\u529f\u80fd\uff0c\u8a2d\u7f6e\u5f8c\u751f\u6548\u3002<br \/>\n0x09:\u7d50\u675f\u9583\u720d\u529f\u80fd\uff0c\u8a2d\u7f6e\u5f8c\u751f\u6548<br \/>\n0x0a:BOX\u7d50\u675f\uff0c\u8a2d\u7f6e\u5f8c\u751f\u6548\u3002<br \/>\n0x0b:BOX\u958b\u59cb\uff0c\u8a2d\u7f6e\u5f8c\u751f\u6548\u3002<br \/>\n0x0c:\u6b63\u5e38\u50cf\u7d20\u5927\u5c0f\uff0c\u8a2d\u7f6e\u5f8c\u751f\u6548\u3002<br \/>\n0x0d:\u5bec\u5ea6\u52a0\u500d\uff0c\u8a2d\u7f6e\u5f8c\u751f\u6548\u3002<br \/>\n0x0e:\u9577\u5ea6\u52a0\u500d\uff0c\u8a2d\u7f6e\u5f8c\u751f\u6548\u3002<br \/>\n0x0f:\u5bec\u5ea6\u548c\u9577\u5ea6\u90fd\u52a0\u500d\uff0c\u8a2d\u7f6e\u5f8c\u751f\u6548\u3002<br \/>\n0x10-0x17:\u8a2d\u7f6e\u99ac\u585e\u514b\u984f\u8272\uff0c\u984f\u8272\u4ee3\u78bc\u540c0x00-0x07\uff0c\u8a2d\u7f6e\u5f8c\u751f\u6548\u3002<br \/>\n0x18:\u4ee5\u5f8c\u56fa\u5b9a\u662f\u986f\u793a\u7a7a\uff0c\u76f4\u5230\u9047\u5230\u5176\u4ed6\u984f\u8272\u5c6c\u6027\u3002\u8a2d\u7f6e\u5f8c\u751f\u6548\u3002<br \/>\n0x19-0x1b:\u8acb\u53c3\u8003EN300706\u6a19\u6e96\u3002<br \/>\n0x1c:\u8a2d\u7f6e\u9ed1\u80cc\u666f\u8272\u3002\u8a2d\u7f6e\u5f8c\u99ac\u4e0a\u751f\u6548\u3002<br \/>\n0x1d:\u8a2d\u7f6e\u65b0\u7684\u80cc\u666f\u8272\uff0c\u4e0b\u4e00\u500b\u5b57\u7b26\u6307\u5b9a\u80cc\u666f\u984f\u8272\uff0c\u4ee3\u78bc\u540c0x0-0x07\u3002<br \/>\n0x1e:\u4fdd\u6301\u99ac\u585e\u514b\u529f\u80fd\uff0c\u8a2d\u7f6e\u5f8c\u751f\u6548\u3002<br \/>\n0x1f:\u53d6\u6d88\u99ac\u585e\u514b\u529f\u80fd\uff0c\u8a2d\u7f6e\u5f8c\u751f\u6548\u3002<\/p>\n<p>\u4ee5 \u4e0a\u6240\u63cf\u8ff0\u7684\u63a7\u5236\u5b57\u7b26\u4f5c\u7528\u7bc4\u570d\u50c5\u50c5\u662f\u4e00\u884c\u3002\u4e5f\u5c31\u662f\u8aaa\u5982\u679c\u9047\u5230\u65b0\u884c\uff0c\u5247\u8a2d\u7f6e\u5168\u90e8\u6062\u5fa9\u9ed8 \u8a8d\u8a2d\u7f6e\uff0cEBU teletext\u7684\u9ed8\u8a8d\u8a2d\u7f6e\u662f:\u9ed1\u80cc\u666f\u8272\uff0c\u767d\u524d\u666f\u8272\uff0c\u7121 \u9583\u720d\uff0c\u7121BOX\uff0c\u6b63\u5e38\u7684\u50cf\u7d20\u5927\u5c0f\uff0c\u7121\u4efb\u4f55\u99ac\u585e\u514b\u529f\u80fd\u3002\u56e0\u6b64\uff0cteletext\u7684 \u986f\u793a\u7a0b\u5e8f\u5fc5\u9808\u4e00\u500b\u5b57\u7b26\u4e00\u500b\u5b57\u7b26\u7684\u5206\u6790\u6578\u64da\uff0c\u76f4\u5230\u6240\u6709\u7684\u6578\u64da\u5168\u90e8\u986f\u793a\u5b8c\u7562\u3002<\/p>\n<p>\u5be6\u969b\u4e0a\uff0cEBU teletext\u4f7f\u7528\u4e864\u500b\u898f\u683c\uff0c\u5305\u62ecV1\u30020\uff0cV1\u30025\uff0cV2\u30025\uff0cV3\u30025\u3002V1\u30020\u53ea\u652f\u6301ASCII\u6587\u672c\u548c\u57fa\u672c\u5c6c\u6027\uff0c\u5176\u4ed6\u898f\u683c\u9084\u652f\u6301\u7c21\u55ae\u5716\u50cf\u548cObjects\uff0c\u8acb\u53c3\u8003EN300706\u7372\u53d6\u66f4\u591a\u7684\u4fe1\u606f\u3002<\/p>\n<p>EBU teletext\u683c\u5f0f\u4f7f\u7528\u4e86\u6f22\u660e\u7de8\u78bc\u65b9\u6cd5\uff0c\u5177\u9ad4\u7de8\u78bc\u683c\u5f0f\u8acb\u53c3\u8003EN300706\u3002<\/p>\n<p>\u4e0b\u9762\u53ef\u4ee5\u53c3\u8003\u4e00\u4e0b&lt;&gt;\u4e2d\u8655\u7406teletext\u7684\u6548\u679c:<\/p>\n<p>(1) \u83dc\u55ae\u4e0a\u7684\u6578\u5b57\u662f\u4e3b\u9801\u9762\uff0c\u4e0b\u4e00\u7d1a\u83dc\u55ae\u662f\u5b50\u9801\u9762:<br \/>\n(2)teletext\u6587\u5b57\u758a\u52a0\u5728Video\u4e0a\u7684\u900f\u660e\u986f\u793a\u6548\u679c:<br \/>\n(3)teletext\u6587\u5b57\u758a\u52a0\u5728Video\u4e0a\u4e0d\u900f\u660e\u7684\u986f\u793a\u6548\u679c:<br \/>\n(4)\u5207\u63db\u5230\u5176\u4ed6\u9801\u9762\u7684\u986f\u793a\u6548\u679c:<\/p>\n<p>\u7b2c\u4e94\u7ae0 EPG\u539f\u7406<br \/>\nEPG\u5c31 \u662f&#8221;\u96fb\u5b50\u7bc0\u76ee\u6307\u5357&#8221;\uff0c\u76f8\u7576\u65bc\u4e00\u500b\u7bc0\u76ee\u83dc\u55ae\u7684\u529f\u80fd\u3002\u5728\u4e00\u500bTS\u6d41\u4e2d\uff0c\u53ef\u4ee5\u63d0\u4f9b\u7576\u524d\u6d41\u7684\u6240\u6709\u4fe1\u606f\uff0c\u5982\u983b\u7387\uff0c\u8abf\u88fd\u65b9\u5f0f\uff0c\u983b\u9053\u865f\uff0c\u6240\u6709\u7bc0\u76ee\u7684PID\uff0c\u540d\u7a31\u7b49\u4fe1\u606f\uff0c \u4e5f\u53ef\u4ee5\u6839\u64da\u9700\u8981\u63d0\u4f9b\u5176\u4ed6\u76f8\u95dc\u806f\u7684TS\u6d41(\u4f8b\u5982\u540c\u4e00\u96fb\u8996\u53f0\u540c\u6b65\u64ad\u653e\u7684\u5176\u4ed6\u983b \u7387\u7684\u7bc0\u76ee\u4fe1\u606f)\u7684\u4fe1\u606f\u3002\u89e3\u78bc\u5668\u63a5\u6536\u9019\u4e9b\u4fe1\u606f\uff0c\u5f62\u6210\u4e00\u500b\u56fa\u5b9a\u683c\u5f0f\u7684\u83dc\u55ae\u8b93\u7528\u6236\u9078\u64c7\u9700 \u8981\u6536\u770b\u7684\u983b\u9053\u6216\u7bc0\u76ee\uff0c\u9019\u5c31\u662f&#8221;EPG&#8221;\u3002\u4e0d\u50c5\u5982\u6b64\uff0cEPG\u9084\u53ef\u4ee5\u5c0d\u7bc0\u76ee\u9032\u884c\u5206\u985e\uff0c\u6bd4\u5982\u7bc0\u76ee\u53ef\u4ee5\u662f\u96fb\u5f71\uff0c\u4e5f\u53ef\u4ee5\u662f\u65b0\u805e\uff0c\u9019\u6a23\uff0c\u628a\u5c6c\u65bc\u96fb\u5f71\u7684\u7bc0\u76ee\u6b78\u5728\u4e00\u8d77\uff0c\u628a\u5c6c\u65bc\u65b0\u805e\u7684\u7bc0\u76ee\u6b78\u5728\u4e00\u8d77\uff0c\u9019\u6a23\u5c0d\u7528\u6236\u4f86\u8aaa\u6aa2\u7d22\u7bc0\u76ee\u5c31\u8b8a\u5f97\u975e\u5e38\u7684\u65b9\u4fbf\u3002<\/p>\n<p>EPG\u7684\u5be6\u73fe\u4e5f\u6b78\u529f\u65bcDVB\u7684SI\u4fe1\u606f\u3002\u548cEPG\u529f\u80fd\u76f8\u95dc\u7684SI\u6709NIT(\u7db2\u7d61\u4fe1\u606f\u8868)\uff0cEIT(\u74b0\u5883\u4fe1\u606f\u8868)\uff0cSDT(\u670d\u52d9\u63cf\u8ff0\u8868)\uff0cBAT(\u7fa4\u7d44\u95dc\u806f\u8868)\uff0cTDT(\u65e5\u671f\u6642\u9593\u8868)\u548cTOT(\u6642\u9593\u504f\u79fb\u8868)\u3002\u4e0b\u9762\u7c21\u55ae\u5206\u6790\u9019\u4e9b\u8868\u6240\u651c\u5e36\u7684\u4fe1\u606f\u3002<\/p>\n<p>NIT\uff0cNetwork Information Table\uff0c\u7db2\u7d61\u4fe1\u606f\u8868\u3002NIT\u63d0\u4f9b\u5982\u7db2\u7d61\u540d\u7a31(\u76f8\u7576\u65bc\u96fb\u8996\u53f0\u540d\u7a31)\uff0c\u50b3\u8f38\u53c3\u6578(\u5982\u983b\u7387\uff0c\u8abf\u88fd\u65b9\u5f0f\u7b49)\u3002\u9019\u500b\u8868\u683c\u4e00\u822c\u662f\u89e3\u78bc\u5668\u5167\u90e8\u4f7f\u7528\u7684\u6578\u64da\uff0c\u7576\u7136\u4e5f\u53ef\u4ee5\u505a\u70baEPG\u7684\u4e00\u500b\u986f\u793a\u6578\u64da\uff0c\u63d0\u4f9b\u7d66\u7528\u6236\u505a\u70ba\u53c3\u8003\u3002<\/p>\n<p>NIT\u683c\u5f0f\u5982\u4e0b:<\/p>\n<p>\u5404\u5b57\u6bb5\u542b\u7fa9\u5982\u4e0b:<\/p>\n<p>table_id:8 bits\u6a19\u8a8c\uff0c\u61c9\u8a72\u662f0x40\u62160x41\u3002\u7576table_id==0x40\u6642\u5019\uff0c\u9019\u500bNIT\u63cf\u8ff0\u7684\u662f\u7576\u524d\u6d41\u7684\u7db2\u7d61\u4fe1\u606f\uff0c\u5426\u5247\u63cf\u8ff0\u7684\u662f\u5176\u4ed6\u6d41\u7684\u7db2\u7d61\u4fe1\u606f(\u4e00\u822c\u662f\u96fb\u8996\u53f0\u540c\u6b65\u64ad\u653e\u7684\u5176\u4ed6TS\u6d41\u4fe1\u606f)\u3002<\/p>\n<p>section_syntax_incicator:1bit\u7684\u6bb5\u8a9e\u6cd5\u6a19\u8a8c\uff0c\u61c9\u8a72\u662f&#8217;1&#8242;<br \/>\nreserved_future_use:1bit\u4fdd\u7559\u672a\u4f86\u4f7f\u7528\u4f4d\uff0c\u4e00\u822c\u662f&#8217;0&#8242;<br \/>\nreserved:2bits\u4fdd\u7559\u4f4d\uff0c\u4e00\u822c\u662f&#8217;00&#8217;\uff0c\u9019\u662f\u9632\u6b62\u63a7\u5236\u5b57\u885d\u7a81\u800c\u8a2d\u7f6e\u7684\u3002<br \/>\nsection_length:12bits\u6bb5\u9577\u5ea6\uff0c\u5f9enetwork_id\u958b\u59cb\uff0c\u5230CRC_32(\u5305\u542b)\u7d50\u675f\u7684\u5b57\u7bc0\u7e3d\u6578\u3002<br \/>\nnetwork_id:16bits\u7684\u7db2\u7d61ID\u865f\u78bc\uff0cDVB\u5167\u552f\u4e00\u7684\u4e00\u500b\u865f\u78bc\uff0c\u6a19\u8a8c\u4e0d\u540c\u7684\u96fb\u8996\u53f0\u3002<br \/>\nReserved:2bits\u4fdd\u7559\u610f\u898b\u4f4d\u3002<br \/>\nversion_number:5bits\u7684\u7248\u672c\u865f\u78bc\uff0c\u7576NIT\u5167\u5bb9\u6709\u4efb\u4f55\u6539\u8b8a\u6642\uff0c\u8a72\u5b57\u6bb5\u6703\u905e\u589e1(\u63d0\u9192\u89e3\u78bc\u5668\u66f4\u65b0NIT\u4fe1\u606f)\u3002<br \/>\ncurrent_next_indicator:1bit\u7684\u7576\u524d\u4e0b\u6b21\u4f7f\u7528\u6a19\u8a8c\uff0c\u4e00\u822c\u662f&#8217;0&#8242;<br \/>\nsection_number:8bits\u7684\u7576\u524d\u6bb5\u865f\u78bc\u3002<br \/>\nlast_section_number:8bits\u7684\u7576\u524d\u6bb5\u865f\u78bc\u3002<br \/>\nreserved_future_use:4bits\u4fdd\u7559\u672a\u4f86\u4f7f\u7528\uff0c\u73fe\u5728\u61c9\u8a72\u662f&#8217;0000&#8217;\u3002<br \/>\nnetwork_descriptors_length:12bits\u7db2\u7d61\u63cf\u8ff0\u7b26\u9577\u5ea6\uff0c\u55ae\u4f4d\u662f\u5b57\u7bc0\u3002<br \/>\ndescriptor():N\u500b\u4e0d\u540c\u7684\u63cf\u8ff0\u7b26\u7d50\u69cb\uff0c\u4e00\u822c\u662f\u7db2\u7d61\u540d\u7a31\u63cf\u8ff0\u7b26\uff0c\u89e3\u78bc\u5668\u5728\u6b64\u7372\u53d6\u7576\u524d\u7684\u7db2\u7d61\u540d\u7a31(\u5373\u96fb\u8996\u53f0\u540d\u7a31)<br \/>\nreserved_future_use:4bits\u672a\u4f86\u4fdd\u7559\u4f4d\uff0c\u7576\u524d\u61c9\u662f&#8217;0000&#8217;\u3002<br \/>\ntransport_stream_loop_length:12bits\u7684\u5b57\u7bc0\u7e3d\u6578\uff0c\u5c31\u662f\u96a8\u5f8c\u7684\u5faa\u74b0\u7684\u5b57\u7bc0\u7e3d\u6578\u3002<br \/>\ntransport_stream_id:16bits\u7684\u7db2\u7d61ID<br \/>\noriginal_network_id:16bits\u539f\u59cb\u7db2\u7d61ID\u3002\u5982\u679coriginal_network_id== transport_stream_id\u8aaa\u660e\u8a72TS\u6d41\u662f\u76f4\u64ad\u7bc0\u76ee\uff0c\u5426\u5247\u8aaa\u660e\u8a72TS\u6d41\u662f\u8f49\u64ad\u7bc0\u76ee\u3002<br \/>\ntransport_descriptors_length:12bits\u7684\u63cf\u8ff0\u7b26\u9577\u5ea6\uff0c\u96a8\u5f8c\u7684N\u500b\u63cf\u8ff0\u7b26\u4f54\u7528\u7684\u5b57\u7bc0\u7e3d\u6578\u3002<br \/>\ndescriptor()\uff0cN\u500b\u63cf\u8ff0\u7b26\uff0c\u53ef\u4ee5\u6709\u591a\u500b\u9023\u7e8c\u4f46\u4e0d\u76f8\u540c\u7684\u63cf\u8ff0\u7b26\u865f\uff0c\u5982\u7db2\u7d61\u540d\u7a31\u63cf\u8ff0\u7b26\uff0c\u50b3\u8f38\u7cfb\u7d71\u53c3\u6578\u63cf\u8ff0\u7b26\uff0c\u89e3\u78bc\u5668\u5206\u6790\u9019\u4e9b\u63cf\u8ff0\u7b26\u7372\u53d6\u7db2\u7d61\u7684\u4e0d\u540c\u4fe1\u606f\u3002<br \/>\nCRC_32:\u6574\u500b\u6bb5\u7684CRC\u6821\u9a57\u503c\uff0c\u4e00\u822c\u53ef\u4ee5\u5ffd\u7565\u3002<\/p>\n<p>EIT\uff0c Event Information Table\uff0c\u74b0\u5883\u4fe1\u606f\u8868\u3002\u74b0\u5883\u4fe1\u606f\u8868\u63d0\u4f9b\u5982\u4e0b\u4fe1\u606f:\u7bc0\u76ee\u6bb5\u7684\u6a19\u8b58\u865f\u3001\u8d77\u59cb\u6642\u9593\u3001\u7bc0\u76ee\u9577\u5ea6\u3001\u64ad\u653e\u72c0\u614b\u3001\u662f\u5426\u52a0\u5bc6\uff1b\u6307\u5411\u7279\u5b9a\u4fe1\u606f\u7684\u93c8\u63a5\u4fe1\u606f\uff1b\u7bc0\u76ee\u6bb5\u591a\u8a9e\u7a2e\u7684\u7c21\u77ed\u4ecb\u7d39\uff1b\u7bc0\u76ee\u6bb5\u7684\u8a73\u7d30\u4ecb\u7d39\uff1b \u5169\u6bb5\u540c\u6a23\u7bc0\u76ee\u6bb5\u7684\u6642\u9593\u504f\u79fb\uff1b\u57fa\u672c\u78bc\u6d41\u985e\u578b\uff0c\u5982\u8996\u983b\u7684\u5e45\u578b\u6bd4\u3001\u4f34\u97f3\u7684\u985e\u578b\u3001\u5b57\u5e55 \u7684\u985e\u578b\u7b49\uff1b\u4f7f\u7528\u7684\u52a0\u5bc6\u7cfb\u7d71\uff1b\u7bc0\u76ee\u985e\u578b\uff0c\u5982\u96fb\u5f71\/\u6232\u5287\u3001\u65b0\u805e\u3001\u7d9c\u85dd\u3001\u9ad4\u80b2\u3001\u5c11 \u5152\u3001\u97f3\u6a02\u3001\u85dd\u8853\u3001\u793e\u6703\u653f\u6cbb\u3001\u6587\u6559\u7b49\uff1b\u7bc0\u76ee\u9650\u5b9a\u5e74\u9f61\u7684\u7d1a\u5225\uff1b\u7d66\u51fa\u5be6\u73fe\u4ea4\u4e92\u5f0f\u56de\u50b3 \u4fe1\u9053\u7684\u96fb\u8a71\u865f\u78bc\uff1b\u70ba\u6eff\u8db3\u5404\u7bc0\u76ee\u6bb5\u7684\u78bc\u7387\u800c\u63d0\u4f9b\u7684\u7de9\u5b58\u5927\u5c0f\u4fe1\u606f\u53ca\u79c1\u6709\u6578\u64da\u7b49\u3002<\/p>\n<p>\u74b0\u5883\u4fe1\u606f\u8868\u4e2d\u63d0\u4f9b\u4e86\u985e\u4f3c\u65bc\u5ee3\u64ad\u96fb\u8996\u5831\u6240\u63d0\u4f9b\u7684\u7bc0\u76ee\u8868\u7684\u5167\u5bb9\uff0c\u5728SI\u4e2d\uff0c\u53ea\u6709EIT\u624d\u6709\u53ef\u80fd\u88ab\u52a0\u5bc6\u3002\u6839\u64daEIT\u53ca\u5176\u5b83\u8868\u6240\u63d0\u4f9b\u7684\u4fe1\u606f\uff0c\u53ef\u4ee5\u51fa\u4e94\u82b1\u516b\u9580\u7684\u96fb\u5b50\u7bc0\u76ee\u6307\u5357\u3002 \u5982:\u6309\u7bc0\u76ee\u985e\u578b\u6aa2\u7d22\u3001\u6309\u6642\u9593\u6aa2\u7d22\u53ca\u5c0d\u67d0\u985e\u7bc0\u76ee\u7684\u9396\u5b9a\u7b49\u3002<\/p>\n<p>EIT\u8868\u683c\u5b9a\u7fa9\u5982\u4e0b:<br \/>\n\u5404\u5b57\u6bb5\u5b9a\u7fa9\u5982\u4e0b:<br \/>\ntable_id:8bits\u7684\u8868ID\uff0c\u5982\u679c\u7576\u524d\u8868\u662f\u91cd\u73fe\/\u8ddf\u96a8\u4fe1\u606f\uff0c\u5247table_id\u662f0x4e(\u7576\u524d\u6d41)\u62160x4f(\u5176\u4ed6\u6d41)\uff0c\u5426\u5247\u5982\u679c\u662f\u6642\u9593\u6bb5\u4fe1\u606f\uff0c\u5247table_id\u662f0x50~0x5f(\u7576\u524d\u6d41)\u6216\u80050x60~0x6f(\u5176\u4ed6\u6d41)\u3002<br \/>\nsection_syntax_indicator:1bit\u7684\u6bb5\u8a9e\u767c\u6a19\u8a8c\u7b26\uff0c\u61c9\u8a72\u662f&#8217;1&#8242;<br \/>\nreserved_future_use:1bit\u672a\u4f86\u4fdd\u7559\u4f4d\uff0c\u61c9\u8a72\u662f&#8217;0&#8242;<br \/>\nreserved:2bits\u7684\u4fdd\u7559\u4f4d\uff0c\u61c9\u8a72\u662f&#8217;00&#8217;<br \/>\nsection_length:12bits\u7684\u6bb5\u9577\u5ea6\uff0c\u55ae\u4f4d\u662fbytes\uff0c\u5f9eservice_id\u958b\u59cb\u5230CRC_32(\u542b)\u7d50\u675f\u3002<br \/>\nservice_id:16bits\u7684\u983b\u9053\u865f\uff0c\u540cPMT\u4e2d\u7684program_number;<br \/>\nreserved:\u540c\u4e0a\u3002<br \/>\nversion_number:5bitsEIT\u7248\u672c\u865f\u78bc\u3002\u5167\u5bb9\u6709\u66f4\u65b0\u5247\u6b64\u5b57\u6bb5\u905e\u589e1\uff0c\u8868\u793a\u9700\u8981\u66f4\u65b0EIT\u4fe1\u606f\u3002<br \/>\ncurrent_next_indicator:1bit\u7684\u7576\u524d\u4e0b\u6b21\u61c9\u7528\u6a19\u8a8c\uff0c\u4e00\u822c\u662f&#8217;0&#8242;<br \/>\nsection_number:8bits\u7576\u524d\u6bb5\u865f\u78bc\u3002<br \/>\nlast_section_number:8bits\u6700\u5f8c\u6bb5\u865f\u78bc\u3002<br \/>\ntransport_stream_id:16bits\u7684TS\u6d41ID\u3002<br \/>\noriginal_network_id:16bits\u7684\u539f\u59cb\u7db2\u7d61ID\u3002<br \/>\nsegment_last_section_number:\u672a\u77e5\u529f\u80fd\u3002<br \/>\nlast_table_id:\u672a\u77e5\u529f\u80fd\u3002<\/p>\n<p>\u96a8\u5f8c\u662fN\u500bEvent\u7684\u4fe1\u606f\uff1a<br \/>\nevent_id:16bits\u74b0\u5883ID\uff0c\u6d41\u552f\u4e00\u6578\u5b57\u3002<br \/>\nstart_time:40bits\u7684\u958b\u59cb\u6642\u9593\u3002UTC\u683c\u5f0f\u3002<br \/>\nduration:24bits\u7684\u6301\u7e8c\u6642\u9593(\u7bc0\u76ee\u9577\u5ea6)\uff0cBCD\u683c\u5f0f\u3002<br \/>\nrunning_status:2bits\u904b\u884c\u72c0\u614b\uff0c\u5b9a\u7fa9\u548cPMT\u4e2d\u7684running_status\u76f8\u540c\u3002<br \/>\nfree_CA_mode:1bit\u7684\u662f\u5426\u52a0\u5bc6\u6a19\u8a8c\uff0c&#8217;0&#8217;\u8868\u793a\u6c92\u6709\u52a0\u5bc6\u3002<br \/>\ndescriptors_loop_length:12bits\u63cf\u8ff0\u7b26\u7e3d\u9577\u5ea6\uff0c\u55ae\u4f4dBytes\u3002<br \/>\ndescriptors():N\u500b\u63cf\u8ff0\u7b26\u5217\u8868\u3002<\/p>\n<p>TDT\u548cTOT\u63d0\u4f9b\u7684\u662f\u7cfb\u7d71\u6642\u9593\u4fe1\u606f\uff0c\u7d50\u69cb\u8f03\u7c21\u55ae\uff0c\u8acb\u53c3\u8003EN300468\u6587\u6a94!<\/p>\n<p>RST\uff0cRunning Status Table\uff0c\u64ad\u653e\u72c0\u614b\u8868\u3002RST\u63d0\u4f9b\u7684\u662fTS\u6d41\u4e2d\u7684\u7bc0\u76ee\u64ad\u653e\u72c0\u614b(\u662f\u5426\u6b63\u5728\u64ad\u653e\u7b49)\u7684\u4fe1\u606f\u3002<\/p>\n<p>RST\u683c\u5f0f\u5b9a\u7fa9\u5982\u4e0b:<br \/>\n\u5404\u5b57\u6bb5\u542b\u7fa9\u5982\u4e0b:<br \/>\ntable_id:8bits\u8868ID\u6a19\u8a8c\uff0c\u61c9\u8a72\u662f0x71\u3002<br \/>\nsection_syntax_indicator:1bit\u7684\u6bb5\u8a9e\u6cd5\u6a19\u8a8c\uff0c\u61c9\u8a72\u662f&#8217;1&#8217;\u3002<br \/>\nreserved_future_user:1bit\u672a\u4f86\u4fdd\u7559\u4f4d<br \/>\nreserve:2bits\u4fdd\u7559\u4f4d\u3002<br \/>\nsection_length:12bits\u6bb5\u9577\u5ea6\uff0c\u55ae\u4f4dBytes\u3002\u5be6\u969b\u5c31\u662f\u96a8\u5f8c\u7684for()\u5faa\u74b0\u4e2d\u6240\u6709\u7684\u5b57\u7bc0\u6578\u76ee\u3002<br \/>\ntransport_stream_id:16bits\u7684TS ID\uff0cDVB\u5167\u552f\u4e00\u3002<br \/>\noriginal_network_id:16bits\u539f\u59cb\u7db2\u7d61ID\u3002<br \/>\nserviced_id:16bits\u7bc0\u76ee\u865f\uff0c\u548cPMT\u5167\u7684program_number\u76f8\u540c\u542b\u7fa9\u3002<br \/>\nevent_id:16bits\u74b0\u5883ID\uff0c\u540cEIT\u5b9a\u7fa9\u3002<br \/>\nreserved_future_use:5bits\u672a\u4f86\u4fdd\u7559\u4f4d\u3002<br \/>\nrunning_status:3bits\u904b\u884c\u72c0\u614b\u30020x01\u8868\u793a\u4e0d\u5728\u64ad\u653e\u4e2d\uff0c0x02\u8868\u793a\u5373\u5c07\u64ad\u653e\uff0c0x03\u8868\u793a\u64ad\u653e\u88ab\u66ab\u505c\uff0c0x04\u8868\u793a\u6b63\u5728\u6b63\u5e38\u64ad\u653e\uff0c\u5176\u4ed6\u5c6c\u65bc\u672a\u5b9a\u7fa9\u72c0\u614b\u3002<\/p>\n<p>\u5be6\u969b\u4e0a\uff0c\u4ee5\u4e0a\u6a19\u6e96SI\u8868\u63d0\u4f9b\u51fa\u7684EPG\u4fe1\u606f\u662f\u6bd4\u8f03\u5c11\u7684\uff0c\u5be6\u969b\u4e0a\u6709\u7528\u7684EPG\u4fe1\u606f\u90fd \u662f\u5305\u542b\u5728\u63cf\u8ff0\u7b26\u4e2d\uff0c\u5c31\u662fTable\u7d50\u69cb\u5167\u90e8\u7684descriptor()\u5b57\u6bb5 \u4e2d\u3002DVB\u7cfb\u7d71\u63d0\u4f9b\u4e86\u5f88\u591a\u6a19\u6e96\u7684descriptor()\uff0c\u4e0d\u540c\u7684\u63cf\u8ff0\u7b26\u5c55\u793a \u4e0d\u540c\u7684\u4fe1\u606f\u3002\u5177\u9ad4\u7684\u63cf\u8ff0\u7b26\u7d50\u69cb\u8acb\u53c3\u8003EN300468\u3002<\/p>\n<p>\u6a19\u6e96\u63cf\u8ff0\u7b26\u7c21\u55ae\u4ecb\u7d39\u5982\u4e0b:<\/p>\n<p>(1) Bouquet name descriptor:\u7d44\u540d\u7a31\u63cf\u8ff0\u7b26\uff0c\u63d0\u4f9b\u4e00\u500b\u7d44\u7684\u540d\u7a31\u7b26\u865f\u3002<br \/>\n(2) CA identifier descriptor:CA\u7cfb\u7d71\u63a7\u5236\u5b57\u63cf\u8ff0\u7b26\uff0c\u63d0\u4f9bCA\u7684\u52a0\u5bc6\u5b57\u3002<br \/>\n(3) Component descriptor:\u7d44\u4ef6\u63cf\u8ff0\u7b26\u865f\uff0c\u63d0\u4f9b\u7cfb\u7d71\u5167\u6240\u6709\u7d44\u4ef6\u7684\u540d\u7a31\u7b49\u4fe1\u606f\u3002<br \/>\n(4) Content descriptor:\u5167\u5bb9\u63cf\u8ff0\u7b26\u865f\uff0c\u63d0\u4f9b\u7cfb\u7d71\u7bc0\u76ee\u7684\u5167\u5bb9\u4fe1\u606f(\u5be6\u73fe\u6309\u5167\u5bb9\u6aa2\u7d22\u529f\u80fd)<br \/>\n(5) Country availability descriptor:\u6709\u6548\u570b\u5bb6\u5217\u8868\u63cf\u8ff0\u7b26\u865f\uff0c\u63d0\u4f9b\u8a72\u670d\u52d9\u5141\u8a31\u4f7f\u7528\u7684\u570b\u5bb6\u540d\u7a31\u5217\u8868\u3002<br \/>\n(6) Data broadcast descriptor:\u6578\u64da\u5ee3\u64ad\u63cf\u8ff0\u7b26\uff0c\u63d0\u4f9b\u6578\u64da\u5ee3\u64ad\u4fe1\u606f\u3002<br \/>\n(7) Data broadcast id descriptor:\u6578\u64da\u5ee3\u64ad\u6a19\u8a8c\u63cf\u8ff0\u7b26\u865f\u3002<br \/>\n(8) Cable delivery system descriptor:DVB-C\u50b3\u8f38\u7cfb\u7d71\u53c3\u6578\u63cf\u8ff0\u7b26\uff0c\u63d0\u4f9bDVB-C\u53c3\u6578\u4fe1\u606f\u3002<br \/>\n(9) Satellite delivery system descriptor:DVB-S\u50b3\u8f38\u7cfb\u7d71\u53c3\u6578\u63cf\u8ff0\u7b26\uff0c\u63d0\u4f9bDVB-S\u53c3\u6578\u4fe1\u606f\u3002<br \/>\n(10) Terrestrial delivery system descriptor:DVB-T\u50b3\u8f38\u7cfb\u7d71\u53c3\u6578\u63cf\u8ff0\u7b26\uff0c\u63d0\u4f9bDVB-T\u53c3\u6578\u4fe1\u606f\u3002<br \/>\n(11) Extended event descriptor:\u64f4\u5c55\u74b0\u5883\u63cf\u8ff0\u7b26\u865f\u3002<br \/>\n(12) Frequency list descriptor:\u983b\u7387\u5217\u8868\u63cf\u8ff0\u7b26\uff0c\u63d0\u4f9b\u6240\u6709\u7684\u983b\u7387\u4fe1\u606f\u3002<br \/>\n(13) Linkage descriptor:\u53ef\u9023\u63a5\u63cf\u8ff0\u7b26\u3002<br \/>\n(14) Local time offset descriptor:\u7576\u524d\u6642\u9593\u4fe1\u606f\u3002<br \/>\n(15) Mosaic descriptor:\u99ac\u585e\u514b\u63cf\u8ff0\u7b26\u3002<br \/>\n(16) Multilingual bouquet name descriptor:\u591a\u8a9e\u8a00\u4ee3\u78bc\u7d44\u540d\u7a31\u63cf\u8ff0\u7b26\u3002<br \/>\n(17) Multilingual component descriptor:\u591a\u8a9e\u8a00\u7d44\u4ef6\u63cf\u8ff0\u7b26\u865f\u3002<br \/>\n(18) Multilingual network name descriptor:\u591a\u8a9e\u8a00\u7db2\u7d61\u540d\u7a31\u63cf\u8ff0\u7b26\u3002<br \/>\n(19) Multilingual service name descriptor:\u591a\u8a9e\u8a00\u670d\u52d9\u540d\u7a31\u63cf\u8ff0\u7b26\u3002<br \/>\n(20) NVOD reference descriptor:VOD\u9ede\u64ad\u53c3\u8003\u63cf\u8ff0\u7b26\u3002<br \/>\n(21) Network name descriptor:\u7db2\u7d61\u540d\u7a31\u63cf\u8ff0\u7b26\u3002<br \/>\n(22) Private data specifier descriptor:\u79c1\u6709\u6578\u64da\u63cf\u8ff0\u7b26\u3002<br \/>\n(23) Short smoothing buffer descriptor:\u50b3\u8f38\u901f\u7387\u63cf\u8ff0\u7b26\u3002<br \/>\n(24) Service descriptor:\u670d\u52d9\u5668\u63cf\u8ff0\u7b26\uff0c\u63d0\u4f9b\u96fb\u8996\u53f0\u540d\u7a31\u548c\u96fb\u8996\u7bc0\u76ee\u540d\u7a31\u7b49\u4fe1\u606f\u3002<br \/>\n(25) Service list descriptor:\u7bc0\u76ee\u5217\u8868\u63cf\u8ff0\u7b26\uff0c\u63d0\u4f9b\u6240\u6709\u7684\u7bc0\u76ee\u983b\u9053\u865f\u548c\u7bc0\u76ee\u985e\u578b\u3002<br \/>\n(26) Service move descriptor:\u7bc0\u76ee\u522a\u9664\u63cf\u8ff0\u7b26\u3002<br \/>\n(27) Short event descriptor:\u77ed\u6d88\u606f\u63cf\u8ff0\u7b26\u3002<br \/>\n(28) Stream identifier descriptor:\u6d41\u6a19\u8a8c\u63cf\u8ff0\u7b26\u3002<br \/>\n(29) Stuffing descriptor:\u586b\u5145\u6578\u64da\u63cf\u8ff0\u7b26\u3002<br \/>\n(30) Subtitling descriptor:\u5b50\u5b57\u5e55\u63cf\u8ff0\u7b26\u3002<br \/>\n(31) Telephone descriptor:\u96fb\u8a71\u865f\u78bc\u63cf\u8ff0\u7b26\u3002<br \/>\n(32) Teletext descriptor:\u5716\u6587\u4fe1\u606f\u63cf\u8ff0\u7b26\u3002<br \/>\n(33) Time shifted event descriptor:\u6642\u9593\u6d88\u901d\u74b0\u5883\u63cf\u8ff0\u7b26\u3002<\/p>\n<p>\u4ee5\u4e0a\u63cf\u8ff0\u7b26\u7d50\u69cb\u5b9a\u7fa9\u5728EN300468\uff0c\u6240\u6709\u7684\u63cf\u8ff0\u7b26\u90fd\u63d2\u5165\u5230\u4e0d\u540c\u7684SI\u8868\u4e2d\uff0c\u56e0\u6b64\u63cf\u8ff0\u7b26\u7684\u5206\u6790\u61c9\u8a72\u7d50\u5408\u4e0d\u540c\u7684SI\u8868\u4f86\u9032\u884c\u3002\u4f46\u662f\u9019\u7a2e\u63d2\u5165\u53c8\u662f\u6709\u898f\u5f8b\u7684\uff0c\u5982 NIT\u8868\u53ea\u53ef\u80fd\u63d2\u5165 Terrestrial delivery system descriptor\u4e4b\u985e\u6216\u8005 Network name descriptor\uff0c\u7d55\u5c0d\u4e0d\u53ef\u80fd \u63d2\u5165Service descriptor\uff01\u5177\u9ad4\u63d2\u5165\u7684\u4ec0\u9ebc\u63cf\u8ff0\u7b26\uff0c\u53ea\u80fd\u901a\u904e\u63cf\u8ff0\u7b26\u7684\u7b2c\u4e00\u500b \u5b57\u7bc0descriptor_tag\u4f86\u5224\u65b7\u3002<\/p>\n<p>\u56e0\u70baEPG\u7684\u5be6\u73fe\u662f\u975e\u5e38\u9748\u6d3b\u7684\uff0c\u4e0d\u540c\u7684\u61c9\u7528\u9700\u8981\u4e0d\u540c\u7684EPG\u529f\u80fd\uff0c\u56e0\u6b64\u5728Seekfor MPEG-2 decoder\u4e2d\u6c92\u6709\u52a0\u5165EPG\u529f\u80fd\u3002\u7136\u800c\u5be6\u969b\u4e0a\uff0cEPG\u529f\u80fd\u6bd4\u8f03\u5bb9\u6613\u5be6\u73fe\uff0c\u4f46\u56e0\u70baEPG\u932f\u7d9c\u8907\u96dc\u7684SI\uff0c\u5bebEPG\u529f\u80fd\u4e4b\u524d\u9084\u662f\u9700\u8981\u4ed4\u7d30\u7406\u6e05\u601d\u8def\u624d\u80fd\u5be6\u73fe\u7684\u3002<\/p>\n<p>\u4e8c\u3001DVB\u78bc\u6d41\u4e2d\u696d\u52d9\u4fe1\u606f\u8207\u96fb\u5b50\u7bc0\u76ee\u6307\u5357<\/p>\n<p>\u600e\u6a23\u5728\u773e\u591a\u7684\u6578\u5b57\u96fb\u8996\u7bc0\u76ee\u4e2d\u5feb\u901f\u5730\u627e\u5230\u7528\u6236\u6240\u9700\u8981\u7684\u7bc0\u76ee\uff0c\u662f\u6578\u5b57\u96fb\u8996\u61c9\u7528\u6240\u8981\u89e3\u6c7a\u7684\u554f\u984c\u3002\u5728DVB\u63a5\u6536\u6a5f\u4e2d\u901a\u5e38\u90fd\u4f7f\u7528\u96fb\u5b50\u7bc0\u76ee\u6307\u5357\uff08EPG\uff09\u9019\u4e00\u5de5\u5177\u4f86\u9054\u5230\u5feb\u901f\u67e5\u627e\u7bc0\u76ee\u7684\u76ee\u7684\uff0c\u751f\u6210EPG\u7684\u6578\u64da\u4f86\u6e90\u65bcDVB\u78bc\u6d41\u4e2d\u7684\u6709\u696d\u52d9\u4fe1\u606fSI\u4fe1\u606f\u3002<\/p>\n<p>\u5728\u6578\u5b57\u96fb\u8996\u4e2d\uff0c\u6240\u6709\u8996\u983b\u3001\u97f3\u983b\u3001\u6587\u5b57\u3001\u5716\u7247\u7b49\u7d93\u6578\u5b57\u5316\u8655\u7406\u5f8c\u90fd\u8b8a\u6210\u4e86\u6578\u64da\uff0c\u4e26\u6309\u7167 MPEG-2\u7684\u6a19\u6e96\u6253\u5305\uff0c\u5f62\u6210\u56fa\u5b9a\u9577\u5ea6\uff08188\u500b\u5b57\u7bc0\uff09\u7684\u50b3\u9001\u5305\uff0c\u7136\u5f8c\u5c07\u9019\u4e9b\u6578\u64da\u5305\u9032\u884c\u5fa9\u7528\uff0c\u5f62\u6210\u50b3\u9001\u78bc\u6d41\uff08TS\uff09\uff0c\u901a\u5e38\u4e00\u500b\u983b\u9053\u5c0d\u61c9\u4e00\u500bTS\u6d41\uff0c\u4e00\u500b\u983b\u9053\u7684TS\u6d41\u7531\u591a\u500b\u7bc0\u76ee\u53ca\u696d\u52d9\u7d44\u6210\u3002\u5728TS\u6d41\u4e2d\u5982\u679c\u6c92\u6709\u5f15\u5c0e\u4fe1\u606f\uff0c\u6578\u5b57\u96fb\u8996\u7684\u7d42\u7aef\u8a2d\u5099\u5c07\u7121\u6cd5\u627e\u5230\u9700\u8981\u7684\u78bc\u6d41\uff0c\u6240\u4ee5\u5728MPEG-2\u4e2d\uff0c\u5c08\u9580\u5b9a\u7fa9\u4e86PSI\u4fe1\u606f\uff0c \u5176\u4f5c\u7528\u662f\u81ea\u52d5\u8a2d\u7f6e\u548c\u5f15\u5c0e\u63a5\u6536\u6a5f\u9032\u884c\u89e3\u78bc\u3002PSI\u4fe1\u606f\u5728\u5fa9\u7528\u6642\u901a\u904e\u5fa9\u7528\u5668\u63d2\u5165\u5230TS\u6d41\u4e2d\uff0c\u4e26\u7528\u7279\u5b9a\u7684PID\uff08\u5305\u6a19\u8b58\u7b26\uff09\u9032\u884c\u6a19\u8b58\u3002<\/p>\n<p>\u5728MPEG-2\u6a19\u6e96\u4e2d\u5b9a\u7fa9\u7684\u7bc0\u76ee\u4fe1\u606fPSI\uff0c\u662f\u5c0d\u55ae\u4e00\u78bc\u6d41\u7684\u63cf\u8ff0\uff0c\u7531\u65bc\u7cfb\u7d71\u901a\u5e38\u5b58\u5728\u591a\u500b\u78bc\u6d41\uff0c\u70ba\u4e86\u8b93\u4f7f\u7528\u8005\u80fd\u5728\u591a\u78bc\u6d41\u4e2d\u5feb\u901f\u5730\u627e\u51fa\u81ea\u5df1\u9700\u8981\u7684\u696d\u52d9\uff0c\u5728DVB\u5c0dMPEG-2\u7684PSI\u9032\u884c\u4e86\u64f4\u5145\uff0c\u5728PSI\u56db\u500b\u8868\u7684\u57fa\u790e\u4e0a\u518d\u589e\u52a0\u4e86\u4e5d\u500b\u8868\uff0c\u5f62\u6210 SI\u3002SI\u662f\u5c0d\u6574\u500b\u7cfb\u7d71\u6240\u6709\u78bc\u6d41\u7684\u63cf\u8ff0\uff0c\u63cf\u8ff0\u7cfb\u7d71\u50b3\u8f38\u5167\u5bb9\u3001\u5ee3\u64ad\u6578\u64da\u6d41\u7684\u7de8\u6392\u548c\u6642\u9593\u8868\u7b49\u7684\u6578\u64da\uff0c\u5b83\u5305\u62ecPSI\u4fe1\u606f\u3002<\/p>\n<p>\u7b2c\u4e00\u7ae0 \u7bc0\u76ee\u4fe1\u606f\uff08PSI\uff09<br \/>\nPSI\u7531\u7bc0\u76ee\u95dc\u806f\u8868\uff08PAT\uff09\u3001\u689d\u4ef6\u63a5\u6536\u8868\uff08CAT\uff09\u3001\u7bc0\u76ee\u6620\u5c04\u8868\uff08PMT\uff09\u548c\u7db2\u7d61\u4fe1 \u606f\u8868\uff08NIT\uff09\u7d44\u6210\uff0c\u9019\u4e9b\u8868\u63d2\u5165\u5230TS\u4e2d\u50b3\u8f38\u3002PSI\u6307\u5b9a\u4e86\u5982\u4f55\u5f9e\u4e00\u500b\u651c\u5e36\u591a\u500b\u7bc0\u76ee\u7684\u50b3\u9001\u6d41\u4e2d\u6b63\u78ba\u627e\u5230\u7279\u5b9a\u7684\u7bc0\u76ee\uff0c\u7576\u63a5\u6536\u6a5f\u8981\u63a5\u6536\u67d0\u4e00\u500b\u6307\u5b9a\u7bc0\u76ee\u6642\uff0c\u5b83\u9996 \u5148\u5f9e\u7bc0\u76ee\u95dc\u806f\u8868\u4e2d\u53d6\u5f97\u9019\u500b\u7bc0\u76ee\u7684\u7bc0\u76ee\u6620\u5c04\u8868\u7684PID\u503c\uff0c\u7136\u5f8c\u5f9eTS\u4e2d\u627e\u51fa\u8207\u6b64PID\u503c\u76f8\u5c0d\u61c9\u7684\u7bc0\u76ee\u6620\u5c04\u8868\uff0c\u5f9e\u9019\u500b\u7bc0\u76ee\u6620\u5c04\u8868\u4e2d\u7372\u5f97\u69cb\u6210\u9019\u500b\u7bc0\u76ee\u7684\u57fa\u672c\u78bc\u6d41 \u7684PID\u503c\uff0c\u6839\u64da\u9019\u500bPID\u503c\u6ffe\u51fa\u76f8\u61c9\u7684\u8996\u983b\u3001\u97f3\u983b\u548c\u6578\u64da\u7b49\u57fa\u672c\u78bc\u6d41\uff0c\u89e3\u78bc\u5f8c\u5fa9\u539f\u70ba\u539f\u59cb\u4fe1\u865f\uff0c\u522a\u9664\u542b\u6709\u5176\u9918PID\u7684\u50b3\u9001\u5305\u3002<\/p>\n<p>MPEG-2\u50b3\u9001\u6d41\u7684\u7d50\u69cb\u5982\u5716 1\u6240\u793a\u3002<\/p>\n<p>\u57162\u662fPAT\u8207PMT\u7684\u95dc\u4fc2\u53ca\u7d50\u69cb\u5716\u3002<\/p>\n<p>\u57163\u662fCAT\u8207NIT\u7684\u7d50\u69cb\u5716\u3002<\/p>\n<p>\u5f9e\u4e0a\u9762\u7684\u5e7e\u5e45\u5716\u4e2d\u53ef\u77e5\uff0c\u8981\u4fdd\u8b49\u50b3\u9001\u6d41\u80fd\u6b63\u5e38\u63a5\u6536\uff0c\u5728\u8a72\u6d41\u4e2d\u81f3\u5c11\u6709\u4e00\u500b\u5b8c\u6574\u6709\u6548\u7684 PAT\u3002CAT\u63cf\u8ff0\u4e86\u7bc0\u76ee\u7684\u52a0\u5bc6\u65b9\u5f0f\uff0c\u5b83\u5305\u542b\u4e86\u7bc0\u76ee\u7684EMM\u8b58\u5225PID\uff0c\u53ea\u6709\u6388\u6b0a\u7684\u89e3\u78bc\u5668\u624d\u80fd\u7531CAT\u6536\u5230\u5bc6\u9470\uff0c\u89e3\u78bc\u51fa\u76f8\u61c9\u7684\u6578\u64da\u6d41\u3002NIT\u5305\u542b\u7bc0\u76ee\u7684\u983b \u9053\u8abf\u8ae7\u53c3\u6578\u3001\u983b\u7387\u3001\u7b26\u865f\u7387\u7b49\u7269\u7406\u50b3\u8f38\u7db2\u4fe1\u606f\uff0c\u9019\u4e9b\u4fe1\u606f\u4f7f\u5f97\u63a5\u6536\u6a5f\u53ef\u4ee5\u6309\u7167\u7528\u6236\u7684\u9078\u64c7\u4ee5\u5f88\u5c11\u7684\u5ef6\u6642\u6216\u7121\u5ef6\u6642\u5730\u6539\u8b8a\u983b\u9053\u3001\u8abf\u8ae7\u53c3\u6578\uff0c\u6b63\u78ba\u5730\u89e3\u78bc\u51faTS\u3002\u7531\u65bc PSI\u6578\u64da\u7684\u5b8c\u6574\u6027\u5341\u5206\u91cd\u8981\uff0c\u56e0\u6b64\u5728\u6bcf\u500bPSI\u6bb5\u4e2d\u5747\u9700\u8981\u52a0\u6821\u9a57\u78bc\u3002<\/p>\n<p>\u7b2c\u4e8c\u7ae0 \u696d\u52d9\u4fe1\u606f\uff08SI\uff09<br \/>\nPSI\u6578\u64da\u53ea\u63d0\u4f9b\u4e86\u55ae\u500bTS\u7684\u4fe1\u606f\uff0c\u4f7f\u63a5\u6536\u6a5f\u80fd\u5c0d\u55ae\u500bTS\u4e2d\u7684\u4e0d\u540c\u7bc0\u76ee\u6d41\u9032\u884c\u89e3\u78bc\uff0c\u4f46 \u5b83\u4e0d\u80fd\u63d0\u4f9b\u591a\u500bTS\u7684\u6709\u95dc\u696d\u52d9\u548c\u7bc0\u76ee\u7684\u985e\u578b\u3001\u4ec0\u9ebc\u7bc0\u76ee\u3001\u4ec0\u9ebc\u6642\u9593\u958b\u59cb\u7b49\u4fe1\u606f\uff0c\u56e0\u6b64DVB\u7cfb\u7d71\u5c0dPSI\u9032\u884c\u4e86\u64f4\u5c55\uff0c\u63d0\u4f9b\u4e86\u5176\u5b83\u4e0d\u540c\u4fe1\u606f\u7a2e\u985e\u7684\u591a\u7a2e\u8868\u683c\uff0c\u5f62\u6210 SI\u3002\u5728\u5be6\u7528\u4e2d\uff0c\u6211\u5011\u5c07SI\u6240\u63d0\u4f9b\u7684\u6578\u64da\u901a\u904e\u6709\u5e8f\u5730\u7d44\u7e54\u8d77\u4f86\uff0c\u751f\u6210\u985e\u4f3c\u7bc0\u76ee\u5831\u7684\u5f62\u5f0f\uff0c\u5b83\u80fd\u5728\u96fb\u8996\u6a5f\u4e0a\u5373\u6642\u700f\u89bd\uff0c\u9019\u6a23\u5c07\u5927\u5927\u65b9\u4fbf\u7528\u6236\u7684\u4f7f\u7528\uff0c\u9019\u5c31\u662f\u96fb\u5b50\u7bc0\u76ee \u6307\u5357EPG\u3002<\/p>\n<p>SI\u5b9a\u7fa9\u4e86\u4e0d9\u500b\u8868<br \/>\n1\u3001\u696d\u52d9\u7fa4\u95dc\u806f\u8868\uff08BAT\uff09:\u5b83\u63d0\u4f9b\u4e86\u696d\u52d9\u7fa4\u76f8\u95dc\u7684\u4fe1\u606f\uff0c\u7d66\u51fa\u4e86\u696d\u52d9\u7fa4\u7684\u540d\u7a31\u4ee5\u53ca\u6bcf\u500b\u696d\u52d9\u7fa4\u4e2d\u7684\u696d\u52d9\u5217\u8868\u3002<br \/>\n2\u3001\u696d\u52d9\u63cf\u8ff0\u8868\uff08SDT\uff09:\u5b83\u5305\u542b\u4e86\u63cf\u8ff0\u7cfb\u7d71\u4e2d\u696d\u52d9\u7684\u6578\u64da\uff0c\u4f8b\u5982\u696d\u52d9\u540d\u7a31\uff0c\u8d77\u59cb\u6642\u9593\u3001\u6301\u7e8c\u6642\u9593\u7b49\u3002<br \/>\n3\u3001\u4e8b\u4ef6\u4fe1\u606f\u8868\uff08EIT\uff09:\u5b83\u5305\u542b\u4e86\u8207\u4e8b\u4ef6\u6216\u7bc0\u76ee\u76f8\u95dc\u7684\u6578\u64da\uff0cEIT\u662f\u751f\u6210EPG\u7684\u4e3b\u8981\u8868\u3002<br \/>\n4\u3001\u904b\u884c\u72c0\u614b\u8868\uff08RST\uff09:\u5b83\u7d66\u51fa\u4e86\u4e8b\u4ef6\u7684\u72c0\u614b\uff08\u904b\u884c\/\u975e\u904b\u884c\uff09\uff0c\u904b\u884c\u72c0\u614b\u8868\u66f4\u65b0\u9019\u4e9b\u4fe1\u606f\uff0c\u5141\u8a31\u81ea\u52d5\u9069\u61c9\u5207\u63db\u4e8b\u4ef6\u3002<br \/>\n5\u3001\u6642\u9593\u548c\u65e5\u671f\u8868\uff08TDT\uff09:\u5b83\u7d66\u51fa\u4e86\u8207\u7576\u524d\u7684\u6642\u9593\u548c\u65e5\u671f\u76f8\u95dc\u7684\u4fe1\u606f\uff0c\u7531\u65bc\u9019\u4e9b\u4fe1\u606f\u66f4\u65b0\u983b\u7e41\uff0c\u6240\u4ee5\u9700\u8981\u55ae\u7368\u4f7f\u7528\u4e00\u500b\u8868\u3002<br \/>\n6\u3001\u6642\u9593\u504f\u79fb\u8868\uff08TOT\uff09:\u5b83\u7d66\u51fa\u4e86\u8207\u7576\u524d\u6642\u9593\u3001\u65e5\u671f\u548c\u672c\u5730\u6642\u9593\u504f\u79fb\u76f8\u95dc\u7684\u4fe1\u606f\uff0c\u7531\u65bc\u9019\u4e9b\u4fe1\u606f\u66f4\u65b0\u983b\u7e41\uff0c\u6240\u4ee5\u9700\u8981\u55ae\u7368\u4f7f\u7528\u4e00\u500b\u8868\u3002<br \/>\n7\u3001\u586b\u5145\u8868\uff08ST\uff09:\u5b83\u7528\u65bc\u4f7f\u73fe\u6709\u7684\u6bb5\u7121\u6548\uff0c\u4f8b\u5982\u5728\u4e00\u500b\u50b3\u8f38\u7cfb\u7d71\u7684\u908a\u754c\u3002<br \/>\n8\u3001\u9078\u64c7\u4fe1\u606f\u8868\uff08SIT\uff09:\u5b83\u50c5\u7528\u65bc\u78bc\u6d41\u7247\u6bb5\u4e2d\uff0c\u5982\u8a18\u9304\u4e00\u6bb5\u78bc\u6d41\uff0c\u5b83\u5305\u542b\u4e86\u63cf\u8ff0\u8a72\u78bc\u6d41\u7247\u6bb5\u696d\u52d9\u4fe1\u606f\u9593\u6bb5\u7684\u5730\u65b9\u3002<br \/>\n9\u3001\u9593\u65b7\u4fe1\u606f\u8868\uff08DIT\uff09:\u5b83\u50c5\u7528\u65bc\u78bc\u6d41\u7247\u6bb5\uff0c\u5982\u8a18\u9304\u7684\u4e00\u6bb5\u78bc\u6d41\u4e2d\uff0c\u5b83\u5c07\u63d2\u5165\u5230\u78bc\u6d41\u7247\u6bb5\u696d\u52d9\u4fe1\u606f\u9593\u65b7\u7684\u5730\u65b9\u3002<\/p>\n<p>\u9019\u88e1\u503c\u5f97\u4e00\u63d0\u7684\u662f\uff0cNIT\u5728MPEG-2\u6a19\u6e96\u4e2d\u672a\u4e88\u4ee5\u898f\u5b9a\uff0c\u800c\u662f\u7531SI\u898f\u5b9a\u3002<\/p>\n<p>\u4ee5\u4e0a\u9019\u4e9b\u8868\u5728\u50b3\u9001\u6d41\u4e2d\u4ee5\u6578\u64da\u6bb5\u7684\u5f62\u5f0f\u50b3\u9001\uff0c\u4e0d\u540c\u7684\u4fe1\u606f\u8868\u5728\u50b3\u9001\u6d41\u4e2d\u901a\u904e\u8ce6\u4e88\u4e0d\u540c\u7684\u7279\u5b9a \u7684PID\u4f86\u9032\u884c\u5340\u5206(\u5982\u88681\u6240\u793a)\u3002\u800c\u5177\u6709\u76f8\u540cPID\u7684\u4e0d\u540c\u4fe1\u606f\u8868\u5247\u9032\u884c\u7531\u8868\u6a19\u8b58\u7b26TABLE ID\u4f86\u5340\u5206\uff0c\u5728\u63a5\u6536\u7aef\u901a\u904e\u67e5\u9019\u4e9b\u7279\u5b9a\u7684PID\u4f86\u627e\u5230\u5b83\u5011\u3002 \u9019\u88e1\u8aaa\u660e\u4e00\u4e0b\uff0cTS\u4e2d\u6709\u5169\u7a2e\u6a19\u8b58\u7b26\uff0c\u4e00\u7a2e\u662f\u5305\u6a19\u8b58\u7b26\uff0c\u4e00\u7a2e\u662f\u8868\u6a19\u8b58\u7b26\u3002\u4f8b\u5982SI\u4e2d\u7684SDT\u7684\u6bcf\u4e00\u500b\u8868\u90fd\u5c0d\u4e00\u500b\u7279\u5b9aTS\u4e2d\u7684\u696d\u52d9\u9032\u884c\u63cf\u8ff0\uff0c\u9019\u4e9b\u696d\u52d9\u53ef\u80fd\u662f\u9019 \u500b\u8868\u6240\u5b58\u5728\u7684TS\u7684\u4e00\u90e8\u5206\uff0c\u4e5f\u53ef\u80fd\u662f\u5176\u5b83TS\u7684\u4e00\u90e8\u5206\uff0c\u9019\u4e9bSDT\u7684PID\u90fd\u662f\u76f8\u540c\u7684\uff0c\u9019\u6642\u5019\u6211\u5011\u5c31\u53ef\u4ee5\u901a\u904e\u4e0d\u540c\u7684\u8868\u6a19\u8b58\u7b26\u4f86\u5340\u5206\u5b83\u5011\uff0c\u5f9e\u800c\u8b58\u5225\u51fa\u90a3\u4e00\u500b \u8868\u6240\u63cf\u8ff0\u7684\u696d\u52d9\u662f\u90a3\u4e00\u500bTS\u7684\u3002<\/p>\n<table style=\"font-weight: 400;\">\n<tbody>\n<tr>\n<td width=\"295\">\u8868<\/td>\n<td width=\"295\">PID\u503c<\/td>\n<\/tr>\n<tr>\n<td width=\"295\">PAT<\/td>\n<td width=\"295\">0X0000<\/td>\n<\/tr>\n<tr>\n<td width=\"295\">CAT<\/td>\n<td width=\"295\">0X0001<\/td>\n<\/tr>\n<tr>\n<td width=\"295\">PMT<\/td>\n<td width=\"295\">0X0002<\/td>\n<\/tr>\n<tr>\n<td width=\"295\">NIT<\/td>\n<td width=\"295\">0X0010<\/td>\n<\/tr>\n<tr>\n<td width=\"295\">SDT\u3001BAT<\/td>\n<td width=\"295\">0X0011<\/td>\n<\/tr>\n<tr>\n<td width=\"295\">EIT<\/td>\n<td width=\"295\">0X0012<\/td>\n<\/tr>\n<tr>\n<td width=\"295\">TDT\u3001TOT<\/td>\n<td width=\"295\">0X0014<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>SI\u4e2d\u7684\u5404\u8868\u5728\u5be6\u969b\u4f7f\u7528\u4e2d\u4e26\u4e0d\u90fd\u9700\u8981\u50b3\u9001\uff0c\u5176\u4e2dNIT\u3001SDT\u3001EIT\u3001TDT\u662f\u5fc5\u9700\u50b3\u9001\u7684\uff0c\u5176\u5b83\u8868\u5247\u6309\u7167\u9700\u8981\u9032\u884c\u9078\u64c7\u50b3\u9001\u3002<\/p>\n<p>\u7b2c\u4e09\u7ae0    \u96fb\u5b50\u7bc0\u76ee\u6307\u5357\uff08EPG\uff09<br \/>\n\u5728DVB\u7cfb\u7d71\u4e2d\uff0cEPG\u53ef\u4f7f\u7528\u6236\u65b9\u4fbf\u3001\u5feb\u6377\u3001\u76f4\u89c0\u5730\u627e\u5230\u9700\u8981\u7684\u7bc0\u76ee\uff0c\u6839\u64da\u300a\u6578\u5b57\u96fb\u8996\u5ee3 \u64ad\u696d\u52d9\u898f\u7bc4\u300b\u5c0dEPG\u7684\u8981\u6c42\uff0cEPG\u61c9\u63d0\u4f9b\u7bc0\u76ee\u55ae\u548c\u7576\u524d\u7bc0\u76ee\u64ad\u653e\u7b49\u57fa\u672c\u529f\u80fd\uff0c\u9084\u63d0\u4f9b\u7bc0\u76ee\u9644\u52a0\u4fe1\u606f\u3001\u7bc0\u76ee\u5206\u985e\u3001\u7bc0\u76ee\u9810\u8a02\u548c\u5bb6\u9577\u5206\u7d1a\u63a7\u5236\u7b49\u529f\u80fd\u3002EPG\u7684\u9019\u4e9b \u529f\u80fd\u5747\u53ef\u901a\u904eSI\u4f86\u5be6\u73fe\uff0c\u4e5f\u5c31\u662f\u8aaaSI\u662f\u5be6\u73feEPG\u529f\u80fd\u7684\u524d\u63d0\u3002\u5728SI\u4e2d\uff0c\u6700\u91cd\u8981\u7684\u662fNIT\u3001EIT\u548cSDT\uff0c\u5229\u7528\u90193\u500b\u8868\u4e2d\u7684\u6578\u64da\u5c31\u53ef\u4ee5\u69cb\u6210\u529f\u80fd\u4e0d\u540c\u7684 EPG\u3002<\/p>\n<p>NIT\u7684\u4f5c\u7528\u5728\u4e0a\u9762\u5df2\u7d93\u8aaa\u904e\uff0cSDT\u7684\u4f5c\u7528\u662f\u63d0\u4f9b\u5c0d\u6bcf\u500b\u696d\u52d9\u7684\u63cf\u8ff0\uff0c\u4f7f\u7528\u6236\u80fd\u65b9\u4fbf\u5730\u77ad\u89e3\u6bcf\u500b\u696d\u52d9\u7684\u5167\u5bb9\u3002\u5c0d\u65bc\u6bcf\u4e00\u500bTS\u90fd\u6709\u4e00\u500bSDT\u8207\u4e4b\u5c0d\u61c9\u3002EIT\u5be6\u969b\u4e0a\u662f\u4e00\u500b\u7bc0\u76ee\u8868\uff0c\u5c0d\u65bc\u6bcf\u4e00\u500b\u7bc0\u76ee\u90fd\u5b58\u5728\u4e00\u500b\u7368\u7acb\u7684EIT\u3002<\/p>\n<p>EPG\u5305\u542b\u5169\u500b\u90e8\u5206:\u4e00\u662f\u64ad\u51fa\u524d\u7aef\u7684EPG\u7de8\u8f2f\u5668\uff1b\u4e8c\u662f\u7528\u6236\u7aef\u63a5\u6536\u6a5f\u76f8\u61c9\u7684\u63a7\u5236\u8edf\u4ef6\uff0c\u5169\u90e8\u5206\u4e00\u4e00\u5c0d\u61c9\uff0c\u6bcf\u500b\u63a5\u6536\u6a5f\u7684\u76f8\u95dc\u90e8\u5206\u5fc5\u9808\u8981\u6309\u7167\u524d\u7aef\u5b9a\u7fa9\u7684\u6578\u64da\u7d50\u69cb\u4f86\u5b9a\u88fd\uff0c\u5f9e\u800c\u63a5\u6536\u986f\u793a\u524d\u7aef\u9001\u51fa\u7684\u696d\u52d9\u4fe1\u606f\u3002<\/p>\n<p>SI\u4e00\u822c\u5728\u5fa9\u7528\u5668\u5408\u6210TS\u6642\u63d2\u5165\uff0c\u67093\u7a2e\u63d2\u5165\u65b9\u5f0f\u3002<br \/>\n1\u3001  \u5c07\u5404\u8868\u6578\u64da\u901a\u904e\u5fa9\u7528\u5668\u5ee0\u5bb6\u63d0\u4f9b\u7684\u61c9\u7528\u8edf\u4ef6\u63a5\u53e3\u7531\u5fa9\u7528\u5668\u63d2\u5165\u5230\u7bc0\u76ee\u78bc\u6d41\u4e2d\u3002<br \/>\n2\u3001  \u5c07\u5404\u8868\u6578\u64da\u6309MPEG-2\u6a19\u6e96\u6253\u5305\uff0c\u901a\u904e\u78bc\u6d41\u64ad\u51fa\u5361\u8f38\u51fa\uff0c\u518d\u5c07\u4e4b\u9001\u5165\u5fa9\u7528\u5668\u7684\u7570\u6b65\u4e32\u884c\u53e3\u8207\u7bc0\u76ee\u78bc\u6d41\u5fa9\u7528\u3002<br \/>\n3\u3001  \u901a\u904e\u689d\u4ef6\u63a5\u6536\u52a0\u64fe\u5668\u63d0\u4f9b\u7684\u63a5\u53e3\u63d2\u5165\uff0c\u56e0\u6b64\u53ef\u901a\u904e\u5c40\u57df\u7db2\u5c07\u6578\u64da\u8868\u9001\u5165\u52a0\u64fe\u5668\uff0c\u7531\u52a0\u64fe\u5668\u5411\u78bc\u6d41\u4e2d\u63d2\u5165SI\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u8cc7\u6599\u4f86\u6e90\uff1ahttps:\/\/www.cnblogs.com\/jingmoxukong\/archive\/2011\/<span class=\"post-excerpt-end\">&hellip;<\/span><\/p>\n<p class=\"more-link\"><a href=\"https:\/\/learn-house.idv.tw\/?p=2618\" class=\"themebutton\">Read More<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12],"tags":[],"class_list":["post-2618","post","type-post","status-publish","format-standard","hentry","category-12"],"_links":{"self":[{"href":"https:\/\/learn-house.idv.tw\/index.php?rest_route=\/wp\/v2\/posts\/2618","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/learn-house.idv.tw\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/learn-house.idv.tw\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/learn-house.idv.tw\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/learn-house.idv.tw\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2618"}],"version-history":[{"count":0,"href":"https:\/\/learn-house.idv.tw\/index.php?rest_route=\/wp\/v2\/posts\/2618\/revisions"}],"wp:attachment":[{"href":"https:\/\/learn-house.idv.tw\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2618"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/learn-house.idv.tw\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2618"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/learn-house.idv.tw\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2618"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}