If something is 'function', parentheses () are added. For example, fe.add_image()
If something is 'variable', no parentheses are added.
In this case, 'video_playing' is variable.
While not so obvious, error message "An error has occured [attempt to call 'bool']", also indicates that
(1) video_playing is 'bool' (bool is a kind of variable)
(2) but is specified in code as function, video_playing(), therefore error occured
Correct syntax would be:
local intro = fe.add_image("video.mp4", 0, 0, lw, lh);
intro.video_flags = Vid.NoLoop;
while(intro.video_playing)
{
//trying to show if the video is playing or not
print(intro.video_playing + "\n");
}