RomanSichkaruk / FFmpegGUI

Free video filter graph editor
GNU Lesser General Public License v2.1
43 stars 11 forks source link

Not working under ubuntu 20.04 and updated FFMpeg 4.2.4 #4

Open emrahtoy opened 3 years ago

emrahtoy commented 3 years ago

I have installed ubuntu 20.04, Qt4 and FFmpeg 4.2.4 as well as all the libraries needed ( libavfilter etc.. )

Unfortunately i couldnt pass error below;

g++ -c -m64 -pipe -fpermissive -std=c++0x -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -Isrc -I. -I. -o connectivity.o src/connectivity.cpp In file included from src/connectivity.cpp:24: src/connectivity.h:37:10: fatal error: libavfilter/avfiltergraph.h: No such file or directory 37 | #include "libavfilter/avfiltergraph.h" | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. make: *** [Makefile:363: connectivity.o] Error 1

Probably i am facing with a problem causing by version mismatch.

I would like to get help to make this project work with updated libraries, thank you.

PS : Ubuntu 20.04 works as WSL 2 under windows but i dont think that could make any difference.

sosie-js commented 2 years ago

What a pity, this project is unusuable intil this is fixed ---> SOLVED SEE BELOW

avfiltergraph.h was merged into avfilter.h, on ffmpeg commit 38f0c07(2013) https://source.ffmpeg.org/?p=ffmpeg.git;a=commit;h=38f0c0781a6e099f11c0acec07f9b8be742190c4

Please replace #include "libavfilter/avfiltergraph.h" to #include "libavfilter/avfilter.h" for files src/wire.h ,src/pad.h, src/player.h. src/pipeline.h, src/filtersWidget.h, src/filter.h, src/filtersList.h, src/view.h, src/mainwindow.h, src/pipelineParser.h, src/pipelineSaver.h as it causes builds to fail.

Now I get src/filtersWidget.h:28:10: fatal error: filter.h: missing src/filtersList.h:28:10: fatal error: filter.h: missing

include

this is #include "filter.h" instead

in inspectionWidget.cpp.cc, it is not setResizeMode in QT5 but setSectionResizeMode so we have: widget.tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);

src/wire.cpp:104:77: error: ‘AVFilterLink’ {aka ‘struct AVFilterLink’} has no member named ‘frame_count’; did you mean ‘frame_count_in’? etItem(2,1, new QTableWidgetItem(QString::number(ctx->outputs[idx]->frame_count))); I replaced by frame_count_in such as etItem(2,1, new QTableWidgetItem(QString::number(ctx->outputs[idx]->frame_count_in)));

and it compiles - WoW now I wonder if your toy could auto draw the graph from a ffmpeg input such as a discovery for learning how to built compelx filtters ! A good examples, I can not manage to run in python is https://gist.github.com/sosie-js/d4a63f16bda4589176ed19bb6b4f2eab BUT I CAN NOT SEE VAPOURSYNTH FILTER on the gui :(

sosie-js commented 2 years ago

I have installed ubuntu 20.04, Qt4 and FFmpeg 4.2.4 as well as all the libraries needed ( libavfilter etc.. )

Unfortunately i couldnt pass error below;

g++ -c -m64 -pipe -fpermissive -std=c++0x -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -Isrc -I. -I. -o connectivity.o src/connectivity.cpp In file included from src/connectivity.cpp:24: src/connectivity.h:37:10: fatal error: libavfilter/avfiltergraph.h: No such file or directory 37 | #include "libavfilter/avfiltergraph.h" | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. make: *** [Makefile:363: connectivity.o] Error 1

Probably i am facing with a problem causing by version mismatch.

I would like to get help to make this project work with updated libraries, thank you.

PS : Ubuntu 20.04 works as WSL 2 under windows but i dont think that could make any difference.

@emrahtoy ,

I released the version QT5+FFMPEG4 have a look Big thanks to @RomanSichkaruk for this project

PS: In Turkey they are practicing Falun Gong, the forbidden Qi Gong persecuted since 22 years by Chinese Communist Party who control and corrupt all countries including mine