To solve this:
1.
Add custom meta to each post which take youtube url( name of custom meta in code youtube).
2.
In index.php
loop:
while(have_posts()){
the_post();
//use [get_post_meta][3] to get youtube post meta
$youtube_img = 'http://img.youtube.com/vi/'.substr( get_post_meta($post-ID,'youtube') ).'/0.jpg';
//$youtube_img is your youtube video image url
echo '<a href="'.get_permalink().'">';
echo '<img src="'.$youtube_img.'" title="'.get_the_title().'" alt="youtube video image for'.get_the_title().'"/>';
echo'</a>';
}
3.
In single.php
loop (set iframe width as you design need)
<?php
while(have_posts()){
the_post();
//use [get_post_meta][3] to get youtube post meta
$youtube_link = get_post_meta($post-ID,'youtube');
?>
//$youtube_link is your youtube url
<iframe width="328" height="233" src="https://wordpress.stackexchange.com/questions/99840/<?php echo str_replace("watch?v=','embed/', $youtube_link); ?>" frameborder="0" allowfullscreen></iframe>'
<?php
}