Я пытаюсь использовать ffmpeg на Synology NAS с DSM 6.2 для создания формы сигнала моих файлов 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

работает хорошо, и я могу видеть волну во время игры 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

В чем дело? Спасибо.

1 ответ1

0

Несмотря на мой комментарий выше, отдельные изображения или даже последовательности изображений все еще могут быть записаны *.

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.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .