0

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.

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

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.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.