1

I'm trying to use ffmpeg on Synology NAS with DSM 6.2 to create waveform of my mp4 files.

ffmpeg -i aaa.mp4 -lavfi showwavespic=split_channels=1:s=1024x800 waveform.png

[NULL @ 0x24271e0] Unable to find a suitable output format for 'waveform.png' waveform.png: Invalid argument

but

ffmpeg -i aaa.mp4 -lavfi showwavespic=split_channels=1:s=1024x800 waveform.avi

working well and I can see wave while playing waveform.avi

ffmpeg version 2.7.1 Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 4.9.3 (crosstool-NG 1.20.0) 20150311 (prerelease)
  configuration: --prefix=/usr --incdir='${prefix}/include/ffmpeg' --arch=i686 --target-os=linux --cross-prefix=/usr/local/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu- --enable-cross-compile --enable-optimizations --enable-pic --enable-gpl --enable-shared --disable-static --enable-version3 --enable-nonfree --enable-libfaac --enable-encoders --enable-pthreads --disable-bzlib --disable-protocol=rtp --disable-muxer=image2 --disable-muxer=image2pipe --disable-swscale-alpha --disable-ffserver --disable-ffplay --disable-devices --disable-bzlib --disable-altivec --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libmp3lame --disable-vaapi --disable-decoder=amrnb --disable-decoder=ac3 --disable-decoder=ac3_fixed --disable-encoder=zmbv --disable-encoder=dca --disable-encoder=ac3 --disable-encoder=ac3_fixed --disable-encoder=eac3 --disable-decoder=dca --disable-decoder=eac3 --disable-decoder=truehd --cc=/usr/local/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-ccache-gcc --enable-yasm --enable-libx264 --enable-encoder=libx264
  libavutil      54. 27.100 / 54. 27.100
  libavcodec     56. 41.100 / 56. 41.100
  libavformat    56. 36.100 / 56. 36.100
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 16.101 /  5. 16.101
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.100 /  1.  2.100
  libpostproc    53.  3.100 / 53.  3.100

What's wrong? Thank you.

4
  • You're using a very old version of ffmpeg. Commented Nov 14, 2018 at 10:50
  • 1
    Your build has --disable-muxer=image2. No PNGs can't be written. Just get a recent static build.
    – Gyan
    Commented Nov 14, 2018 at 11:06
  • Did you compile this or was it provided by Synology?
    – llogan
    Commented Nov 14, 2018 at 19:41
  • Pre-installed on DS918+ with DSM 6.2.1-23824 Update 1
    – mikejus
    Commented Nov 15, 2018 at 9:02

1 Answer 1

1

Despite my comment above, single images or even image sequences may still be written out*.

ffmpeg -i aaa.mp4 -lavfi showwavespic=split_channels=1:s=1024x800 -c:v png -vframes 1 -f rawvideo waveform.png

Since the image encoder generates the full package, the muxer is sort of redundant here.

For sequences, output options similar to the ones below,

ffmpeg -i aaa.mp4 -c:v png -segment_time 0.01 -f segment images%d.png

*not tested with old versions of FFmpeg < 4.0.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .