-
-
Notifications
You must be signed in to change notification settings - Fork 195
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Q] clarification on splicemonitor plugin #1392
Comments
The only difference I can spot between the two displays is the About this one, the last line has Now, the difference is that the pre-roll time is displayed earlier without
Everything is possible, it's just code. However, TSDuck is designed to be independent of real-time in the general case. When analyzing a stream file, the wall-clock time is meaningless. Only a few plugins such as
No, it shouldn't be. The "event" is not the reception of an SCTE 35 command (everything is a command anyway). The "event" refers to the future "in" or "out" event which is described in the command. The second line is just an XML-translated-to-JSON dump of the splice information table because you specified |
hello @lelegard , I would not expect a big difference between the pre-roll evaluation when splicemonitor look at the audio or video. |
I didn't notice that. 5812 is very realistic. 31 is not at all. My hypothesis for the 31 ms in the second case:
We could imagine other scenarios. Is this reproduceable at will from a TS file or just some random results from a live stream? Anyways, the plugin has a very simple way of working. Have a look at the code and compare this with the output, you will find the explanation. The plugin just reports events on a TS and display results. Now, SCTE 35 is not a fully synchronized mechanism. The PTS of the various audio/video PID's are not synchronized in the TS. This is the job of the receiver to resynchonize them. So, several interpretations are possible when the server inserts a last splice information table too close to the actual event. |
hello @lelegard The splice commands are back-to-back, 20s avail slot each. These are the sequence of commands: --------------------------- DPI overview --------------------------- ------------------------ DPI Avail #1 --------------------------- ------------------------ DPI Avail #2 --------------------------- ------------------------ DPI Avail #3 --------------------------- ------------------------ DPI Avail #4 --------------------------- ------------------------ DPI Avail #5 --------------------------- ------------------------ DPI Avail #6 --------------------------- ------------------------ DPI Avail #7 --------------------------- ------------------------ DPI Avail #8 --------------------------- |
Please upload a subset of the TS which reproduces the problem. |
Option |
Thanks Thierry will give it a try. |
@lelegard thanks the "--time-stamp" works. one more question, to have the full splice command what should I do? something like what is produced by threefive
|
The presentation may be different but everything is there. The TSDuck JSON output is reversible, it can be used to recreate the binary section. Everything is explained as XML in appendix D of the user's manual. The JSON format is an automated translation of the XML format. The splice commands have several alternative formats and optional fields. It is possible that the threefive format includes everything, including absent fields. But the TSDuck format includes by design everything in the actual section. |
@lelegard thanks for the feedback. Could you guide me on how to get a base64 or binary representation of the command in the "metadata" filed of the JSON? something like:
thanks! |
What do you mean by "command"? If you mean the tsp command, there is no obvious or portable way. A plugin is independent of the context. It can run as part of a tsp command or any custom Python, Java or C++ application using the TSProcessor class (which exists in all three languages). |
@lelegard i mean "splice command". My goal is to have the base64 representation of the whole splice_info_section in the metadata key of the jenerated json |
Ok, you mean section. Quite feasible since the |
Option The |
tsduck version 3.36-3528 on windows 10
I run the following command:
tsp -I file file.ts -P splicemonitor --json-line --select-commands 1-255 -s 961 -O drop
and I notice a difference when i run it with or without specifying the video pid of the service wiht "-t" option.
With "-t 517" option:
`
Without -t option
`
A couple of additional questoins:
Would it be possible to a a "time" property in the logged command to collect when the event has been registered by tsduck? Something like "event-time": "2023/12/19 10:20:30"
From my understanding, the first line logged is the command reception. I guess it would be useful to name it "event-type": "command".
thanks!
The text was updated successfully, but these errors were encountered: