My all time question about FFmpeg is what are all those timestamp correction flags and synchronization options for:<p>* -fflags +genpts, +igndts, +ignidx<p>* -vsync<p>* -copyts<p>* -use_wallclock_as_timestamps 1<p>* And more that you find even when you thought you had seen all flags that might be related.<p>FFmpeg docs are a strange beast, they cover a lot of topics, but are extremely shallow in most of them, so the overall quality ends up being pretty poor. I mean it's like the kind of frowned upon code comments such as "ignidx ignores the index; genpts generates PTS". No surprises there... but no real explanation, either.<p>What I'd love is for a real, technical explanation of what are the consequences of each flag, and more importantly, the kind of scenarios where they would make a desirable difference.<p>Especially for the case of recording live video that comes from an unreliable connection (RTP through UDP) <i>and storing it as-is (no transcoding whatsoever)</i>: what is the best, or recommended set of flags that FFmpeg authors would recommend? Given that packets can get lost, or timestamps can get garbled, UDP packets reordered in the network, or any combination of funny stuff.<p>For now I've sort of decided on using genpts+igndts and use_wallclock_as_timestamps, but all comes from intuition and simple tests, and not from actual evidence and guided by technical documentation of each flag.