Here's your original snippet 1:
string.Format("<div style=\"width:{0}px;height:{1}px\" id='video1' class='flowplayer' data-swf='flowplayer.swf' data-ratio='0.4167'><video><source type='videoformat:{0}' src='VideoSource:{0}'/></video></div>", videoformat, width, height);
Here is your snippet 1 reformatted to make it readable:
string.Format(
@"<div style=""width:{0}px;height:{1}px"" id='video1' class='flowplayer' data-swf='flowplayer.swf' data-ratio='0.4167'>
<video>
<source type='videoformat:{0}' src='VideoSource:{0}'/>
</video></div>",
videoformat, width, height);
This makes the mistake more obvious: you're referencing argument 0 more than once, and only used three of the values you need. Do this instead:
string.Format(
@"<div style=""width:{0}px;height:{1}px"" id='video1' class='flowplayer' data-swf='flowplayer.swf' data-ratio='0.4167'>
<video>
<source type='videoformat:{2}' src='VideoSource:{3}'/>
</video></div>",
width, height, videoformat, VideoSource);
Also, don't forget to assign the result somewhere. Finally, to condense it back to match the original:
string result = string.Format("<div style=\"width:{0}px;height:{1}px\" id='video1' class='flowplayer' data-swf='flowplayer.swf' data-ratio='0.4167'><video><source type='videoformat:{2}' src='VideoSource:{3}'/></video></div>", width, height, videoformat, VideoSource);