получение ошибки в инициализации комплексного фильтра ffmpeg - PullRequest
0 голосов
/ 12 марта 2019

Я пытаюсь создать приложение с использованием библиотеки ffmpeg, и это приложение будет масштабировать видео и показывать полосы громкости (с помощью фильтра showvolume) поверх масштабированного видео.

Когда я использую команду ffmpeg в то время, она работает как шарм, но почему-то я не могу заставить ее работать в программе c, пожалуйста, помогите мне решить эту проблему

Я пытаюсь установить сложный фильтр двумя разными способами:

  1. с использованием функции avfilter_graph_parse2
  2. вручную связать каждый фильтр

Метод 1 Ошибка:

[Parsed_showvolume_0 @ 0x1aca580] Format change is not supported Error while feeding the filtergraph

снимок экрана

график фильтра

Метод 2 Ошибка:

[afifo @ 0x9cd880] Format change is not supported Error while feeding the filtergraph

снимок экрана

график фильтра

C Код: main.c file

Версия ffmpeg:

ubuntu@ubuntu-VirtualBox:~/eclipse-workspace/compexFilterTest/Debug$ ffmpeg -version
ffmpeg version git-2018-07-11-bd8a5c6 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.1) 20160609
configuration: --enable-gpl --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-nonfree --enable-version3 --enable-pic --enable-libfreetype --enable-libfdk-aac --enable-openssl --enable-shared --enable-libass --enable-libvpx --enable-libx265 --enable-libtwolame
libavutil      56. 18.102 / 56. 18.102
libavcodec     58. 21.104 / 58. 21.104
libavformat    58. 17.101 / 58. 17.101
libavdevice    58.  4.101 / 58.  4.101
libavfilter     7. 25.100 /  7. 25.100
libswscale      5.  2.100 /  5.  2.100
libswresample   3.  2.100 /  3.  2.100
libpostproc    55.  2.100 / 55.  2.100
Команда CLI

ffmpeg:

ffmpeg -loglevel 40 -i test.ts  -filter_complex "[0:a]afifo,showvolume=w=240:h=20:o=1:f=0.50:r=25[vol0];nullsrc=size=320x240[base1];[0:v]fifo,setpts=PTS-STARTPTS,scale=320x240[w0h0];[w0h0][vol0]overlay=eval=0:x=280[w0h0a];[base1][w0h0a]overlay=shortest=1:eval=0" -vcodec h264 -profile:v main -level 4 -metadata service_provider=testScreenProvider  -metadata service_name=testScreen  -f mpegts -y test123.ts

Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...