[FFmpeg-trac] #1452(avformat:reopened): image2 to support %t

FFmpeg trac at avcodec.org
Sat Jun 19 00:41:16 EEST 2021


#1452: image2 to support %t
-------------------------------------+------------------------------------
             Reporter:  burek        |                    Owner:  (none)
                 Type:  enhancement  |                   Status:  reopened
             Priority:  wish         |                Component:  avformat
              Version:  git-master   |               Resolution:
             Keywords:  image2       |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+------------------------------------
Comment (by Alex):

 I tried the old patch with new locations but first failed in building.
 Part of this is because the patch locations are pretty old and another is
 that I know nothing about C.
 I see that there were some API changes in
 [https://github.com/FFmpeg/FFmpeg/blob/06d174e289eb185f03a34a738965f0042f39c038/doc/APIchanges#L884
 APIchanges#L884]
 {{{
 2016-04-11 - 6f69f7a / 9200514 - lavf 57.33.100 / 57.5.0 - avformat.h
   Add AVStream.codecpar, deprecate AVStream.codec.
 }}}
 which causes some errors in `libavformat/img2enc.c` for the line:
 {{{
  AVCodecContext *codec = stream->codec;
 }}}
 But looking at this line I don't understand what the added `AVCodecContext
 *codec` was trying to do here since I don't see it referenced elsewhere.

 I also came across this
 [https://github.com/FFmpeg/FFmpeg/blob/dcb285d2b7d126c80fad6079400a904e813442c1/Changelog#L1236
 Changelog#L1236] line from 2011  which shows
 {{{
   AVCodecContext deprecated. Codec private options should be used instead.
 }}}
 So I have no idea what that is about, considering that it's before this
 patch was created it can likely be ignored.

 Removing that line all together did not cause any immediate issues AFAICT.
 I was able to build it with a modified patch and tested with
 {{{
 ffmpeg -skip_frame nokey -i test.mp4 -vsync 0 -r 30 -f image2
 thumbnails-%t.png
 }}}

 **NOTE:** There was a bug with the patch in that the first frame would be
 missing the timestamp.
 I suspect this was caused by
 {{{
 if (ts < 1)
   goto fail;
 }}}
 So I changed the `1` to a `0`.
 This seemed to fix the issue with my command and hopefully has no negative
 implications but I don't promise anything.
-- 
Ticket URL: <https://trac.ffmpeg.org/ticket/1452#comment:11>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list