function FfmpegVideoMimeType(const MimeType: string; const FfmpegOutput: boolean): boolean;
Does given MIME type looks like a video file extension that can be handled (encoded or decoded) by ffmpeg.
FfmpegOutput = True means that you want to encode this video (use this as output of ffmpeg). FfmpegOutput = False means you want to decode the video, that is use this as an input to ffmpeg.
function FfmpegExecutable(const ExceptionOnError: boolean): string;
Returns full path to ffmpeg-compatible executable.
When not found:
If ExceptionOnError then we raise an exception.
If not ExceptionOnError then we simply return ''.
procedure FfmpegExecute(const Executable: string; const Parameters: array of string);
Execute ffmpeg. 1st parameter must not be ''. It should usually be calculated by FfmpegExecutable.
This prevents using up all the memory by accidentaly trying to read a long movie. Remember that our current implementation is not suited for long movies, it will load very slowly and consume a lot of memory. See http://castle-engine.sourceforge.net/x3d_implementation_texturing.php notes about MovieTexture.
By default this is equal to 1 minute, for 25 frames-per-second movie. Even this can eat 2 GB for 640 x 350 resolution.