diff --git a/README.md b/README.md index bd6703c..6c925ca 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,25 @@ # MpegTsAnalyzer +MpegTsAnalyzer is the Analyzer of MPEG2 Transport Stream(ISO_IEC_13818-1). +It can parse TS header, Adaptation Field, PSI(PAT/PMT) and PES header. Then, it can check continuity_counter(TS header), CRC32(PSI). + + +# Usage + +Default, it is dump each timestamps(PCR/PTS/DTS) that include PCR interval and PTS PCR gap. If you want to dump more detail, please add each command line flags. + +``` +usage: main.exe [] + +Flags: + --help Show context-sensitive help (also try --help-long + and --help-man). + --dump-ts-header Dump TS packet header. + --dump-ts-payload Dump TS packet payload binary. + --dump-adaptation-field Dump TS packet adaptation_field detail. + --dump-psi Dump PSI(PAT/PMT) detail. + -n, --not-dump-timestamp Not Dump PCR/PTS/DTS timestamps. + +Args: + Input file name. +``` diff --git a/main.go b/main.go index 0003db9..213e90a 100644 --- a/main.go +++ b/main.go @@ -14,11 +14,11 @@ const tsPacketSize = 188 func main() { var options options.Options filename := kingpin.Arg("input", "Input file name.").Required().String() - options.SetDumpHeader(*kingpin.Flag("dump-ts-header", "").Bool()) - options.SetDumpPayload(*kingpin.Flag("dump-ts-payload", "").Bool()) - options.SetDumpAdaptationField(*kingpin.Flag("dump-adaptation-field", "").Bool()) - options.SetDumpPsi(*kingpin.Flag("dump-psi", "").Bool()) - options.SetNotDumpTimestamp(*kingpin.Flag("not-dump-timestamp", "").Short('n').Bool()) + options.SetDumpHeader(*kingpin.Flag("dump-ts-header", "Dump TS packet header.").Bool()) + options.SetDumpPayload(*kingpin.Flag("dump-ts-payload", "Dump TS packet payload binary.").Bool()) + options.SetDumpAdaptationField(*kingpin.Flag("dump-adaptation-field", "Dump TS packet adaptation_field detail.").Bool()) + options.SetDumpPsi(*kingpin.Flag("dump-psi", "Dump PSI(PAT/PMT) detail.").Bool()) + options.SetNotDumpTimestamp(*kingpin.Flag("not-dump-timestamp", "Not Dump PCR/PTS/DTS timestamps.").Short('n').Bool()) kingpin.Parse() if err := parseTsFile(*filename, options); err != nil {