Echo do shortcode with custom field not working

the_field() prints the value, it doesn’t return the string, so you cannot use it in a variable. Use …

$video = get_field("video_file");

… instead.