HTML5 プレーヤーを使用して Web サイトでビデオを再生しています。ビデオは CDN から取得されます。CURL を使用して CDN からファイルを取得していますが、ブラウザで再生しようとすると再生できないため、ファイルのヘッダーが正しく設定されていないと思います。
これが私のコードです:
if (!empty($path) && $path != null)
{
$ch = curl_init($path);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, true);
$data = curl_exec($ch);
curl_close($ch);
if ($data === false)
{
echo 'CURL Failed';
exit;
}
if (preg_match('/Content-Length: (\d+)/', $data, $matches))
{
$contentLength = (int) $matches[1];
}
header('Content-Transfer-Encoding: binary');
header('Content-Type: video/mp4');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Content-Length: ' . $contentLength);
ob_clean();
flush();
echo $data;
exit;
}
MP4 ファイルを再生できるようにヘッダーが正しく設定されていますか? 原因 URL をヒットしたときの動画が再生されません。ビデオ ファイルは MP4 で、このファイルを chrome で再生しようとしています (chrome は mp4 ファイルをサポートしています)。ファイルへの直接 URL アクセスはhttp://moviese.s3.amazonaws.com/videos/test7.mp4