从单独下载的 JPEG 创建影片时帧速率太慢
Frame rate too slow when creating movie from individually-downloaded JPEGs
我有一个目录,里面不断填充jpg图像。我想像在网页中的电影一样显示这些图像。
我尝试的是:
function slideit() {
$.get("test.php", function(show) { if(show != "") {
document.getElementById("movie").innerHTML="<img src='"data:image/jpg;base64," + show + "'" />",
setTimeout('slideit()', 0) } } ); };
该 PHP 文件是
function getrunpic()
{
$file=trim(shell_exec('ls directory | sort -n | grep jpg | head -1'));
$file="directory/".$file;
$imagedata = file_get_contents($file);
$pic = base64_encode($imagedata);
unlink($file);
return $pic;
}
echo getrunpic();
我也尝试过使用 JSON 编码。
问题是从php到javascript的数据传输时间太长了。(每秒仅显示约8张照片;我需要 25)。
有没有人有让这个过程更快的想法?
提前致谢
这不是
要走的路。您应该在服务器端创建电影,然后在客户端流式传输它。这是利用编解码器的最基本功能(如压缩、关键帧等)并能够保证至少对查看器具有一定一致性的唯一方法。
请参阅:使用 PHP 创建视频文件
我不认为这将是"从 php 到 javascript"的转移 - 它更有可能是从服务器到浏览器的转移导致问题。要每秒发出 25 个单独的 HTTP 请求,每个请求需要在 40 毫秒内完成(尽管对于并发浏览器连接和重叠请求,您可能会稍微长一点)。
加载 yahoo.com 的主页并查看 Firebug 的"网络"面板,过滤后仅显示对图像的 HTTP 请求,平均请求显示以下次数:
- 1ms 阻塞
- 1 毫秒域名解析查找
- 125毫秒连接
- 124毫秒等待
- 116毫秒接收
。这意味着您总是很难使用单个请求获得 25 帧/秒。
您是否考虑过使用流媒体(视频)格式?mediacollege.com 有一些教程,在这个维基百科页面上有更多信息。
相关文章:
- 正在从帧创建时间代码
- 在webrtc中实时控制视频发送帧速率
- 动画的可接受帧速率有多高
- 如何在javascript中将小数转换为帧速率指定
- 更改纸张中的帧速率.js
- 动态.JS精灵表帧速率在每个事件上加倍
- Nodejs - 防止 socket.io 降低帧速率
- 在javascript中获取视频的帧速率
- Ajax Iframe 创建(Spotify widget):x 帧错误
- 在javascript中获取用户的帧速率
- 从单独下载的 JPEG 创建影片时帧速率太慢
- 当 iframe 位于视口中时,如何获得低帧速率
- Javascript - 无法调整帧速率 - 请求动画帧
- JS 请求动画帧帧速率
- 我可以查询requestAnimationFrame帧速率上限吗
- 尽管在WebGL中进行了优化,但帧速率较低
- 以有限的帧速率请求动画帧
- CreateJS:Firefox中的帧速率很差/很奇怪
- 在画布上播放精灵表比帧速率慢
- 有没有可能在javascript中找到监视器帧速率是多少