[FFmpeg-user] How can I force a 360kHz time base?

pdr0 pdr0 at shaw.ca
Sat Feb 27 05:39:02 EET 2021


Mark Filipak (ffmpeg) wrote
> 
> Currently, the ffmpeg internal time base appears to be 1kHz. 

No. Again, there is no ffmpeg "inherent" 1ms time base. I answered this at
doom9 already. I also posted in your other thread demonstrated the timestamp
results with the same video in vob vs. mkv.  I suggest you prove it to
yourself - because your posting of the same misinformation does not help.
http://ffmpeg.org/pipermail/ffmpeg-user/2021-February/052118.html

Again,  the problem is your input video MKV container timebase. 1/1000s

Try it with vob, or mpeg-ts, or mpeg-ps. 1/90000s



> It doesn't have to be constant. It doesn't have to be 360000Hz. What I'm
> suggesting is that if it 
> *is* 360000Hz, that would make a single time base that works for
> everything. I'm not suggesting that 
> it be non-modifiable.
> <
> /quote]
> 
> You're suggesting to the wrong people. tbn is a function of the container
> timebase. You'd have to re-write MPEG2-TS, MPEG-PS, MKV, MOV, MP4, etc..
> ISO specs. ffmpeg is just following specs
> 
> If the intermediate filter calculations could use another finer timebase,
> ok , that might be useful for some situations - but you'd have to
> recalculate the original timestamps. You could not use the original data,
> which was already limited by the existing container timebase
> 
> <quote
> >
> I hoped that setting 'settb=expr=1/360000' would produce what I want, but
> it didn't because ffmpeg's 
> inherent 1 millisecond time base resolution superseded it. No matter what
> 'settb' is specified, the 
> PTS resolution is going to be 1 millisecond.

The precision is already lost when you started with mkv . Setting the tb
afterwards does not change the original values or add more precision that
was already lost. I

eg If you start with an actual timestamp of 0.001, how can you "guess" the
real value should have been 0.00127846336564 ? You can't directly. You can
infer values, or recalculate values using a given framerate, but those are
not actual timestamps in the actual file.

In order to salvage a MKV starting point, you'd have to use -vf fps to
reissue the timestamps. Or don't start with MKV



> The source video is a 5 second MKV clip from a commercial DVD.
> 
>>> [Parsed_showinfo_1 @ 00000211128f2340] n:   1 pts:  11880 pts_time:0.033  
>>> pos:    10052 
>>> fmt:yuv420p sar:32/27 s:240x236 i:P iskey:0 type:B checksum:3CF10BFE
>>> plane_checksum:[64208370 

Interesting.... s:240x236 would be a bizarre resolution for DVD. 




--
Sent from: http://ffmpeg-users.933282.n4.nabble.com/


More information about the ffmpeg-user mailing list