我有一个动态存档(我的ftp空间上的文件夹),其中是从网络摄像头加载的图像。现在,我希望每次用户想要观看时都会创建一个简单的幻灯片或视频。 没有任何过渡选项或其他......我需要从相机拍摄的图像中建立一个siple timelapse。
我只是尝试这个http://www.maani.us/xml_slideshow/它工作正常(我可以使用php构建swf脚本的动态xml配置文件)但是我不能将时间转换设置为小于1秒......不是免费的......
任何简单的解决方案? (如果它更好,也是javascript ...) 感谢名单!
答案 0 :(得分:3)
如果您希望最终结果是视频文件,则可以执行类似于将一系列Google街景全景图转换为immersive time-lapse video时的操作。
这一切都是在服务器上使用PHP& ffmpeg的。以下是从original source缩小的示例代码。
ffmpeg命令:
$makeMovieFfmpeg = "ffmpeg -r 4 -f image2 -i dir/%d.jpg -s 800x600 -r 15 -s 800x600 -b 1500kbs myvideo.avi 2>&1";
说明:
-r 4 //input framerate of 4fps
-f image2 //invoke the image2 file demuxer since we're working with a series of images
-i //location of image files with applied pattern where %d represents numeric sequence
-s //input image size
-r //output framerate of 15fps
-s //output video size
-b //set the bitrate
2>&1 //redirects stderr to stdout in order to make output available to PHP
执行命令:
print_r (exec($makeMovieFfmpeg,$ret,$err));
答案 1 :(得分:0)
PHP只是一种字符串操作语言
您无法在PHP中创建幻灯片。它是服务器端语言。
答案 2 :(得分:0)
我认为你可以在这里创建一个GIF序列:
http://www.dreamincode.net/forums/topic/53942-create-gif-images-using-gd/
答案 3 :(得分:0)
这是我发现的最好的方式:简单快速
<HTML>
<HEAD>
<TITLE>Video</TITLE>
</HEAD>
<BODY BGCOLOR="#000000">
<img name="foto">
<SCRIPT LANGUAGE="JavaScript">
var Pic = new Array();
Pic[0] = '/images/image1.jpg'
Pic[1] = '/images/image2.jpg'
Pic[2] = '/images/image3.jpg'
//this part in real code is replaced with a PHP script that print image location dinamically
var t;
var j = 0;
var p = Pic.length;
var preLoad = new Array();
for (i = 0; i < p; i++) {
preLoad[i] = new Image();
preLoad[i].src = Pic[i];
}
//all images are loaded on client
index = 0;
function update(){
if (preLoad[index]!= null){
document.images['foto'].src = preLoad[index].src;
index++;
setTimeout(update, 1000);
}
}
update();
</script>
</BODY>
</HTML>
答案 4 :(得分:0)
Ffmpeg是您最好的解决方案。 https://www.ffmpeg.org/download.html
从图像创建幻灯片的快速方法是在命令
下运行<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<meta http-equiv="Content-Type" content="application/xml; charset=utf-8">
<meta name="viewport" content="initial-scale=1">
<html lang="en">
<head>
<title>GroupTrades</title>
<!-- CSS -->
<link type="text/css" href="css/ideaboard2.css" rel="stylesheet" media="screen">
</head>
<body>
<!-- ADD AN IDEA BOX -->
<div class="add_idea_box">
<div class="add_idea_box_left">
<div class="add_idea_box_left_top">
</div>
<div class="add_idea_box_left_bottom">
<div class="add_idea_box_left_bottom_row">
<div class="green_circle"></div>5 accepted
</div>
<div class="add_idea_box_left_bottom_row">
<div class="yellow_circle"></div>2 pending
</div>
<div class="add_idea_box_left_bottom_row">
<div class="red_circle"></div>3 rejected
</div>
</div>
</div>
<div class="add_idea_box_right">
<form method="post" action="dashboard.php">
<div class="add_idea_box_right_top">
<input type="hidden" name="group" value="<?echo $group;?>">
<input type="text" name="title" value="Title" autofocus>
<textarea value="idea" id="idea">Idea</textarea>
</div>
<div class="add_idea_box_right_bottom">
<input type="submit" id="Submit" name="Submit" value="Add Idea">
</div>
</form>
</div>
</div>
<br><br><br>
</body>
它将创建一个具有混合效果的幻灯片。
您可以查看下面的备忘录,了解其他效果https://github.com/letungit90/ffmpeg_memo