Html5视频流服务器要求

Html5视频流服务器要求,html,video,server,video-streaming,Html,Video,Server,Video Streaming,我正在开发一个使用html5视频标签的html5流媒体网站,我想知道我需要什么样的服务器以每秒4Mbsp的速率支持100个同步和不同的视频流。 还有,我需要什么样的硬盘或raid或其他什么来实现这一点。 我还需要记住,系统需要具有可伸缩性。 我看过AWS,但它似乎很贵。。。 感谢是进步。视频流场景中的繁重工作通常由CDN完成,CDN针对这一角色进行了大量优化。您想购买此服务,而不是构建它;David绝对正确地认为,构建、优化和维护您自己的基础架构的成本将高得令人望而却步。CDN将大量资源投入到工

我正在开发一个使用html5视频标签的html5流媒体网站,我想知道我需要什么样的服务器以每秒4Mbsp的速率支持100个同步和不同的视频流。 还有,我需要什么样的硬盘或raid或其他什么来实现这一点。 我还需要记住,系统需要具有可伸缩性。 我看过AWS,但它似乎很贵。。。
感谢是进步。

视频流场景中的繁重工作通常由CDN完成,CDN针对这一角色进行了大量优化。您想购买此服务,而不是构建它;David绝对正确地认为,构建、优化和维护您自己的基础架构的成本将高得令人望而却步。CDN将大量资源投入到工程解决方案中,以解决将大量数据快速传送到不同位置的问题。一句话:如果你对亚马逊服务的成本犹豫不决,你就无法承担设计自己的高性能边缘/原产地体系结构的费用


一些知名CDN包括Akamai、Amazon Cloudfront、Level3、BitGravity、Edgecast和LimeLight。尝试联系他们的销售部门,看看是否有人愿意为你做一笔好交易。

使用此代码在ios中播放和播放视频

<?
$file="abc.mp4";
@fread($file);
$file = $play;
$fp = @fopen($file, 'rb');



$size   = filesize($file); // File size
$length = $size;           // Content length
$start  = 0;               // Start byte
$end    = $size - 1;       // End byte

header('Content-type: video/mp4');
header("Accept-Ranges: 0-$length");
if (isset($_SERVER['HTTP_RANGE'])) {

    $c_start = $start;
    $c_end   = $end;

    list(, $range) = explode('=', $_SERVER['HTTP_RANGE'], 2);
    if (strpos($range, ',') !== false) {
        header('HTTP/1.1 416 Requested Range Not Satisfiable');
        header("Content-Range: bytes $start-$end/$size");
        exit;
    }
    if ($range == '-') {
        $c_start = $size - substr($range, 1);
    }else{
        $range  = explode('-', $range);
        $c_start = $range[0];
        $c_end   = (isset($range[1]) && is_numeric($range[1])) ? $range[1] : $size;
    }
    $c_end = ($c_end > $end) ? $end : $c_end;
    if ($c_start > $c_end || $c_start > $size - 1 || $c_end >= $size) {
        header('HTTP/1.1 416 Requested Range Not Satisfiable');
        header("Content-Range: bytes $start-$end/$size");
        exit;
    }
    $start  = $c_start;
    $end    = $c_end;
    $length = $end - $start + 1;
    fseek($fp, $start);
    header('HTTP/1.1 206 Partial Content');
}
header("Content-Range: bytes $start-$end/$size");
header("Content-Length: ".$length);


$buffer = 1024 * 8;
while(!feof($fp) && ($p = ftell($fp)) <= $end) {

    if ($p + $buffer > $end) {
        $buffer = $end - $p + 1;
    }
    set_time_limit(0);
    echo fread($fp, $buffer);
    flush();
}

fclose($fp);
exit();


}
?>


很抱歉,这里的硬件建议不在讨论范围之内。
我看过AWS,但它似乎很贵。
-然后试试他们的竞争对手。任何云解决方案都可能比构建自己的基础设施便宜一些数量级。我不明白:如果我考虑4Mbps×100个用户的流速(同时),我达到400 Mbps,即50 MB x秒,SSD HDD和1Gbps带宽应该达到我的目标,还是还有其他问题要考虑??是的。例如,当来自世界另一端的人来访时会发生什么?是从最初存储位置提供的内容。CDN有一个边缘/源(类似于交付/存储)体系结构,允许他们从不同于原始存储位置的位置交付文件。还有缓存。当来自同一地理位置的两个人(比如印度)观看两次视频时会发生什么?比特是否每次都必须通过海洋运输,或者对于第一个提出请求的人来说,昂贵的长途运输只能进行一次,然后让后续的观众从更本地的角度观看?问题是,确保比特(在大多数情况下)是由大量的工程技术参与的在收到请求后的很短时间内可用,无论请求来自全球何处。让事情神奇地“正常运转”所需的基础设施非常昂贵,而且难以构建和维护。除非你想让这成为你的生意,否则你最好还是从那些为这项事业付出了时间、金钱、工程和人际网络的人那里购买这项服务。