How do I do the equivalent of this: pts = pts==504223732 ? 504219978 : pts; in '-bsf' in Windows? I can't figure it out. I've tried: -bsf setts=pts='eq(pts\,504223732)504219978' -bsf setts=pts='if(eq(pts\,504223732)\,504219978\,pts)' -bsf 'if(eq(pts\,504223732),setts=pts=504219978)' and many, many variations. There are zero usage examples in the docs. Correct structure and correct quote-usage and the scope of the various 'pts's (input -v- output) are unknown. Thanks! --Mark.
How do I do the equivalent of this: pts = pts==504223732 ? 504219978 : pts; in '-bsf' in Windows? I can't figure it out. I've tried: -bsf setts=pts='eq(pts\,504223732)504219978' -bsf setts=pts='if(eq(pts\,504223732)\,504219978\,pts)' -bsf 'if(eq(pts\,504223732),setts=pts=504219978)' -------------------------- It is probably a bug. In my codebase, we observed that the following statement was not working as of ffmpeg 4.3 or 4.4: -bsf:v setts=pts='if(eq(N,0),0,PTS)' We were able to use this workaround: -bsf:v setts=pts='not(not(N))*PTS' You might need to search for another type of workaround for your expression, I hope you find one.
On 31/05/2024 16.31, David Ing via ffmpeg-user wrote:
How do I do the equivalent of this:
pts = pts==504223732 ? 504219978 : pts;
in '-bsf' in Windows? I can't figure it out.
I've tried:
-bsf setts=pts='eq(pts\,504223732)504219978' -bsf setts=pts='if(eq(pts\,504223732)\,504219978\,pts)' -bsf 'if(eq(pts\,504223732),setts=pts=504219978)'
--------------------------
It is probably a bug. In my codebase, we observed that the following statement was not working as of ffmpeg 4.3 or 4.4:
-bsf:v setts=pts='if(eq(N,0),0,PTS)'
We were able to use this workaround:
-bsf:v setts=pts='not(not(N))*PTS'
You might need to search for another type of workaround for your expression, I hope you find one.
Thanks, David, It was the case: "pts" must be in capitals. This: -bsf setts=pts='if(eq(PTS\,504223732)\,504219978\,PTS)' worked (I think -- it's still running). Thanks again --Mark.
participants (2)
-
David Ing -
Mark Filipak