Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#4609 closed defect (invalid)

webp muxer seeks backwards

Reported by: ronag Owned by:
Priority: normal Component: avformat
Version: git-master Keywords: webp
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

The webp muxer needs to seek backwards.

Currently when e.g. outputting to a pipe the output will be corrupt.

ffmpeg -i file.png -f webp - > test.webp

Should probably throw an error at least?

Though, I believe it should be possible to implement the muxer in such a way that it doesn't write to output until the header has all required information.

Change History (5)

comment:1 Changed 3 years ago by cehoyos

  • Keywords muxer removed

Please provide the command line that allows to reproduce the issue together with the complete, uncut console output to make this a valid ticket, use ffmpeg -f lavfi -i testsrc -vframes 1

comment:2 Changed 3 years ago by ronag

$ ffmpeg -f lavfi -i testsrc -frames:v 1 -f webp - > test.webp
ffmpeg version 2.6.3 Copyright (c) 2000-2015 the FFmpeg developers
  built with Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/2.6.3 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-libx264 --enable-libmp3lame --enable-libvo-aacenc --enable-libxvid --enable-libfreetype --enable-libvorbis --enable-libvpx --enable-librtmp --enable-ffplay --enable-libfdk-aac --enable-libopus --enable-libwebp --enable-nonfree --enable-vda
  libavutil      54. 20.100 / 54. 20.100
  libavcodec     56. 26.100 / 56. 26.100
  libavformat    56. 25.101 / 56. 25.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 11.102 /  5. 11.102
  libavresample   2.  1.  0 /  2.  1.  0
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  3.100 / 53.  3.100
Input #0, lavfi, from 'testsrc':
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: rawvideo (RGB[24] / 0x18424752), rgb24, 320x240 [SAR 1:1 DAR 4:3], 25 tbr, 25 tbn, 25 tbc
Output #0, webp, to 'pipe:':
  Metadata:
    encoder         : Lavf56.25.101
    Stream #0:0: Video: webp (libwebp), bgra, 320x240 [SAR 1:1 DAR 4:3], q=2-31, 200 kb/s, 25 fps, 1k tbn, 25 tbc
    Metadata:
      encoder         : Lavc56.26.100 libwebp
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> webp (libwebp))
Press [q] to stop, [?] for help
[libwebp @ 0x7fe3fc806600] Using libwebp for RGB-to-YUV conversion. You may want to consider passing in YUV instead for lossy encoding.
frame=    1 fps=0.0 q=-1.0 Lsize=       3kB time=00:00:00.04 bitrate= 605.6kbits/s    
video:3kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.132275%
Last edited 3 years ago by ronag (previous) (diff)

comment:3 Changed 3 years ago by cehoyos

(I cannot reproduce the issue here.)
Please test current FFmpeg git head.

comment:4 Changed 3 years ago by ronag

  • Resolution set to fixed
  • Status changed from new to closed

I can also verify that it works with current head.

comment:5 Changed 3 years ago by cehoyos

  • Resolution changed from fixed to invalid

Thank you for testing again!

Note: See TracTickets for help on using tickets.