|
|
|
|
|
by j1elo
1734 days ago
|
|
Thank you; I understand what you mean with the translator metaphor. The project still needs to pick some very common usage scenarios and discuss them in depth (kind of "let's pick English and Spanish, two very commonly used languages, and talk about all quirks and translation techniques", in your own example). You already provided better lines for some of the options than what their docs state, although I'd still miss a small commentary about some example instances where some of them would be useful. For example: "igndts will unset dts if packet's pts is set"... OK but why would anyone want to do that? DTS is for Decoding, PTS is for Presentation, so wouldn't mixing them cause presentation issues? As mentioned I'm interested in storing UDP RTP as-is, and for that I'm using "-fflags +genpts+igndts -use_wallclock_as_timestamps 1" because intuitively it makes sense to me that potentially broken incoming timestamps should be ignored and new ones written from scratch, but now that you mention it, maybe "+genpts" is doing nothing in this scenario? |
|
I wrote the docs section you refer to :)
They are meant to be narrow and to the point, not didactic, not least because the codepath leading up to an option and following that option depend on internal evaluations and other options.
> why would anyone want to do that?
Because the input has weird or unreliable DTS. One would have to check code history to see why an option was initially added. Many of ffmpeg options are there to deal with edge cases or weird inputs.
> -fflags +genpts+igndts -use_wallclock_as_timestamps 1
In theory, igndts is unsetting wallclock dts set by the last option. genpts should have no effect, again due to the third option.