小编Ale*_*ult的帖子

用于实时视频流的PHP + cURL(cURL可以使用无限数据吗?)

美好的一天!
我有视频服务器与客户正在通信的不同的流和服务器.我的目标是根据请求使脚本转到特定的流,获取一大块数据并将此块返回给客户端.
我的想法与类似:使用cURL进行授权,捕获一些原始数据并创建回调函数,以回显每个块的数据.

问题是我没有找到任何提及使用cURL的"无穷无尽的数据"; 当我用我的脚本尝试它时,它只是永远加载然后崩溃与来自nginx的504错误.
如果我使用buffersize和flush(),我不明白我的数据与"3000万字符长"之间cURL的区别.
没有更多介绍,这是我的代码:

public function callback($curl, $data)
{
    ob_get_clean();
    if (($data === false) || ($data == null))
    {
        throw new Exception (curl_error($curl) . " " . curl_errno($curl));
    }
    $length = strlen($data);
    header("Content-type: video/mp4");
    header("Transfer-encoding: chunked");
    header("Connection: keep-alive");
    header("Cache-Control: max-age=2592000, public");
    header("Expires: ".gmdate('D, d M Y H:i:s', time()+2592000) . ' GMT');
    header("Last-Modified: ".gmdate('D, d M Y H:i:s', @filemtime($this->path)) . ' GMT' );
    echo $data;
    ob_flush();
    flush();
    return $length;
}

public function getStreamChunk($camera_id)
{
    $url = …
Run Code Online (Sandbox Code Playgroud)

php curl video-streaming

5
推荐指数
1
解决办法
1465
查看次数

标签 统计

curl ×1

php ×1

video-streaming ×1