Как перенаправить живой поток данных, добавив в него еще один заголовок и возвращая его по требованию?(PHP) - PullRequest
0 голосов
/ 23 мая 2010

У меня есть URL-адрес типа http://localhost:8020/stream.flv

По запросу в мой php sctipt я хочу вернуть (быть что-то вроде прокси) все данные, которые я могу получить по этому URL (поэтому я имею в виду, что мой код php долженполучить данные из этого URL-адреса и передать их пользователю), а также мой заголовок и мое начало файла.

Итак, у меня есть заголовок и некоторые данные, которые я хочу записать в начале ответа, например

# content headers
        header("Content-Type: video/x-flv");        
        # FLV file format header
        if($seekPos != 0) 
        {
        print('FLV');
        print(pack('C', 1));
        print(pack('C', 1));
        print(pack('N', 9));
        print(pack('N', 9));
    }

Как это сделать?

Ответы [ 3 ]

3 голосов
/ 23 мая 2010

Вот код, который я использовал для создания чего-то очень похожего, я также перенаправил все заголовки от исходного flv конечному пользователю, но вы можете просто удалить этот раздел, если хотите установить свой собственный.

$video = fopen(URL, "rb");

// Forward headers, $http_response_header is populated by fopen call
foreach ($http_response_header AS $header) {
    header($header);
}

// Output contents of flv
while (!feof($video)) {
    print (fgets($video));
}

fclose($video);
0 голосов
/ 23 мая 2010

Я сделал это, используя libcurl,

$url = 'http://localhost:8020/stream.flv';
$ch = curl_init();
curl_exec($ch);
curl_close($ch);
0 голосов
/ 23 мая 2010

См. Ручные записи для fopen и fread .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...