dvbsnoop用法

1、安装
sudo apt-get dvbsnoop
2、ts检测相关参数简介

通用参数:

-s ts
检测类型为ts流
-if 文件名
离线检测ts流文件
-pd <mode>
    解码的输出细节程度 0-9 ,0表示没有输出
-npd
    等同于  -pd 0.
-ph <mode>
指定16进制输出的细节程度:
0=no hexdump output, 1=hex output, 2=hex line,
3=ascii line, 4=alternate hex output. (default is 4)
-hexdumpbuffer
-nohexdumpbuffer
Switch  on/off  hexdump  of  stream input buffer.  May be used to
enhance -ph option. (e.g. -ph 4 -nohexdumpbuffer)
-nph
    废弃,等同于 -nohexdumpbuffer.
-t<mode>
    时间标签输出模式:
-tf = full timestamp
-td = delta timestamp mode,
-tn = no time stamp.
-b
二进制输出包,取消其他输出.  用于输出原数据
Use  this option  to  store  raw data in file or chain data to another pro‐
gram.
E.g.:  dvbsnoop -s ts 0x00 -b > file
dvbsnoop -s pes 0x3FF -b | ./myprogram

There might be a file limit on your system  (mostly  2  GB)  when
writing files using '>'.

TS特有参数:

-tssubdecode

对TS流中si表格信息、PS/PES信息进行解码
Sub-decode  SI  data  (sections)  or  PS/PES  data from transport
stream decoding. This reads transport stream packets and tries to
decode  its  content.   Useful  to  decode  PES or SI data from a
transport stream file.
-tsraw
Read full transport stream (all  pids).   Your  hardware/firmware
has to support this mode.
-N <value>
解码value个包之后停止,-N表示成功解码出来的包 -n表示读入多少个包进行解码  
默认是0         
Stop after decoding <value> packets. Use this to limit the packet
decoding process.  Useful, when reading stream  data  from  file.
-n  limits  the  read  packet  process,  -N  limits  the decoding
process. Using dvb hardware filters -n would be the same  as  -N.
Default is 0 (no limit).

命令范例:
dvbsnoop -s ts -tssubdecode  -if Gqxsp.ts  -N 2 0x0000 -nph -pd 6

输出结果:

dvbsnoop V1.4.50 -- http://dvbsnoop.sourceforge.net/

------------------------------------------------------------
TS-Packet: 00000001   PID: 0 (0x0000), Length: 188 (0x00bc)
from file: Gqxsp.ts
------------------------------------------------------------
Sync-Byte 0x47: 71 (0x47)
Transport_error_indicator: 0 (0x00)  [= packet ok]
Payload_unit_start_indicator: 1 (0x01)  [= Packet data starts]
transport_priority: 0 (0x00)
PID: 0 (0x0000)  [= ISO 13818-1 Program Association Table (PAT)]
transport_scrambling_control: 0 (0x00)  [= No scrambling of TS packet payload]
adaptation_field_control: 1 (0x01)  [= no adaptation_field, payload only]
continuity_counter: 0 (0x00)  [= (sequence ok)]
Payload: (len: 184)
==> pointer_field: 0 (0x00)
==> Section table: 0 (0x00)  [= Program Association Table (PAT)]
Data-Bytes:
0000:  00 00 b0 0d 00 05 c1 00  00 01 f7 e1 03 eb a0 5d   ...............]
0010:  4e ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff   N...............
0020:  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff   ................
0030:  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff   ................
0040:  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff   ................
0050:  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff   ................
0060:  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff   ................
0070:  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff   ................
0080:  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff   ................
0090:  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff   ................
00a0:  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff   ................
00b0:  ff ff ff ff ff ff ff ff                            ........
==========================================================


TS sub-decoding (1 packet(s) stored for PID 0x0000):
=====================================================
TS contains Section...
SI packet (length=16):
PID:  0 (0x0000)  [= assigned for: ISO 13818-1 Program Association Table (PAT)]

Guess table from table id...
PAT-decoding....
Table_ID: 0 (0x00)  [= Program Association Table (PAT)]
section_syntax_indicator: 1 (0x01)
(fixed): 0 (0x00)
reserved_1: 3 (0x03)
Section_length: 13 (0x000d)
Transport_Stream_ID: 5 (0x0005)
reserved_2: 3 (0x03)
Version_number: 0 (0x00)
current_next_indicator: 1 (0x01)  [= valid now]
Section_number: 0 (0x00)
Last_Section_number: 0 (0x00)

Program_number: 503 (0x01f7)
reserved: 7 (0x07)
Program_map_PID: 259 (0x0103)

CRC: 3953155406 (0xeba05d4e)




