我正在尝试在带有 DSM 6.2 的 Synology NAS 上使用 ffmpeg 来创建我的 mp4 文件的波形。
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
但
ffmpeg -i aaa.mp4 -lavfi showwavespic=split_channels=1:s=1024x800 waveform.avi
运行良好,播放 wave.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
怎么了?谢谢。
答案1
尽管有上述评论,但单个图像甚至图像序列仍可能会被写出*。
ffmpeg -i aaa.mp4 -lavfi showwavespic=split_channels=1:s=1024x800 -c:v png -vframes 1 -f rawvideo waveform.png
由于图像编码器生成完整的包,因此多路复用器在这里是有点多余的。
对于序列,输出选项类似于下面的选项,
ffmpeg -i aaa.mp4 -c:v png -segment_time 0.01 -f segment images%d.png
*未经测试旧版本的 FFmpeg < 4.0。