pict-converter now export datetime correctly (some pictures don't have right datetime in exif, why ?
This commit is contained in:
@@ -53,9 +53,9 @@ function convert {
|
|||||||
# SRC
|
# SRC
|
||||||
src="${pict/public_html\/pictures\//}"
|
src="${pict/public_html\/pictures\//}"
|
||||||
# TIME
|
# TIME
|
||||||
time="${pict/public_html\/pictures\/hehe-/}"
|
# time="${pict/public_html\/pictures\/hehe-/}"
|
||||||
time="${time/.jpg/}"
|
# time="${time/.jpg/}"
|
||||||
# time=`exiftool 2>/dev/null -S --DateTimeOriginal -p '$DateTimeOriginal' -d %Y/%m/%d-%T "$pict"`
|
time=`exiftool 2>/dev/null -S --DateTimeOriginal -p '$DateTimeOriginal' -d %Y-%m-%dT%T "$pict"`
|
||||||
# GPS
|
# GPS
|
||||||
gps=`exiftool 2>/dev/null -n -p '$GPSLatitude,$GPSLongitude' $pict`
|
gps=`exiftool 2>/dev/null -n -p '$GPSLatitude,$GPSLongitude' $pict`
|
||||||
|
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
<h1>Lot Explorer</h1>
|
<h1>Lot Explorer</h1>
|
||||||
</header>
|
</header>
|
||||||
<section id="pictures">
|
<section id="pictures">
|
||||||
<video autoplay poster="">
|
<video id="video" autoplay poster="">
|
||||||
<!-- <source class="240p" src="videos/timelaps-240p.mp4" type="video/mp4">
|
<!-- <source class="240p" src="videos/timelaps-240p.mp4" type="video/mp4">
|
||||||
<source class="360p" src="videos/timelaps-360p.mp4" type="video/mp4">
|
<source class="360p" src="videos/timelaps-360p.mp4" type="video/mp4">
|
||||||
<source class="480p" src="videos/timelaps-480p.mp4" type="video/mp4">
|
<source class="480p" src="videos/timelaps-480p.mp4" type="video/mp4">
|
||||||
|
|||||||
+3
-2
@@ -1,4 +1,5 @@
|
|||||||
|
|
||||||
$(document).ready(function(){var _timeline,_timeline_container=document.getElementById('timeline'),_tl_data_ar;function init(){console.log("Init");getMetaData();setupTimeline();};function getMetaData(){console.log('getMetaData');$.ajax({dataType:"json",url:'metadata/frames.json',success:setUpData});console.log('getMetaData END');};function setUpData(data){console.log("setUpData");console.log("data",data);var frame;for(var i in data.frames){console.log(data.frames[i]);_tl_data_ar.push({start:data.frames[i],end:,});}};function setupTimeline(){var items=new vis.DataSet([{id:1,content:'item 1',start:'2016-06-20'},{id:2,content:'item 2',start:'2016-06-14'},{id:3,content:'item 3',start:'2016-06-18'},{id:4,content:'item 4',start:'2016-06-16',end:'2015-06-19'},{id:5,content:'item 5',start:'2016-06-25'},{id:6,content:'item 6',start:'2016-06-27',type:'point'}]);_timeline=new vis.Timeline(_timeline_container,items,{});}
|
$(document).ready(function(){var _video=document.getElementById('video'),_fps=24;var _timeline,_timeline_container=document.getElementById('timeline'),_tl_data_ar=[],_tl_items;function init(){console.log("Init");getMetaData();};function getMetaData(){console.log('getMetaData');$.ajax({dataType:"json",url:'metadata/frames.json',success:setUpData});console.log('getMetaData END');};function setUpData(data){console.log("setUpData");var frame;for(var i in data.frames){console.log(data.frames[i]);_tl_data_ar.push({start:new Date(data.frames[i].time),id:data.frames[i].frame});}
|
||||||
function play(millis){requestAnimationFrame(play);}
|
setupTimeline();};function setupTimeline(){_tl_items=new vis.DataSet(_tl_data_ar);_timeline=new vis.Timeline(_timeline_container,_tl_items,{});_timeline.on('select',onSelectTimelineItem)}
|
||||||
|
function onSelectTimelineItem(props){console.log("onSelectTimelineItem",props);seekVideoTo(props.items[0]);};function seekVideoTo(f){console.log("seekVideoTo frame",f);_video.pause();_video.currentTime=f/_fps;};function play(millis){requestAnimationFrame(play);}
|
||||||
init();});
|
init();});
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
|
|
||||||
var _timeline, _timeline_container = document.getElementById('timeline'), _tl_data_ar;
|
var _video = document.getElementById('video'), _fps = 24;
|
||||||
|
var _timeline, _timeline_container = document.getElementById('timeline'), _tl_data_ar=[], _tl_items;
|
||||||
|
|
||||||
function init(){
|
function init(){
|
||||||
console.log("Init");
|
console.log("Init");
|
||||||
@@ -10,7 +11,7 @@ $(document).ready(function() {
|
|||||||
// play();
|
// play();
|
||||||
// }, 5000);
|
// }, 5000);
|
||||||
getMetaData();
|
getMetaData();
|
||||||
setupTimeline();
|
// setupTimeline();
|
||||||
};
|
};
|
||||||
|
|
||||||
function getMetaData(){
|
function getMetaData(){
|
||||||
@@ -28,37 +29,45 @@ $(document).ready(function() {
|
|||||||
|
|
||||||
function setUpData(data){
|
function setUpData(data){
|
||||||
console.log("setUpData");
|
console.log("setUpData");
|
||||||
console.log("data", data);
|
// console.log("data", data);
|
||||||
|
|
||||||
var frame;
|
var frame;
|
||||||
for (var i in data.frames) {
|
for (var i in data.frames) {
|
||||||
console.log(data.frames[i]);
|
console.log(data.frames[i]);
|
||||||
_tl_data_ar.push({
|
_tl_data_ar.push({
|
||||||
start:data.frames[i],
|
start:new Date(data.frames[i].time),
|
||||||
end:,
|
id:data.frames[i].frame
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setupTimeline();
|
||||||
};
|
};
|
||||||
|
|
||||||
function setupTimeline(){
|
function setupTimeline(){
|
||||||
|
|
||||||
// Create a DataSet (allows two way data-binding)
|
// Create a DataSet (allows two way data-binding)
|
||||||
var items = new vis.DataSet([
|
_tl_items = new vis.DataSet(_tl_data_ar);
|
||||||
{id: 1, content: 'item 1', start: '2016-06-20'},
|
|
||||||
{id: 2, content: 'item 2', start: '2016-06-14'},
|
|
||||||
{id: 3, content: 'item 3', start: '2016-06-18'},
|
|
||||||
{id: 4, content: 'item 4', start: '2016-06-16', end: '2015-06-19'},
|
|
||||||
{id: 5, content: 'item 5', start: '2016-06-25'},
|
|
||||||
{id: 6, content: 'item 6', start: '2016-06-27', type: 'point'}
|
|
||||||
]);
|
|
||||||
|
|
||||||
// Configuration for the Timeline
|
// Configuration for the Timeline
|
||||||
// var options = {};
|
// var options = {};
|
||||||
|
|
||||||
// Create a Timeline
|
// Create a Timeline
|
||||||
_timeline = new vis.Timeline(_timeline_container, items, {});
|
_timeline = new vis.Timeline(_timeline_container, _tl_items, {});
|
||||||
|
|
||||||
|
_timeline.on('select', onSelectTimelineItem)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function onSelectTimelineItem(props){
|
||||||
|
console.log("onSelectTimelineItem", props);
|
||||||
|
seekVideoTo(props.items[0]);
|
||||||
|
};
|
||||||
|
|
||||||
|
function seekVideoTo(f){
|
||||||
|
console.log("seekVideoTo frame", f);
|
||||||
|
_video.pause();
|
||||||
|
_video.currentTime = f/_fps;
|
||||||
|
};
|
||||||
|
|
||||||
function play(millis){
|
function play(millis){
|
||||||
requestAnimationFrame(play);
|
requestAnimationFrame(play);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user