mkrufky / libdvbtee

dvbtee: a digital television streamer / parser / service information aggregator supporting various interfaces including telnet CLI & http control
GNU Lesser General Public License v2.1
79 stars 31 forks source link

Confusing and Errorenous Bitrate Display #69

Open TurtleWilly opened 1 year ago

TurtleWilly commented 1 year ago

The bitrate display is slightly confusing:

…
pid 0000  1713 p/s  322.044 kb/s    2.352 mbit
pid 040e  1713 p/s  322.044 kb/s    2.352 mbit
pid 100e 965624 p/s  181.312 mb/s  1452.496 mbit
pid 104e 30640 p/s    5.320 mb/s   46.560 mbit
pid 120e   134 p/s   25.192 kb/s  201.536 kbit
pid 2000 999824 p/s  187.912 mb/s  1503.296 mbit
…

(1) Something goes wrong in the last column. The value is a bit weird. E.g. if I calculate 1713*188*8 I get to 2,576,352 bit/s = 2.58 Mbit/s. Note how your result is 2[,576,]352? If I do the calculation for the video data: 965624*188*8 / 1000 / 1000 = 1452.298496, note how your result is 1452.[298]496? It seems it simply cuts out 3 chars in the middle to get to the result?

Or I don't understand this at all. Evidently I'm confused by it. 😎

(2) There's also a magical "pid 2000" which doesn't exist in the original stream. I guess it's a way to say "Totals"?

(3) The output is unaligned which makes it hard to read.

In the example "pid 0000" (PAT) and "pid 040e" (no idea) have minimal amount of packets/s, but it looks like it calculates a way higher Mbit/s than for the video stream with "pid 100e". Having 3 fractional digits adds to the confusion with a thousand separator.

(4) in the 2nd value column it uses "kb", and "mb". That's highly confusing too. "small b" always means bit, but here it seems to refer to Byte. Those units should be capitalized. (personally I also would prefer MiB and KiB (aka power of 2 units), but that's another story. 😎) Similar it also should be "Mbit", or probably "Mbit/s" even for the last column.

What I did expect to see:

…
pid 0x0000:   1713 p/s  322.04 KB/s     2.58 Mbit/s
pid 0x040e:   1713 p/s  322.04 KB/s     2.58 Mbit/s
pid 0x100e: 965624 p/s  181.31 MB/s  1452.30 Mbit/s
pid 0x104e:  30640 p/s    5.32 MB/s    46.08 Mbit/s
pid 0x120e:    134 p/s   25.19 KB/s   201.54 Kbit/s
    Totals: 999824 p/s  187.91 MB/s  1503.74 Mbit/s
…

(5) It somehow should make more clear (e.g. in the usage output) that this is the "processing performance" of dvbtee, and not the actual stream bitrates of the input file (e.g. I do dvbtee -b < some_recording.ts)