You must open the file in binary mode to ensure file is saved to disk correctly.
$file = fopen($destination, "wb");
fwrite instead of fputs
video.mp4 downloads from the browser correctly. Maybe it is redirecting? If so the add this option.
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
If is still does not work then dump out this info and post it.