What happens on the user’s side is off topic as @bungeshea said already. Once the user has loaded the file it will stay in the browser cache for a while, so you don’t have to worry about double loaded files anyway.
But let’s look at the server side and how WordPress handles this.
If you want to load a script on every page you just hook into
add_action( 'wp_enqueue_scripts', 'load_fitvid' );
wp_register_script( 'fitvid', plugins_url('/fitvid.js', __FILE__) );
wp_enqueue_script( 'fitvid' );
If you want to load the script only if there is a YouTube video, you have to hook into
the_content, search for URLs with a host name
youtu.be, check if
WP_Embed::autoembed is activated (this converts URLs into embeds) and load the script if all these conditionals evaluate to
This is slower. It is not very safe too: the default handler for videos might be overridden and run later than your content parser.
So: yes, there is a difference. I would use the simple method in your situation. If just 1% of all posts had a video … well this would be a different situation. I would hook into
save_post then and update a custom meta value
load_fitvid. On the front-end I’d test that value (much faster) and load the script then. But this is rather difficult to implement with existing posts.