Getting the Video Examples to run

Hello everybody, hello Daniel,

I want to have a look at the video engine and the video examples. I tried it both on Mac and Windows and ran into some problems. Forgive me, if my questions are stupid. I know I still have to learn a lot.
So….The steps a did so far are:

  • on my Mac I installed ffmpeg via brew
  • on my windows machine I installed the pre-compiled binaries
  • I cloned „https://github.com/ffAudio/VideoExamples.git“ to a working directory
  • used the Projucer to create XCode and VS projects
  • tried to compile on both machines. On both machines it would not compile

On my Mac I got the following message:
error: /Users/…/VideoExamples/modules/foleys_video_engine/libs/MacOSX/x86_64: No such file or directory (in target ‘VideoPlayer - App’ from project ‘VideoPlayer’)

To me it appears as Xcode was not able to compile the video engine, which is why there is no folder with that name. What did I miss?

On my PC I ran in a different message:
C:\Users\…\VideoExamples\modules\foleys_video_engine\ReadWrite\FFmpeg\foleys_FFmpegHelpers.h(45,10): fatal error C1083: Datei (Include) kann nicht geöffnet werden: “libavutil/pixdesc.h”: No such file or directory (Quelldatei wird kompiliert …..\JuceLibraryCode\include_foleys_video_engine.cpp)

To me this looks like VS can’t find some ffmpeg files. Was it wrong to use the pre-compiled binaries?

Thanks
Clemens

Hello Clemens,

The Projucer support hasn’t been updated as recently as the CMake scripts. I’ll include CMake instructions below, but if you’d like to try the Projucer again, you can try building ffmpeg from source by running:

./scripts/build_ffmpeg_osx.sh

We have recently put some energy into the video engine’s CMake support, which is better able to find preinstalled copies of ffmpeg. If you wouldn’t mind trying CMake, you can install it using:

pip install cmake

and then from the video examples repository, checkout the cmake branch of foleys_video_engine by running:

cd modules/foleys_video_engine
git checkout feature/cmake
git pull

then, from the VideoExamples root you can build by running:

cmake -B Builds
cmake --build Builds

I haven’t tried the Projucer build of VideoExamples as recently, but I can give it a look if you don’t have any luck with the CMake build. I consider CMake to be more robust for building fussy dependencies like ffmpeg in a cross-platform manner, but ffmpeg is particularly difficult to wrangle.

1 Like

Thanks for your reply! By now i figured out, that most of my problems had to do with my “copy” of FFmpeg. There also were errors, because I used a newer version of FFmpeg (deprecated functions, etc.) I spend the last weeks compiling FFmpeg myself (Mac and Windows) in order to have libraries that i can succesfully link. Right now i am setting up a testproject to learn FFmpeg. As soon as i feel that i learned enough i may give the engine another try!

After some month of learning and hacking I was able to come up with my own video component. If you are interested, have a look here.
The project also contains a guide on compiling/linking FFmpeg, which is kind of the solution to my problem above.
Thanks for the help!

Hey Clemens, great work! I like your building documentation, much cleaner than mine.

Can I interest you in collaborating? Feel free to DM me :slight_smile: