Когда этот скрипт запускается, изображение сохраняется в файл:
<?php
$url = "rtmp://109.71.162.112:1935/live/sd.jasminchannel.stream";
exec('avconv -i "'.$url.'" -ss 00:00:01 -t 1 -r 1 -f image2 "screenshot.jpg" 2>&1', $output, $status);
header("Content-type: image/png");
readfile("screenshot.jpg");
Хотелось бы, чтобы он был возвращен на экран (на лету означает, что он записывается в переменную, а не сохраняется в файл, а затем читает, отображает, удаляет этот файл):
<?php
$url = "rtmp://109.71.162.112:1935/live/sd.jasminchannel.stream";
exec('avconv -i "'.$url.'" -ss 00:00:01 -t 1 -r 1 -f image2 $variable 2>&1', $output, $status);
header("Content-type: image/png");
echo $variable;
Как я могу это сделать?
Я думаю, что это решит вашу проблему:
<?php
$url = "rtmp://109.71.162.112:1935/live/sd.jasminchannel.stream";
header("content-type: image/jpeg");
echo passthru('avconv -i "'.$url.'" -ss 00:00:01 -t 1 -r 1 -f image2 pipe:.jpg 2>/dev/null');
Это не проверено, но это должно работать. Я работал над похожей проблемой в:
https://gist.github.com/megasaturnv/a42ed77d3d08d0d3d91725dbe06a0efe
и с изображением в теге:
https://gist.github.com/megasaturnv/6e5965732d4cff91f2e976e7a39efbaa
Других решений пока нет …