Conditional featured image with youtube thumbnail

There are three problems

1. echo and php tags within an echo

Change your first echo from:

 echo '<img src="http://img.youtube.com/vi/<?php echo get_post_meta($post->ID,'video_url',true);?>/0.jpg"/>';

to this:

 echo '<img src="http://img.youtube.com/vi/' . get_post_meta($post->ID,'video_url',true) . '/0.jpg"/>';

2. if statement not wrapped and no brackets

change:

 if get_post_meta($post->ID,'video_url',true)

to:

 if (get_post_meta($post->ID,'video_url',true))

and add {} around that code block:

if (get_post_meta($post->ID,'video_url',true)) {
    echo '<img src="http://img.youtube.com/vi/' . get_post_meta($post->ID,'video_url',true) . '/0.jpg"/>';
        // Check if the post has a Post Thumbnail assigned to it
}

3. else instead of elseif

the first else should be an elseif. so change:

else ( has_post_thumbnail() ) {

to:

elseif ( has_post_thumbnail() ) {

Hope that is all of them. In the future try using a tool such as PHP Code Checker to check your code.