I’m on Google Colab with L4 GPU. VideoIO.jl seems to run entirely on CPU despite L4 having hardware video decoders. Is there a setting somewhere?
EDIT: Make sure you have new enough versions, and something like this needed? “FFMPEG.exe(-h encoder=h264_nvenc
)”, i.e. it seems to have GPU support, by what I found here: Update to FFMPEG_jll 4.3.1 with optional nvidia hardware accelerated encoding by IanButterworth · Pull Request #32 · JuliaIO/FFMPEG.jl · GitHub
It has encode and decode for at least AC1, and likely more codecs, so make sure you de/encode to correct (supported) codec:
You mention “video encoding” in the title, but “video decoders” in the main text (so which are you interested in?). GPU hardware might only have the latter, and not the former? Or maybe at least the former not with VideoIO support?
I’m not sure if VideoIO supports both, either or neither, for GPUs that is, i.e. is that your question and then how?
L4 seems to mean Nvidia GPUs here (and they are supported if a package tries to support it actively, by depending on e.g. CUDA.jl directly or indirectly, and I did not see that done); and L4 in Colab w/TPUv2 support.
https://www.reddit.com/r/GoogleColab/comments/1c1r8aa/details_on_new_accelerators_l4_and_tpuv2/
VideoIO is based on FFMPEG.jl and FFMPEG has GPU support, just unclear if exposed by VideoIO, and then how, or should you use FFMPEG directly if not? That would likely not need CUDA.jl.