imageio / imageio-ffmpeg

FFMPEG wrapper for Python
BSD 2-Clause "Simplified" License
237 stars 52 forks source link

Clarification on minimum requirements in terms of ffmpeg features #76

Open tvercaut opened 2 years ago

tvercaut commented 2 years ago

I was interested in getting a hardware accelerated version of ffmpeg running on google colab that I could use through imageio-ffmpeg.

I followed the steps discussed here to compile a minimal ffmpeg version with hardware acceleration on colab: https://pytorch.org/audio/stable/hw_acceleration_tutorial.html https://colab.research.google.com/drive/1DDah_IaGULEO66CfQWltRqaVheBkiXdN#sandboxMode=true

Unfortunately, this led to "broken pipe" issues. It took me a bit of time to track this down to features that were missing for compatibility with imageio-ffmpeg in the minimal ffmpeg configure step. Adding the following seems to work so far but I am not sure if this what should be recommended:

Some documentation about this and/or a short test function that checks the output of ffmpeg -demuxers, ffmpeg -muxers, ffmpeg -filters, ffmpeg -protocols and the like for the minimum set of features would be great.

almarklein commented 2 years ago

Hi, thanks for the interesting question. To be honest I'm not an expert on ffmpeg, so I wouldn't know the answer. My best guess is that list that you just compiled 😉. I am open to pull request to mention that list in the docs.

FirefoxMetzger commented 2 years ago

I also don't know what the minimum requirements on the ffmpeg binary, but you can try to use your compiled FFMPEG version and run the ImageIO test suite against it (using imageio-ffmpeg+custom binary as a plugin of ImageIO). If something breaks, you should get a fairly clear hint on what is missing ... or can ask here to clarify :)