BUG: conversion specifiers parameter error
%H and %k should be different but they are not. (%H should be [00-23] and %k should be [0-23]) but they are same i tried at my box. i need %H properities, but there is something wrong.
i used
jpeg_filename Kamera%t-%Y%m%d%-H%M%S-%v
and
jpeg_filename Kamera%t-%Y%m%d%-k%M%S-%v
it always gives same output ( for 22 Feb 2008 08:13:45)
Kamera1-2008022281345-1
it should be
Kamera1-20080222081345-1
if you correct this please, it would be perfect. thank you
Environment
Motion version: |
3.2.9 |
ffmpeg version: |
cvs20070307-5ubuntu4 |
Shared libraries: |
ffmpeg, mysql, postgresql |
Server OS: |
Ubuntu 7.10 |
--
AhmetGEZER - 21 Feb 2008
Follow up
It would be really strange if this is really the case.
This feature is implemented by using the standard C function
strftime
so either your C lib has a bug or you are not really using the config file that you think you are using.
the
Kamera%t-%Y%m%d%-H%M%S-%v
should give
Kamera1-20080222-081345-1
so not only us the hour single digit but the dash is missing
--
KennethLavrsen - 23 Feb 2008
Some examples of strftime outputs :
strftime Kamera-%Y%m%d%H%M%S
Kamera-20080224012441
strftime Kamera-%Y%m%d%k%M%S
Kamera-20080224 12448
strftime Kamera-%Y%m%d-%k%M%S
Kamera-20080224- 12623
Kamera-%Y%m%d-%H%M%S
Kamera-20080224-012637
But be careful when use extra characters :
strfime Kamera-%Y%m%d%-H%M%S
Kamera-2008022412909
That's because no posix implementation of strftime allow some characters :
Glibc provides some extensions for conversion specifications.
(These extensions are not specified in POSIX.1-2001, but a few other systems provide similar features.)
Between the '%' character and the conversion specifier character, an optional _flag_ and field _width_
may be specified. (These precede the *E* or *O* modifiers, if present.)
The following flag characters are permitted:
*_* (underscore) Pad a numeric result string with spaces.
*-* (dash) Do not pad a numeric result string.
*0* Pad a numeric result string with zeros even if the conversion specifier character
uses space-padding by default.
*^* Convert alphabetic characters in result string to upper case.
*#* Swap the case of the result string. (This flag only works with certain conversion specifier
characters, and of these, it is only really useful with *%Z*.) An optional decimal width specifier
may follow the (possibly absent) flag. If the natural size of the field is smaller than this width,
then the result string is padded (on the left) to the specified width.
So according to strtime is the correct behaviour :
%Y%m%d%-H%M%S
%Y%m%d%-k%M%S
I think that you want :
%Y%m%d-%H%M%S 20080224-014457
or
%Y%m%d-%-k%M%S 20080224-14457
Hope this helps , let me know i
--
AngelCarpintero - 24 Feb 2008