------------------------------------------------------------
TS-Packet: 00000002   PID: 0 (0x0000), Length: 188 (0x00bc)
from file: Gqxsp.ts
------------------------------------------------------------
Sync-Byte 0x47: 71 (0x47)
Transport_error_indicator: 0 (0x00)  [= packet ok]
Payload_unit_start_indicator: 1 (0x01)  [= Packet data starts]
transport_priority: 0 (0x00)
PID: 0 (0x0000)  [= ISO 13818-1 Program Association Table (PAT)]
transport_scrambling_control: 0 (0x00)  [= No scrambling of TS packet payload]
adaptation_field_control: 1 (0x01)  [= no adaptation_field, payload only]
continuity_counter: 1 (0x01)  [= (sequence ok)]
Payload: (len: 184)
==> pointer_field: 0 (0x00)
==> Section table: 0 (0x00)  [= Program Association Table (PAT)]
Data-Bytes:
0000:  00 00 b0 0d 00 05 c1 00  00 01 f7 e1 03 eb a0 5d   ...............]
0010:  4e ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff   N...............
0020:  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff   ................
0030:  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff   ................
0040:  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff   ................
0050:  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff   ................
0060:  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff   ................
0070:  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff   ................
0080:  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff   ................
0090:  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff   ................
00a0:  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff   ................
00b0:  ff ff ff ff ff ff ff ff                            ........

==========================================================


3、列出ts文件中的所有pid
$dvbsnoop -s ts -tssubdecode  -if Gqxsp.ts    -pd 6  | grep  "^PID:" |sort| uniq
输出:
PID: 0 (0x0000)  [= ISO 13818-1 Program Association Table (PAT)]
PID: 259 (0x0103)  [= ]
PID: 514 (0x0202)  [= ]
PID: 670 (0x029e)  [= ]
PID: 8191 (0x1fff)  [= Null Packet]
查看pat表
$dvbsnoop -s ts -tssubdecode  -if Gqxsp.ts    0 -N 2
输出:
TS sub-decoding (1 packet(s) stored for PID 0x0000):
=====================================================
TS contains Section...
SI packet (length=16):
PID:  0 (0x0000)  [= assigned for: ISO 13818-1 Program Association Table (PAT)]

Guess table from table id...
PAT-decoding....
Table_ID: 0 (0x00)  [= Program Association Table (PAT)]
section_syntax_indicator: 1 (0x01)
(fixed): 0 (0x00)
reserved_1: 3 (0x03)
Section_length: 13 (0x000d)
Transport_Stream_ID: 5 (0x0005)
reserved_2: 3 (0x03)
Version_number: 0 (0x00)
current_next_indicator: 1 (0x01)  [= valid now]
Section_number: 0 (0x00)
Last_Section_number: 0 (0x00)

Program_number: 503 (0x01f7)
reserved: 7 (0x07)
Program_map_PID: 259 (0x0103)
查看PMT表
$dvbsnoop -s ts -tssubdecode  -if Gqxsp.ts    259 -N 2
输出:
TS sub-decoding (1 packet(s) stored for PID 0x0103):
=====================================================
TS contains Section...
SI packet (length=31):
PID:  259 (0x0103)

Guess table from table id...
PMT-decoding....
Table_ID: 2 (0x02)  [= Program Map Table (PMT)]
section_syntax_indicator: 1 (0x01)
(fixed '0'): 0 (0x00)
reserved_1: 3 (0x03)
Section_length: 28 (0x001c)
Program_number: 503 (0x01f7)
reserved_2: 3 (0x03)
Version_number: 0 (0x00)
current_next_indicator: 1 (0x01)  [= valid now]
Section_number: 0 (0x00)
Last_Section_number: 0 (0x00)
reserved_3: 7 (0x07)
PCR PID: 514 (0x0202)
reserved_4: 15 (0x0f)
Program_info_length: 0 (0x0000)

Stream_type loop:

Stream_type: 2 (0x02)  [= ITU-T Rec. H.262 | ISO/IEC 13818-2 Video | ISO/IEC 11172-2 constr. parameter video stream]
reserved_1: 7 (0x07)
Elementary_PID: 514 (0x0202)
reserved_2: 15 (0x0f)
ES_info_length: 5 (0x0005)

MPEG-DescriptorTag: 2 (0x02)  [= video_stream_descriptor]
descriptor_length: 3 (0x03)
multiple_frame_rate_flag: 0 (0x00)
frame_rate_code: 3 (0x0003)
MPEG_1_only_flag: 0 (0x00)
constrained_parameter_flag: 0 (0x00)
still_picture_flag: 1 (0x01)


Stream_type: 3 (0x03)  [= ISO/IEC 11172 Audio]
reserved_1: 7 (0x07)
Elementary_PID: 670 (0x029e)
reserved_2: 15 (0x0f)
ES_info_length: 0 (0x0000)

CRC: 4271305530 (0xfe96f33a)


CRC: 3953155406 (0xeba05d4e)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值